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. 4 5 #include "chrome/browser/speech/tts_extension_loader_chromeos.h" 6 #include "chrome/browser/speech/tts_platform.h" 7 8 // Chrome OS doesn't have native TTS, instead it includes a built-in 9 // component extension that provides speech synthesis. This class includes 10 // an implementation of LoadBuiltInTtsExtension and dummy implementations of 11 // everything else. 12 class TtsPlatformImplChromeOs 13 : public TtsPlatformImpl { 14 public: 15 // TtsPlatformImpl overrides: 16 virtual bool PlatformImplAvailable() OVERRIDE { 17 return false; 18 } 19 20 virtual bool LoadBuiltInTtsExtension(Profile* profile) OVERRIDE { 21 return TtsExtensionLoaderChromeOs::GetInstance(profile)->LoadTtsExtension(); 22 } 23 24 virtual bool Speak( 25 int utterance_id, 26 const std::string& utterance, 27 const std::string& lang, 28 const VoiceData& voice, 29 const UtteranceContinuousParameters& params) OVERRIDE { 30 return false; 31 } 32 33 virtual bool StopSpeaking() OVERRIDE { 34 return false; 35 } 36 37 virtual void Pause() OVERRIDE {} 38 39 virtual void Resume() OVERRIDE {} 40 41 virtual bool IsSpeaking() OVERRIDE { 42 return false; 43 } 44 45 virtual void GetVoices(std::vector<VoiceData>* out_voices) OVERRIDE { 46 } 47 48 // Get the single instance of this class. 49 static TtsPlatformImplChromeOs* GetInstance(); 50 51 private: 52 TtsPlatformImplChromeOs() {} 53 virtual ~TtsPlatformImplChromeOs() {} 54 55 friend struct DefaultSingletonTraits<TtsPlatformImplChromeOs>; 56 57 DISALLOW_COPY_AND_ASSIGN(TtsPlatformImplChromeOs); 58 }; 59 60 // static 61 TtsPlatformImpl* TtsPlatformImpl::GetInstance() { 62 return TtsPlatformImplChromeOs::GetInstance(); 63 } 64 65 // static 66 TtsPlatformImplChromeOs* 67 TtsPlatformImplChromeOs::GetInstance() { 68 return Singleton<TtsPlatformImplChromeOs>::get(); 69 } 70