blob: 73fc887a4ea13ecdf9a9cdbaf26b1c06d1c046e5 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
|
// Copyright (c) 2010 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef CHROME_BROWSER_EXTENSIONS_EXTENSION_TTS_API_H_
#define CHROME_BROWSER_EXTENSIONS_EXTENSION_TTS_API_H_
#include "chrome/browser/extensions/extension_function.h"
#include "chrome/browser/extensions/extension_tts_api_util.h"
// Abstract class that defines the native platform TTS interface.
class ExtensionTtsPlatformImpl {
public:
static ExtensionTtsPlatformImpl* GetInstance();
// Speak the given utterance with the given parameters if possible,
// and return true on success. Utterance will always be nonempty.
// If the user does not specify the other values, language and gender
// will be empty strings, and rate, pitch, and volume will be -1.0.
virtual bool Speak(
const std::string& utterance,
const std::string& language,
const std::string& gender,
double rate,
double pitch,
double volume) = 0;
// Stop speaking immediately and return true on success.
virtual bool StopSpeaking() = 0;
// Return true if the synthesis engine is currently speaking.
virtual bool IsSpeaking() = 0;
virtual std::string error() { return error_; }
virtual void clear_error() { error_ = std::string(); }
virtual void set_error(const std::string& error) { error_ = error; }
protected:
ExtensionTtsPlatformImpl() {}
virtual ~ExtensionTtsPlatformImpl() {}
std::string error_;
DISALLOW_COPY_AND_ASSIGN(ExtensionTtsPlatformImpl);
};
//
// Extension API function definitions
//
class ExtensionTtsSpeakFunction : public SyncExtensionFunction {
~ExtensionTtsSpeakFunction() {}
virtual bool RunImpl();
DECLARE_EXTENSION_FUNCTION_NAME("experimental.tts.speak")
};
class ExtensionTtsStopSpeakingFunction : public SyncExtensionFunction {
~ExtensionTtsStopSpeakingFunction() {}
virtual bool RunImpl();
DECLARE_EXTENSION_FUNCTION_NAME("experimental.tts.stop")
};
class ExtensionTtsIsSpeakingFunction : public SyncExtensionFunction {
~ExtensionTtsIsSpeakingFunction() {}
virtual bool RunImpl();
DECLARE_EXTENSION_FUNCTION_NAME("experimental.tts.isSpeaking")
};
#endif // CHROME_BROWSER_EXTENSIONS_EXTENSION_TTS_API_H_
|