Tizen 2.1 base
[framework/osp/speech.git] / inc / FUixSpeechITextToSpeechEventListener.h
1 //
2 // Open Service Platform
3 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
4 //
5 // Licensed under the Apache License, Version 2.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://www.apache.org/licenses/LICENSE-2.0
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  * @file    FUixSpeechITextToSpeechEventListener.h
20  * @brief   This is the header file for the %ITextToSpeechEventListener interface.
21  *
22  * This header file contains the declarations of the %ITextToSpeechEventListener interface.
23  */
24
25 #ifndef _FUIX_SPEECH_ITEXT_TO_SPEECH_EVENT_LISTENER_H_
26 #define _FUIX_SPEECH_ITEXT_TO_SPEECH_EVENT_LISTENER_H_
27
28 #include <FUixSpeechTextToSpeechTypes.h>
29 #include <FBaseRtIEventListener.h>
30
31 namespace Tizen { namespace Uix { namespace Speech
32 {
33
34 /**
35  * @interface   ITextToSpeechEventListener
36  * @brief       This interface is a listener for the speech synthesis events.
37  *
38  * @since 2.0
39  *
40  * @remarks     @b Header @b %file: @b \#include @b <FUix.h> @n
41  *              @b Library : @b osp-speech-tts
42  *
43  * The %ITextToSpeechEventListener interface is a listener interface for the speech synthesis events.
44  * It provides methods that are used to notify when the status is changed and an error occurs from the voice engine. @n
45  * For more information on the class features, see <a href="../org.tizen.native.appprogramming/html/guide/uix/text_to_speech.htm">Text-To-Speech</a>.
46  */
47
48 class _OSP_EXPORT_ ITextToSpeechEventListener
49         : virtual public Tizen::Base::Runtime::IEventListener
50 {
51
52 public:
53     /**
54      * This polymorphic destructor should be overridden if required. @n
55      * This way, the destructors of the derived classes are called when the destructor of this interface is called.
56      *
57      * @since 2.0
58      */
59     virtual ~ITextToSpeechEventListener(void) {}
60
61     /**
62      * Called when the Text-To-Speech service is initialized.
63      *
64      * @since 2.0
65      *
66      * @see     TextToSpeech::Initialize()
67      */
68      virtual void OnTextToSpeechInitialized(void) = 0;
69
70     /**
71      * Called when the status of the Text-To-Speech service is changed.
72      *
73      * @since 2.0
74      *
75      * @param[in]   status  The status of the Text-To-Speech service
76      * @see         TextToSpeechStatus
77      */
78     virtual void OnTextToSpeechStatusChanged(Tizen::Uix::Speech::TextToSpeechStatus status) = 0;
79
80     /**
81      * Called when an error occurs in the Text-To-Speech service.
82      *
83      * @since 2.0
84      *
85      * @param[in]   error   The reason for an error in the Text-To-Speech service
86      * @see         TextToSpeechError
87      */
88      virtual void OnTextToSpeechErrorOccurred(Tizen::Uix::Speech::TextToSpeechError error) = 0;
89
90     /**
91      * Called when the Text-To-Speech service is completed.
92      *
93      * @since 2.0
94      */
95     virtual void OnTextToSpeechCompleted(void) = 0;
96
97 protected:
98     //
99     // This method is for internal use only. Using this method can cause behavioral, security-related,
100     // and consistency-related issues in the application.
101     //
102         virtual void ITextToSpeechEventListener_Reserved1(void) {}
103
104     //
105     // This method is for internal use only. Using this method can cause behavioral, security-related,
106     // and consistency-related issues in the application.
107     //
108         virtual void ITextToSpeechEventListener_Reserved2(void) {}
109
110     //
111     // This method is for internal use only. Using this method can cause behavioral, security-related,
112     // and consistency-related issues in the application.
113     //
114         virtual void ITextToSpeechEventListener_Reserved3(void) {}
115
116 };
117
118 } } } // Tizen::Uix::Speech
119
120 #endif // _FUIX_ITEXT_TO_SPEECH_EVENT_LISTENER_H_