Tizen 2.1 base
[framework/osp/uifw.git] / src / ui / inc / FUi_AccessibilityTtsPlayer.h
1 //
2 // Open Service Platform
3 // Copyright (c) 2012-2013 Samsung Electronics Co., Ltd.
4 //
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
8 //
9 //     http://floralicense.org/license/
10 //
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.
16 //
17
18 /**
19  * @fileFUi_AccessibilityTtsPlayer.h
20  * @brief This is the header file for the _AccessibilityTtsPlayer class.
21  *
22  * This header file contains the declarations of the _AccessibilityTtsPlayer class.
23  *
24  */
25 #ifndef _FUI_INTERNAL_ACCESSIBILITY_TTS_PLAYER_H_
26 #define _FUI_INTERNAL_ACCESSIBILITY_TTS_PLAYER_H_
27
28 #include <FBaseResult.h>
29 #include <FUixSpeechTextToSpeechTypes.h>
30 #include <FUixSpeechITextToSpeechEventListener.h>
31 #include <FUiAccessibilityTypes.h>
32
33 namespace Tizen { namespace Base
34 {
35 class String;
36 }}
37
38 namespace Tizen { namespace Uix { namespace Speech
39 {
40 class TextToSpeech;
41 }}}
42
43 namespace Tizen { namespace Ui
44 {
45 class _AccessibilityManager;
46
47 class _AccessibilityTtsPlayer
48         :public Tizen::Uix::Speech::ITextToSpeechEventListener
49 {
50 public:
51         virtual ~_AccessibilityTtsPlayer(void);
52         result ReadGrammar(const Tizen::Base::String& grammar, bool bInit = true);
53         result StopReading(void);
54
55         AccessibilityScreenReaderStatus GetStatus(void);
56         Tizen::Base::String GetCurrentGrammar(void);
57
58 private:
59         _AccessibilityTtsPlayer(_AccessibilityManager& manager);
60         result Activate(void);
61         result Deactivate(void);
62
63         virtual void OnTextToSpeechInitialized(void);
64         virtual void OnTextToSpeechErrorOccurred (Tizen::Uix::Speech::TextToSpeechError error);
65         virtual void OnTextToSpeechStatusChanged (Tizen::Uix::Speech::TextToSpeechStatus status);
66         virtual void OnTextToSpeechCompleted(void);
67         void SetStatus(AccessibilityScreenReaderStatus status);
68
69 private:
70         _AccessibilityTtsPlayer(const _AccessibilityTtsPlayer& rhs);
71         _AccessibilityTtsPlayer& operator =(const _AccessibilityTtsPlayer& rhs);
72
73 private:
74         void* __handle;
75         Tizen::Uix::Speech::TextToSpeech* __pTts;
76         Tizen::Base::String __grammar;
77         int __localeIdx;
78         AccessibilityScreenReaderStatus __status;
79
80         _AccessibilityManager* __pManager;
81         friend class _AccessibilityManager;
82 }; //class _AccessibilityTtsPlayer
83 }} //Tizen::Ui
84
85 #endif //_FUI_INTERNAL_ACCESSIBILITY_TTS_PLAYER_H_
86