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_CLIENT_DATA_H_
19 #define __VCD_CLIENT_DATA_H_
22 #include "vc_command.h"
23 #include "vc_info_parser.h"
39 /* Foreground application */
42 GSList* foreground_cmds;
44 /* Manager application */
46 GSList* exclusive_system_cmds;
47 GSList* system_background_cmds;
49 /* Other applications */
51 GSList* background_cmds;
52 } current_commands_list_s;
59 bool exclusive_cmd_option;
65 bool asr_result_enabled;
69 VCD_RECOGNITION_MODE_STOP_BY_SILENCE, /**< Default mode */
70 VCD_RECOGNITION_MODE_RESTART_AFTER_REJECT, /**< Restart recognition after rejected result */
71 VCD_RECOGNITION_MODE_RESTART_CONTINUOUSLY, /**< Continuously restart recognition - not support yet*/
72 VCD_RECOGNITION_MODE_MANUAL /**< Start and stop manually without silence */
73 } vcd_recognition_mode_e;
79 typedef bool (* client_foreach_command_cb)(int id, int type, int format, const char* command, const char* param, int domain, void* user_data);
81 int vcd_client_command_collect_command();
83 int vcd_client_get_length();
85 int vcd_client_foreach_command(client_foreach_command_cb callback, void* user_data);
87 int vcd_client_get_cmd_from_result_id(int result_id, vc_cmd_s** result);
89 int vcd_client_get_cmd_info_from_result_id(int result_id, int* pid, int* cmd_type, vc_cmd_s** result);
91 int vcd_client_set_slience_detection(bool value);
93 bool vcd_client_get_slience_detection();
95 int vcd_client_set_recognition_mode(vcd_recognition_mode_e mode);
97 vcd_recognition_mode_e vcd_client_get_recognition_mode();
102 int vcd_client_manager_set(int pid);
104 int vcd_client_manager_unset();
106 int vcd_client_manager_unset_appid();
108 bool vcd_client_manager_is_valid(int pid);
110 int vcd_client_manager_set_command(int pid);
112 int vcd_client_manager_unset_command(int pid);
114 int vcd_client_manager_set_demandable_client(int pid, GSList* client_list);
116 bool vcd_client_manager_check_demandable_client(int pid);
118 bool vcd_client_manager_get_exclusive();
120 int vcd_client_manager_set_exclusive(bool value);
122 int vcd_client_manager_get_pid();
124 int vcd_client_manager_get_appid(char** appid);
126 int vcd_client_manager_set_result_text(const char* result);
128 char* vcd_client_manager_get_result_text();
130 bool vcd_client_manager_is_system_command_valid(int pid);
135 int vcd_client_add(int pid);
137 int vcd_client_delete(int pid);
139 bool vcd_client_is_available(int pid);
141 int vcd_client_get_ref_count();
143 int vcd_client_get_list(int** pids, int* pid_count);
145 int vcd_client_set_command_type(int pid, int type);
147 int vcd_client_unset_command_type(int pid, int type);
149 int vcd_client_set_exclusive_command(int pid);
151 int vcd_client_unset_exclusive_command(int pid);
153 int vcd_client_save_client_info();
155 void vcd_client_update_foreground_pid();
159 int vcd_client_widget_get_list(int** pids, int* pid_count);
161 int vcd_client_widget_add(int pid);
163 int vcd_client_widget_delete(int pid);
165 bool vcd_client_widget_is_available(int pid);
167 int vcd_client_widget_get_foreground_pid();
169 int vcd_client_widget_set_command(int pid);
171 int vcd_client_widget_unset_command(int pid);
173 int vcd_client_widget_set_asr_result_enabled(int pid, bool enable);
175 int vcd_client_widget_get_asr_result_enabled(int pid, bool* enable);
181 #endif /* __VCD_CLIENT_DATA_H_ */