2 * Copyright (c) 2011-2016 Samsung Electronics Co., Ltd All Rights Reserved
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
6 * http://www.apache.org/licenses/LICENSE-2.0
7 * Unless required by applicable law or agreed to in writing, software
8 * distributed under the License is distributed on an "AS IS" BASIS,
9 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
10 * See the License for the specific language governing permissions and
11 * limitations under the License.
15 #ifndef __TTS_CLIENT_H_
16 #define __TTS_CLIENT_H_
21 #include "tts_internal.h"
22 #include "tts_config_mgr.h"
30 #define TTS_STATE_INVALID -1
36 unsigned int uid; /*<< unique id = pid + handle */
40 tts_state_changed_cb state_changed_cb;
41 void* state_changed_user_data;
42 tts_utterance_started_cb utt_started_cb;
43 void* utt_started_user_data;
44 tts_utterance_completed_cb utt_completed_cb;
45 void* utt_completed_user_data;
46 tts_error_cb error_cb;
47 void* error_user_data;
48 tts_default_voice_changed_cb default_voice_changed_cb;
49 void* default_voice_changed_user_data;
50 tts_engine_changed_cb engine_changed_cb;
51 void* engine_changed_user_data;
52 tts_screen_reader_changed_cb screen_reader_changed_cb;
53 void* screen_reader_changed_user_data;
54 tts_supported_voice_cb supported_voice_cb;
55 void* supported_voice_user_data;
56 tts_service_state_changed_cb service_state_changed_cb;
57 void* service_state_changed_user_data;
58 tts_synthesized_pcm_cb synthesized_pcm_cb;
59 void* synthesized_pcm_user_data;
61 int registered_event_mask;
65 tts_playing_mode_e playing_mode;
66 tts_state_e before_state;
67 tts_state_e current_state;
68 tts_service_state_e current_service_state;
80 Ecore_Timer* hello_timer;
87 bool credential_needed;
94 Ecore_Timer* notify_error_timer;
95 Ecore_Timer* notify_state_timer;
99 int tts_client_new(tts_h* tts);
100 int tts_client_destroy(tts_h tts);
102 tts_client_s* tts_client_get(tts_h tts);
103 tts_client_s* tts_client_get_by_uid(unsigned int uid);
104 tts_h tts_client_get_handle(tts_client_s* client);
106 bool tts_client_is_valid_uid(unsigned int uid);
107 bool tts_client_is_valid_client(tts_client_s* client);
109 unsigned int tts_client_get_size();
111 int tts_client_use_callback(tts_client_s* client);
112 int tts_client_not_use_callback(tts_client_s* client);
114 int tts_client_get_use_callback(tts_client_s* client);
116 GList* tts_client_get_client_list();
118 unsigned int tts_client_get_uid(tts_client_s* client);
120 void tts_client_set_current_state(tts_client_s* client, tts_state_e state);
121 tts_state_e tts_client_get_current_state(tts_client_s* client);
123 void tts_client_set_current_service_state(tts_client_s* client, tts_service_state_e service_state);
124 tts_service_state_e tts_client_get_current_service_state(tts_client_s* client);
126 void tts_client_set_start_listening(unsigned int uid, bool is_listening_started);
127 bool tts_client_is_listening_started(unsigned int uid);
129 void tts_client_set_reprepared(tts_client_s* client, bool is_reprepared);
130 bool tts_client_is_reprepared(tts_client_s* client);
132 void tts_client_set_service_out(tts_client_s* client, bool is_service_out);
133 bool tts_client_is_service_out(tts_client_s* client);
135 void tts_client_set_mode(tts_client_s* client, tts_mode_e mode);
136 tts_mode_e tts_client_get_mode(tts_client_s* client);
138 void tts_client_set_playing_mode(tts_client_s* client, tts_playing_mode_e mode);
139 tts_playing_mode_e tts_client_get_playing_mode(tts_client_s* client);
141 void tts_client_set_repeat_text(tts_client_s* client, const char* text);
142 char* tts_client_get_repeat_text(tts_client_s* client);
144 int tts_client_new_utterance_id(tts_client_s* client);
146 void tts_client_set_error_message(tts_client_s* client, const char* error_message);
147 const char* tts_client_get_error_message(tts_client_s* client);
149 void tts_client_set_credential_key(tts_client_s* client, const char* credential_key);
150 const char* tts_client_get_credential_key(tts_client_s* client);
152 void tts_client_set_state_changed_cb(tts_client_s* client, tts_state_changed_cb callback, void* user_data);
153 void tts_client_set_utterance_started_cb(tts_client_s* client, tts_utterance_started_cb callback, void* user_data);
154 void tts_client_set_utterance_completed_cb(tts_client_s* client, tts_utterance_completed_cb callback, void* user_data);
155 void tts_client_set_error_cb(tts_client_s* client, tts_error_cb callback, void* user_data);
156 void tts_client_set_default_voice_changed_cb(tts_client_s* client, tts_default_voice_changed_cb callback, void* user_data);
157 void tts_client_set_engine_changed_cb(tts_client_s* client, tts_engine_changed_cb callback, void* user_data);
158 void tts_client_set_screen_reader_changed_cb(tts_client_s* client, tts_screen_reader_changed_cb callback, void* user_data);
159 void tts_client_set_supported_voice_cb(tts_client_s* client, tts_supported_voice_cb callback, void* user_data);
160 void tts_client_set_service_state_changed_cb(tts_client_s* client, tts_service_state_changed_cb callback, void* user_data);
161 void tts_client_set_synthesized_pcm_cb(tts_client_s* client, tts_synthesized_pcm_cb callback, void* user_data);
163 tts_state_changed_cb tts_client_get_state_changed_cb(tts_client_s* client);
164 void* tts_client_get_state_changed_user_data(tts_client_s* client);
166 tts_utterance_started_cb tts_client_get_utterance_started_cb(tts_client_s* client);
167 void* tts_client_get_utterance_started_user_data(tts_client_s* client);
169 tts_utterance_completed_cb tts_client_get_utterance_completed_cb(tts_client_s* client);
170 void* tts_client_get_utterance_completed_user_data(tts_client_s* client);
172 tts_error_cb tts_client_get_error_cb(tts_client_s* client);
173 void* tts_client_get_error_user_data(tts_client_s* client);
175 tts_default_voice_changed_cb tts_client_get_default_voice_changed_cb(tts_client_s* client);
176 void* tts_client_get_default_voice_changed_user_data(tts_client_s* client);
178 tts_engine_changed_cb tts_client_get_engine_changed_cb(tts_client_s* client);
179 void* tts_client_get_engine_changed_user_data(tts_client_s* client);
181 tts_screen_reader_changed_cb tts_client_get_screen_reader_changed_cb(tts_client_s* client);
182 void* tts_client_get_screen_reader_changed_user_data(tts_client_s* client);
184 tts_supported_voice_cb tts_client_get_supported_voice_cb(tts_client_s* client);
185 void* tts_client_get_supported_voice_user_data(tts_client_s* client);
187 tts_service_state_changed_cb tts_client_get_service_state_changed_cb(tts_client_s* client);
188 void* tts_client_get_service_state_changed_user_data(tts_client_s* client);
190 tts_synthesized_pcm_cb tts_client_get_synthesized_pcm_cb(tts_client_s* client);
191 void* tts_client_get_synthesized_pcm_user_data(tts_client_s* client);
193 int tts_client_get_registered_event_mask(tts_client_s* client);
195 void tts_client_unset_all_cb(tts_client_s* client);
201 #endif /* __TTS_CLIENT_H_ */