2 // Open Service Platform
3 // Copyright (c) 2012-2013 Samsung Electronics Co., Ltd.
5 // Licensed under the Flora License, Version 1.0 (the License);
6 // you may not use this file except in compliance with the License.
7 // You may obtain a copy of the License at
9 // http://floralicense.org/license/
11 // Unless required by applicable law or agreed to in writing, software
12 // distributed under the License is distributed on an AS IS BASIS,
13 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 // See the License for the specific language governing permissions and
15 // limitations under the License.
19 * @fileFUi_AccessibilityTtsPlayer.h
20 * @brief This is the header file for the _AccessibilityTtsPlayer class.
22 * This header file contains the declarations of the _AccessibilityTtsPlayer class.
25 #ifndef _FUI_INTERNAL_ACCESSIBILITY_TTS_PLAYER_H_
26 #define _FUI_INTERNAL_ACCESSIBILITY_TTS_PLAYER_H_
29 #include <FBaseResult.h>
30 #include <FUiAccessibilityTypes.h>
32 namespace Tizen { namespace Base
36 namespace Tizen { namespace Locales
40 namespace Tizen { namespace Ui
42 class _AccessibilityManager;
44 class _AccessibilityTtsPlayer
47 _AccessibilityTtsPlayer(_AccessibilityManager& manager);
48 virtual ~_AccessibilityTtsPlayer(void);
49 result Construct(void);
50 result ReadGrammar(const Tizen::Base::String& grammar, bool init = true);
51 result StopReading(void);
53 AccessibilityScreenReaderStatus GetStatus(void);
54 Tizen::Base::String GetCurrentGrammar(void);
56 void OnStatusChanged(AccessibilityScreenReaderStatus status);
57 void OnErrorOccurred(Tizen::Base::String& errorString);
58 result Activate(void);
59 result Deactivate(void);
60 result SetLocale(const Tizen::Locales::Locale& locale);
62 void SetStatus(AccessibilityScreenReaderStatus status);
64 static const char* GetEngineStateMessage(const tts_state_e state);
65 static const char* GetEngineErrorMessage(const int errorType);
66 static void TtsStateChangedReceiver(tts_h ttsHandle, tts_state_e previousState, tts_state_e currentState, void* pTtsInstance);
67 static void TtsStartedReceiver(tts_h ttsHandle, int utteranceId, void* pListener);
68 static void TtsCompletedReceiver(tts_h ttsHandle, int utteranceId, void* pTtsInstance);
69 static void TtsErrorReceiver(tts_h ttsHandle, int ttsUtteranceId, tts_error_e error, void* pTtsInstance);
70 static bool TtsSupportedLocaleListGetter(tts_h ttsHandle, const char* pLanguage, tts_voice_type_e voiceType, void* pLocaleList);
71 static const char* ConvertTizenLocaleToEngineN(const Tizen::Locales::Locale& locale);
72 static const Tizen::Locales::Locale* ConvertEngineLocaleToNativeN(const Tizen::Base::String& strSource);
73 result Speak(const Tizen::Base::String& text);
77 Tizen::Locales::Locale GetLocale(void) const;
78 const Tizen::Base::Collection::IList* GetSupportedLocales(void) const;
79 bool IsLocaleSupported(const Tizen::Locales::Locale& locale) const;
80 result SetSpeechRate(tts_speed_e speechRate);
83 _AccessibilityTtsPlayer(const _AccessibilityTtsPlayer& rhs);
84 _AccessibilityTtsPlayer& operator =(const _AccessibilityTtsPlayer& rhs);
92 AccessibilityScreenReaderStatus __status;
93 Tizen::Base::String __grammar;
94 Tizen::Locales::Locale* __pCurrentLocale;
95 Tizen::Base::Collection::IList* __pSupportedLocaleList;
96 _AccessibilityManager* __pManager;
97 }; //class _AccessibilityTtsPlayer
100 #endif //_FUI_INTERNAL_ACCESSIBILITY_TTS_PLAYER_H_