/*
-* Copyright (c) 2012, 2013 Samsung Electronics Co., Ltd All Rights Reserved
+* Copyright (c) 2011-2016 Samsung Electronics Co., Ltd All Rights Reserved
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
#define __STTD_ENGINE_AGENT_H_
#include "sttd_main.h"
-#include "sttp.h"
+#include "stte.h"
#ifdef __cplusplus
extern "C" {
#endif
/*
-* Constants & Structures
+* Constants & Structures
*/
#define ENGINE_PATH_SIZE 256
-typedef void (*result_callback)(sttp_result_event_e event, const char* type,
+typedef int (*result_callback)(stte_result_event_e event, const char* type,
const char** data, int data_count, const char* msg, void *user_data);
-typedef void (*partial_result_callback)(sttp_result_event_e event, const char* data, void *user_data);
+typedef bool (*result_time_callback)(int index, stte_result_time_event_e event, const char* text,
+ long start_time, long end_time, void *user_data);
-typedef void (*silence_dectection_callback)(void *user_data);
+typedef int (*speech_status_callback)(stte_speech_status_e status, void *user_data);
+typedef int (*error_callback)(stte_error_e error, const char* msg);
/*
* STT Engine Agent Interfaces
*/
-/** Init engine agent */
-int sttd_engine_agent_init(result_callback result_cb, partial_result_callback partial_result_cb, silence_dectection_callback silence_cb);
+/** Init / Release engine agent */
+int sttd_engine_agent_init(result_callback result_cb, result_time_callback time_cb,
+ speech_status_callback speech_status_cb, error_callback error_cb);
-/** Release engine agent */
int sttd_engine_agent_release();
-/** Set current engine */
-int sttd_engine_agent_initialize_current_engine();
-/** load current engine */
-int sttd_engine_agent_load_current_engine();
+/** Manage engine */
+int sttd_engine_agent_initialize_engine_list(stte_request_callback_s *callback);
-/** Unload current engine */
-int sttd_engine_agent_unload_current_engine();
-/** test for language list */
-int sttd_print_enginelist();
+/** load / unload engine */
+int sttd_engine_agent_load_current_engine(stte_request_callback_s *callback);
-/** Get state of current engine to need network */
-bool sttd_engine_agent_need_network();
+int sttd_engine_agent_unload_current_engine();
-int sttd_engine_get_option_supported(bool* silence, bool* profanity, bool* punctuation);
+bool sttd_engine_agent_is_default_engine();
-/*
-* STT Engine Interfaces for client
-*/
+int sttd_engine_agent_get_engine_list(GSList** engine_list);
-int sttd_engine_supported_langs(GList** lang_list);
+int sttd_engine_agent_get_current_engine(char** engine_uuid);
-int sttd_engine_get_default_lang(char** lang);
-int sttd_engine_recognize_start(const char* lang, const char* recognition_type,
- int profanity, int punctuation, int silence, void* user_param);
+/** Get/Set app option */
+bool sttd_engine_agent_need_network();
-int sttd_engine_recognize_audio(const void* data, unsigned int length);
+int sttd_engine_agent_supported_langs(GSList** lang_list);
-int sttd_engine_is_partial_result_supported(bool* partial_result);
+int sttd_engine_agent_get_default_lang(char** lang);
-int sttd_engine_recognize_stop();
+int sttd_engine_agent_set_private_data(const char* key, const char* data);
-int sttd_engine_recognize_cancel();
+int sttd_engine_agent_get_private_data(const char* key, char** data);
-int sttd_engine_get_audio_format(sttp_audio_type_e* types, int* rate, int* channels);
+int sttd_engine_agent_get_option_supported(bool* silence);
-int sttd_engine_recognize_start_file(const char* filepath, const char* lang, const char* recognition_type,
- int profanity, int punctuation, void* user_param);
+int sttd_engine_agent_is_credential_needed(int uid, bool* credential);
-/*
-* STT Engine Interfaces for setting
-*/
+int sttd_engine_agent_is_recognition_type_supported(const char* type, bool* support);
-int sttd_engine_setting_get_engine_list(GList** engine_list);
+int sttd_engine_agent_set_default_engine(const char* engine_uuid);
-int sttd_engine_setting_get_engine(char** engine_id);
+int sttd_engine_agent_set_default_language(const char* language);
-int sttd_engine_setting_set_engine(const char* engine_id);
+int sttd_engine_agent_set_silence_detection(bool value);
-int sttd_engine_setting_get_lang_list(char** engine_id, GList** lang_list);
+int sttd_engine_agent_check_app_agreed(const char* appid, bool* result);
-int sttd_engine_setting_get_default_lang(char** language);
+/** Control engine */
+int sttd_engine_agent_recognize_start_engine(int uid, const char* lang, const char* recognition_type,
+ int silence, const char* appid, const char* credential, void* user_param);
-int sttd_engine_setting_set_default_lang(const char* language);
+int sttd_engine_agent_recognize_start_recorder(int uid);
-int sttd_engine_setting_get_profanity_filter(bool* value);
+int sttd_engine_agent_set_recording_data(const void* data, unsigned int length);
-int sttd_engine_setting_set_profanity_filter(bool value);
+int sttd_engine_agent_recognize_stop();
-int sttd_engine_setting_get_punctuation_override(bool* value);
+int sttd_engine_agent_recognize_stop_recorder();
-int sttd_engine_setting_set_punctuation_override(bool value);
+int sttd_engine_agent_recognize_stop_engine();
-int sttd_engine_setting_get_silence_detection(bool* value);
+int sttd_engine_agent_recognize_cancel();
-int sttd_engine_setting_set_silence_detection(bool value);
+/** Send engine's information */
+int sttd_engine_agent_send_result(stte_result_event_e event, const char* type, const char** result, int result_count,
+ const char* msg, void* time_info, void *user_data);
-int sttd_engine_setting_get_engine_setting_info(char** engine_id, GList** setting_list);
+int sttd_engine_agent_send_error(stte_error_e error, const char* msg);
-int sttd_engine_setting_set_engine_setting(const char* key, const char* value);
+int sttd_engine_agent_send_speech_status(stte_speech_status_e status, void* user_data);
#ifdef __cplusplus