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 __STT_CLIENT_H_
16 #define __STT_CLIENT_H_
27 STT_INTERNAL_STATE_NONE = 0,
28 STT_INTERNAL_STATE_STARTING = 1,
29 STT_INTERNAL_STATE_STOPPING = 2,
30 STT_INTERNAL_STATE_CANCELING = 3
31 } stt_internal_state_e;
37 int uid; /*<< unique id = pid + handle */
39 stt_recognition_result_cb recognition_result_cb;
40 void* recognition_result_user_data;
41 stt_result_time_cb result_time_cb;
42 void* result_time_user_data;
44 stt_state_changed_cb state_changed_cb;
45 void* state_changed_user_data;
46 stt_error_cb error_cb;
47 void* error_user_data;
48 stt_default_language_changed_cb default_lang_changed_cb;
49 void* default_lang_changed_user_data;
50 stt_engine_changed_cb engine_changed_cb;
51 void* engine_changed_user_data;
53 stt_supported_engine_cb supported_engine_cb;
54 void* supported_engine_user_data;
55 stt_supported_language_cb supported_lang_cb;
56 void* supported_lang_user_data;
58 char* current_engine_id;
62 bool silence_supported;
63 stt_option_silence_detection_e silence;
64 bool credential_needed;
67 stt_state_e before_state;
68 stt_state_e current_state;
70 stt_internal_state_e internal_state;
87 typedef bool (*stt_time_cb)(int index, int event, const char* text, long start_time, long end_time, void *user_data);
89 int stt_client_new(stt_h* stt);
91 int stt_client_destroy(stt_h stt);
93 stt_client_s* stt_client_get(stt_h stt);
95 stt_client_s* stt_client_get_by_uid(const int uid);
97 int stt_client_get_size();
99 int stt_client_use_callback(stt_client_s* client);
101 int stt_client_not_use_callback(stt_client_s* client);
103 int stt_client_get_use_callback(stt_client_s* client);
105 GList* stt_client_get_client_list();
111 #endif /* __STT_CLIENT_H_ */