Tizen 2.1 base
[platform/core/uifw/tts.git] / server / ttsd_engine_agent.h
1 /*
2 *  Copyright (c) 2012, 2013 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.
12 */
13
14
15 #ifndef __TTSD_ENGINE_AGENT_H_
16 #define __TTSD_ENGINE_AGENT_H_
17
18 #include "ttsd_main.h"
19 #include "ttsd_player.h"
20
21 #ifdef __cplusplus
22 extern "C" {
23 #endif
24
25 typedef int (*synth_result_callback)(ttsp_result_event_e event, const void* data, unsigned int data_size, void *user_data);
26
27 /*
28 * tts Engine Agent Interfaces
29 */
30
31 /** Init engine agent */
32 int ttsd_engine_agent_init(synth_result_callback result_cb);
33
34 /** Release engine agent */
35 int ttsd_engine_agent_release();
36
37 /** Set current engine */
38 int ttsd_engine_agent_initialize_current_engine();
39
40 /** load current engine */
41 int ttsd_engine_agent_load_current_engine();
42
43 /** Unload current engine */
44 int ttsd_engine_agent_unload_current_engine();
45
46 /** test for language list */
47 int ttsd_print_enginelist();
48
49 /** Get state of current engine to need network */
50 bool ttsd_engine_agent_need_network();
51
52 bool ttsd_engine_select_valid_voice(const char* lang, int type, char** out_lang, ttsp_voice_type_e* out_type);
53
54 bool ttsd_engine_agent_is_same_engine(const char* engine_id);
55
56 /*
57 * TTS Engine Interfaces for client
58 */
59 int ttsd_engine_start_synthesis(const char* lang, const ttsp_voice_type_e vctype, const char* text, const int speed, void* user_param);
60
61 int ttsd_engine_cancel_synthesis();
62
63 int ttsd_engine_get_voice_list(GList** voice_list);
64
65 int ttsd_engine_get_default_voice(char** lang, ttsp_voice_type_e* vctype );
66
67 int ttsd_engine_get_audio_format(ttsp_audio_type_e* type, int* rate, int* channels);
68
69 /*
70 * TTS Engine Interfaces for setting
71 */
72
73 /** Get engine list */
74 int ttsd_engine_setting_get_engine_list(GList** engine_list);
75
76 /** Get engine */
77 int ttsd_engine_setting_get_engine(char** engine_id);
78
79 /** Set engine */
80 int ttsd_engine_setting_set_engine(const char* engine_id);
81
82 /** Get voice list for engine setting */
83 int ttsd_engine_setting_get_voice_list(char** engine_id, GList** voice_list);
84
85 /** Get default voice */
86 int ttsd_engine_setting_get_default_voice(char** language, ttsp_voice_type_e* vctype);
87
88 /** Set voice for engine setting */
89 int ttsd_engine_setting_set_default_voice(const char* language, ttsp_voice_type_e vctype);
90
91 /** Get voice speed for engine setting */
92 int ttsd_engine_setting_get_default_speed(ttsp_speed_e* speed);
93
94 /** Set voice speed for engine setting */
95 int ttsd_engine_setting_set_default_speed(ttsp_speed_e speed);
96
97 /** Get setting info */
98 int ttsd_engine_setting_get_engine_setting_info(char** engine_id, GList** setting_list); 
99
100 /** Set setting info */
101 int ttsd_engine_setting_set_engine_setting(const char* key, const char* value);
102
103 #ifdef __cplusplus
104 }
105 #endif
106
107 #endif /* __TTSD_ENGINE_AGENT_H_ */