2 * Copyright (c) 2011-2015 Samsung Electronics Co., Ltd All Rights Reserved
4 * Licensed under the Apache License, Version 2.0 (the License);
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an AS IS BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
18 #ifndef __VCD_SERVER_H_
19 #define __VCD_SERVER_H_
22 #include "vcd_client_data.h"
25 #include "vce_internal.h"
34 int vcd_initialize(vce_request_callback_s *callback);
38 Eina_Bool vcd_cleanup_client_all(void *data);
40 int vcd_server_get_service_state();
42 int vcd_server_get_foreground();
48 int vcd_server_mgr_initialize(int pid, vcd_audio_streaming_mode_e mode);
50 int vcd_server_mgr_finalize(int pid);
52 int vcd_server_mgr_set_command(int pid);
54 int vcd_server_mgr_unset_command(int pid);
56 int vcd_server_mgr_set_demandable_client(int pid);
58 int vcd_server_mgr_set_audio_type(int pid, const char* audio_type);
60 int vcd_server_mgr_get_audio_type(int pid, char** audio_type);
62 int vcd_server_mgr_set_client_info(int pid);
64 int vcd_server_mgr_start(vcd_recognition_mode_e recognition_mode, bool exclusive_cmd, bool start_by_client);
66 int vcd_server_mgr_stop();
68 int vcd_server_mgr_cancel();
70 int vcd_server_mgr_result_select();
72 int vcd_server_mgr_set_domain(int pid, const char* domain);
74 int vcd_server_mgr_set_private_data(int pid, const char* key, const char* data);
76 int vcd_server_mgr_get_private_data(int pid, const char* key, char** data);
78 int vcd_server_mgr_do_action(int pid, int type, const char* action);
80 int vcd_server_mgr_set_disabled_command_type(int pid, int disabled_cmd_type);
82 int vcd_server_mgr_change_system_volume(int pid, vcd_system_volume_event_e system_volume_event);
84 /* for TTS feedback */
85 int vcd_server_mgr_start_feedback(void);
87 int vcd_server_mgr_stop_feedback(void);
89 /* for Multi-assistant */
90 int vcd_server_mgr_send_audio_streaming(int pid, int event, const char* buffer, unsigned int len);
96 int vcd_server_initialize(int pid);
98 int vcd_server_finalize(int pid);
100 int vcd_server_set_command(int pid, vc_cmd_type_e cmd_type);
102 int vcd_server_unset_command(int pid, vc_cmd_type_e cmd_type);
104 int vcd_server_set_foreground(int pid, bool value);
106 int vcd_server_set_server_dialog(int pid, const char* app_id, const char* credential);
108 int vcd_server_dialog(int pid, const char* disp_text, const char* utt_text, int continuous);
110 int vcd_server_is_system_command_valid(int pid, bool* is_sys_cmd_valid);
113 int vcd_server_set_exclusive_command(int pid, bool value);
115 int vcd_server_request_start(int pid, bool stop_by_silence);
117 int vcd_server_request_stop(int pid);
119 int vcd_server_request_cancel(int pid);
125 int vcd_server_widget_initialize(int pid);
127 int vcd_server_widget_finalize(int pid);
129 int vcd_server_widget_start_recording(int pid, bool widget_command);
131 int vcd_server_widget_start(int pid, bool stop_by_silence);
133 int vcd_server_widget_stop(int pid);
135 int vcd_server_widget_cancel(int pid);
137 int vcd_server_widget_enable_asr_result(int pid, bool enable);
139 int vcd_server_set_language(const char* language);
141 int vcd_server_mgr_send_specific_engine_request(int pid, const char* engine_app_id, const char* event, const char* request);
143 int vcd_server_request_tts(int pid, const char* text, const char* language, int to_vcm, int* utt_id);
145 int vcd_server_cancel_tts(int pid, int utt_id);
147 int vcd_server_get_tts_audio_format(int pid, int* rate, int* channel, int* audio_type);
152 int vcd_send_result(vce_result_event_e event, int* result_id, int count, const char* all_result, const char* non_fixed_result, const char* nlu_result, const char* msg, int* user_info, void *user_data);
154 int vcd_send_asr_result(vce_asr_result_event_e event, const char* asr_result, void *user_data);
156 int vcd_send_specific_engine_result(const char* engine_app_id, const char* event, const char* result, void *user_info);
158 int vcd_send_nlg_result(const char* nlg_result, void *user_data);
160 int vcd_send_error(vce_error_e error, const char* msg, void *user_data);
162 int vcd_get_foreach_command(vce_cmd_h vce_command, vce_command_cb callback, void* user_data);
164 int vcd_get_command_count(vce_cmd_h vce_command, int* count);
166 int vcd_get_audio_type(char** audio_type);
168 int vcd_set_private_data(const char* key, const char* data);
170 int vcd_get_private_data(const char* key, char** data);
172 int vcd_start_recording();
174 int vcd_stop_recording();
176 int vcd_send_update_status(vce_update_event_e update_event, const char* msg);
178 int vcd_set_private_data_set_cb(vce_private_data_set_cb callback_func);
180 int vcd_set_private_data_requested_cb(vce_private_data_requested_cb callback_func);
182 int vcd_set_nlu_base_info_requested_cb(vce_nlu_base_info_requested_cb callback_func);
184 int vcd_set_specific_engine_request_cb(vce_specific_engine_request_cb callback_func);
186 int vcd_send_feedback_audio_format(int rate, vce_audio_channel_e channel, vce_audio_type_e audio_type);
188 int vcd_send_feedback_streaming(vce_feedback_event_e event, char* buffer, int len);
190 int vcd_set_request_tts_cb(vce_request_tts_cb callback_func, void* user_data);
192 int vcd_set_cancel_tts_cb(vce_cancel_tts_cb callback_func, void* user_data);
194 int vcd_set_tts_audio_format_request_cb(vce_tts_audio_format_request_cb callback_func, void* user_data);
201 #endif /* __VCD_SERVER_H_ */