Disable view source for Developer Tools.
[chromium-blink-merge.git] / chrome / browser / speech / extension_api / tts_extension_api.h
bloba8f3c192625ba655871d191d48e18f509c112789
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef CHROME_BROWSER_SPEECH_EXTENSION_API_TTS_EXTENSION_API_H_
6 #define CHROME_BROWSER_SPEECH_EXTENSION_API_TTS_EXTENSION_API_H_
8 #include <string>
10 #include "chrome/browser/extensions/api/profile_keyed_api_factory.h"
11 #include "chrome/browser/extensions/chrome_extension_function.h"
12 #include "chrome/browser/speech/tts_controller.h"
14 class Profile;
16 const char *TtsEventTypeToString(TtsEventType event_type);
17 TtsEventType TtsEventTypeFromString(const std::string& str);
19 namespace extensions {
21 class TtsSpeakFunction : public ChromeAsyncExtensionFunction {
22 private:
23 virtual ~TtsSpeakFunction() {}
24 virtual bool RunImpl() OVERRIDE;
25 DECLARE_EXTENSION_FUNCTION("tts.speak", TTS_SPEAK)
28 class TtsStopSpeakingFunction : public ChromeSyncExtensionFunction {
29 private:
30 virtual ~TtsStopSpeakingFunction() {}
31 virtual bool RunImpl() OVERRIDE;
32 DECLARE_EXTENSION_FUNCTION("tts.stop", TTS_STOP)
35 class TtsPauseFunction : public ChromeSyncExtensionFunction {
36 private:
37 virtual ~TtsPauseFunction() {}
38 virtual bool RunImpl() OVERRIDE;
39 DECLARE_EXTENSION_FUNCTION("tts.pause", TTS_PAUSE)
42 class TtsResumeFunction : public ChromeSyncExtensionFunction {
43 private:
44 virtual ~TtsResumeFunction() {}
45 virtual bool RunImpl() OVERRIDE;
46 DECLARE_EXTENSION_FUNCTION("tts.resume", TTS_RESUME)
49 class TtsIsSpeakingFunction : public ChromeSyncExtensionFunction {
50 private:
51 virtual ~TtsIsSpeakingFunction() {}
52 virtual bool RunImpl() OVERRIDE;
53 DECLARE_EXTENSION_FUNCTION("tts.isSpeaking", TTS_ISSPEAKING)
56 class TtsGetVoicesFunction : public ChromeSyncExtensionFunction {
57 private:
58 virtual ~TtsGetVoicesFunction() {}
59 virtual bool RunImpl() OVERRIDE;
60 DECLARE_EXTENSION_FUNCTION("tts.getVoices", TTS_GETVOICES)
63 class TtsAPI : public ProfileKeyedAPI {
64 public:
65 explicit TtsAPI(Profile* profile);
66 virtual ~TtsAPI();
68 // Convenience method to get the TtsAPI for a profile.
69 static TtsAPI* Get(Profile* profile);
71 // ProfileKeyedAPI implementation.
72 static ProfileKeyedAPIFactory<TtsAPI>* GetFactoryInstance();
74 private:
75 friend class ProfileKeyedAPIFactory<TtsAPI>;
77 // ProfileKeyedAPI implementation.
78 static const char* service_name() {
79 return "TtsAPI";
81 static const bool kServiceIsNULLWhileTesting = true;
84 } // namespace extensions
86 #endif // CHROME_BROWSER_SPEECH_EXTENSION_API_TTS_EXTENSION_API_H_