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 __TTSD_DATA_H_
16 #define __TTSD_DATA_H_
19 #include "tts_ipc_method.h"
20 #include "ttsd_main.h"
29 APP_STATE_CREATED = 0,
36 TTS_APP_PLAY_TYPE_SYNTH = 0,
37 TTS_APP_PLAY_TYPE_PCM = 1
38 } tts_app_play_type_e;
41 TTSD_SYNTHESIS_CONTROL_DOING = 0,
42 TTSD_SYNTHESIS_CONTROL_DONE = 1,
43 TTSD_SYNTHESIS_CONTROL_EXPIRED = 2
44 } ttsd_synthesis_control_e;
57 unsigned int data_size;
58 unsigned int played_data_size;
60 ttse_result_event_e event;
61 ttse_audio_type_e audio_type;
66 int ttsd_set_synth_control(ttsd_synthesis_control_e control);
68 ttsd_synthesis_control_e ttsd_get_synth_control();
70 typedef void (* ttsd_used_voice_cb)(const char* lang, int type);
72 int ttsd_data_new_client(int pid, unsigned int uid);
74 int ttsd_data_delete_client(unsigned int uid);
76 int ttsd_data_is_client(unsigned int uid);
78 int ttsd_data_get_client_count();
80 int ttsd_data_get_pid(unsigned int uid);
82 int ttsd_data_set_ipc_method(unsigned int uid, tts_ipc_method_e method);
84 tts_ipc_method_e ttsd_data_get_ipc_method(unsigned int uid);
86 int ttsd_data_set_mode(unsigned int uid, ttsd_mode_e mode);
88 ttsd_mode_e ttsd_data_get_mode(unsigned int uid);
90 int ttsd_data_set_credential(unsigned int uid, const char* credential);
92 char* ttsd_data_get_credential(unsigned int uid);
95 speak_data_s* ttsd_data_create_speak_data(const char* text, const char* language, int voice_type, int speed, int utt_id);
97 void ttsd_data_destroy_speak_data(speak_data_s* speak_data);
99 int ttsd_data_add_speak_data(unsigned int uid, speak_data_s* data);
101 int ttsd_data_get_speak_data(unsigned int uid, speak_data_s** data);
103 int ttsd_data_get_speak_data_size(unsigned int uid);
106 sound_data_s* ttsd_data_create_sound_data(int utt_id, const void* data, unsigned int data_size, ttse_result_event_e event,
107 ttse_audio_type_e audio_type, int rate, int channels);
109 void ttsd_data_destroy_sound_data(sound_data_s* sound_data);
111 int ttsd_data_add_sound_data(unsigned int uid, sound_data_s* data);
113 sound_data_s* ttsd_data_get_first_sound_data(unsigned int uid);
115 int ttsd_data_pop_sound_data(unsigned int uid);
117 int ttsd_data_get_sound_data_size(unsigned int uid);
119 int ttsd_data_set_last_sound_result_event(unsigned int uid, ttse_result_event_e event);
121 ttse_result_event_e ttsd_data_get_last_sound_result_event(unsigned int uid);
123 int ttsd_data_clear_data(unsigned int uid);
126 int ttsd_data_set_used_voice(unsigned int uid, const char* lang, int type);
128 int ttsd_data_reset_used_voice(unsigned int uid, ttsd_used_voice_cb callback);
130 app_tts_state_e ttsd_data_get_client_state(unsigned int uid);
132 int ttsd_data_set_client_state(unsigned int uid, app_tts_state_e state);
134 tts_app_play_type_e ttsd_data_get_play_type(unsigned int uid);
136 int ttsd_data_set_play_type(unsigned int uid, tts_app_play_type_e type);
138 int ttsd_data_set_paused_data_existing(unsigned int uid, bool is_paused_data_existing);
140 bool ttsd_data_is_paused_data_existing(unsigned int uid);
143 unsigned int ttsd_data_get_current_playing();
145 typedef bool(*ttsd_data_get_client_cb)(int pid, unsigned int uid, app_tts_state_e state, void* user_data);
147 int ttsd_data_foreach_clients(ttsd_data_get_client_cb callback, void* user_data);
149 bool ttsd_data_is_uttid_valid(unsigned int uid, int uttid);
151 int ttsd_data_get_same_pid_client_count(int pid);
153 /* For error handing */
154 int ttsd_data_save_error_log(unsigned int uid, FILE* fp);
161 #endif /* __TTSD_DATA_H_ */