reviewed Speech Headers by contents team updates
[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 interface for 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 @n
42  *
43  * The %ITextToSpeechEventListener interface is a listener interface for speech synthesis events.
44  * It provides methods that are invoked by the voice engine which notifies when the Text-To-Speech service undergoes a status 
45  * change or returns an error. @n
46  * For more information on the Text-To-Speech service, see <a href="../org.tizen.native.appprogramming/html/guide/uix/text_to_speech.htm">Text-To-Speech</a>.
47  */
48
49 class _OSP_EXPORT_ ITextToSpeechEventListener
50         : virtual public Tizen::Base::Runtime::IEventListener
51 {
52
53 public:
54     /**
55      * This polymorphic destructor should be overridden if required. @n
56      * This way, the destructors of the derived classes are called when the destructor of this interface is called.
57      *
58      * @since 2.0
59      */
60     virtual ~ITextToSpeechEventListener(void) {}
61
62     /**
63      * Called when the Text-To-Speech service is initialized.
64      *
65      * @since 2.0
66      *
67      * @see     TextToSpeech::Initialize()
68      */
69      virtual void OnTextToSpeechInitialized(void) = 0;
70
71     /**
72      * Called when the status of the Text-To-Speech service is changed.
73      *
74      * @since 2.0
75      *
76      * @param[in]   status  The status of the Text-To-Speech service
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 the error in the Text-To-Speech service
86      */
87      virtual void OnTextToSpeechErrorOccurred(Tizen::Uix::Speech::TextToSpeechError error) = 0;
88
89     /**
90      * Called when the Text-To-Speech service is completed.
91      *
92      * @since 2.0
93      */
94     virtual void OnTextToSpeechCompleted(void) = 0;
95
96 protected:
97     //
98     // This method is for internal use only. Using this method can cause behavioral, security-related,
99     // and consistency-related issues in the application.
100     //
101         virtual void ITextToSpeechEventListener_Reserved1(void) {}
102
103     //
104     // This method is for internal use only. Using this method can cause behavioral, security-related,
105     // and consistency-related issues in the application.
106     //
107         virtual void ITextToSpeechEventListener_Reserved2(void) {}
108
109     //
110     // This method is for internal use only. Using this method can cause behavioral, security-related,
111     // and consistency-related issues in the application.
112     //
113         virtual void ITextToSpeechEventListener_Reserved3(void) {}
114
115 };
116
117 } } } // Tizen::Uix::Speech
118
119 #endif // _FUIX_ITEXT_TO_SPEECH_EVENT_LISTENER_H_