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. 12class 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 61TtsPlatformImpl* TtsPlatformImpl::GetInstance() { 62 return TtsPlatformImplChromeOs::GetInstance(); 63} 64 65// static 66TtsPlatformImplChromeOs* 67TtsPlatformImplChromeOs::GetInstance() { 68 return Singleton<TtsPlatformImplChromeOs>::get(); 69} 70