X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=server%2Fsttp.h;h=72366b18ae6ba1f60aafe849a8c45240ad1f29a3;hb=9f0d6944789b66589ea71c0a6209eb0bb16fd758;hp=d78698acbc76769f2c78841c1451e3749f000e92;hpb=93fa86f0b8a33a4ea84e2f5761717b3e07a46e7e;p=platform%2Fcore%2Fuifw%2Fstt.git diff --git a/server/sttp.h b/server/sttp.h index d78698a..72366b1 100644 --- a/server/sttp.h +++ b/server/sttp.h @@ -1,5 +1,5 @@ /* -* Copyright (c) 2011-2014 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 @@ -14,7 +14,7 @@ #ifndef __STTP_H__ #define __STTP_H__ -#include +#include #include /** @@ -30,15 +30,22 @@ extern "C" { * @brief Enumerations of error codes. */ typedef enum { - STTP_ERROR_NONE = 0, /**< Successful */ - STTP_ERROR_OUT_OF_MEMORY = -ENOMEM, /**< Out of Memory */ - STTP_ERROR_IO_ERROR = -EIO, /**< I/O error */ - STTP_ERROR_INVALID_PARAMETER = -EINVAL, /**< Invalid parameter */ - STTP_ERROR_OUT_OF_NETWORK = -ENETDOWN, /**< Out of network */ - STTP_ERROR_INVALID_STATE = -0x0100031, /**< Invalid state */ - STTP_ERROR_INVALID_LANGUAGE = -0x0100032, /**< Invalid language */ - STTP_ERROR_OPERATION_FAILED = -0x0100034, /**< Operation failed */ - STTP_ERROR_NOT_SUPPORTED_FEATURE= -0x0100035 /**< Not supported feature */ + STTP_ERROR_NONE = TIZEN_ERROR_NONE, /**< Successful */ + STTP_ERROR_OUT_OF_MEMORY = TIZEN_ERROR_OUT_OF_MEMORY, /**< Out of Memory */ + STTP_ERROR_IO_ERROR = TIZEN_ERROR_IO_ERROR, /**< I/O error */ + STTP_ERROR_INVALID_PARAMETER = TIZEN_ERROR_INVALID_PARAMETER,/**< Invalid parameter */ + STTP_ERROR_TIMED_OUT = TIZEN_ERROR_TIMED_OUT, /**< No answer from the daemon */ + STTP_ERROR_RECORDER_BUSY = TIZEN_ERROR_RESOURCE_BUSY, /**< Device or resource busy */ + STTP_ERROR_OUT_OF_NETWORK = TIZEN_ERROR_NETWORK_DOWN, /**< Network is down */ + STTP_ERROR_PERMISSION_DENIED = TIZEN_ERROR_PERMISSION_DENIED,/**< Permission denied */ + STTP_ERROR_NOT_SUPPORTED = TIZEN_ERROR_NOT_SUPPORTED, /**< STT NOT supported */ + STTP_ERROR_INVALID_STATE = TIZEN_ERROR_STT | 0x01, /**< Invalid state */ + STTP_ERROR_INVALID_LANGUAGE = TIZEN_ERROR_STT | 0x02, /**< Invalid language */ + STTP_ERROR_ENGINE_NOT_FOUND = TIZEN_ERROR_STT | 0x03, /**< No available engine */ + STTP_ERROR_OPERATION_FAILED = TIZEN_ERROR_STT | 0x04, /**< Operation failed */ + STTP_ERROR_NOT_SUPPORTED_FEATURE = TIZEN_ERROR_STT | 0x05, /**< Not supported feature of current engine */ + STTP_ERROR_NO_SPEECH = TIZEN_ERROR_STT | 0x06, /**< No speech while recording */ + STTP_ERROR_RECORDING_TIMED_OUT = TIZEN_ERROR_STT | 0x10 /**< Recording timed out */ }sttp_error_e; /** @@ -47,7 +54,7 @@ typedef enum { typedef enum { STTP_AUDIO_TYPE_PCM_S16_LE = 0, /**< Signed 16bit audio type, Little endian */ STTP_AUDIO_TYPE_PCM_U8 /**< Unsigned 8bit audio type */ -}sttp_audio_type_e; +} sttp_audio_type_e; /** * @brief Enumerations of callback event. @@ -56,7 +63,7 @@ typedef enum { STTP_RESULT_EVENT_FINAL_RESULT = 0, /**< Event when the recognition full or last result is ready */ STTP_RESULT_EVENT_PARTIAL_RESULT, /**< Event when the recognition partial result is ready */ STTP_RESULT_EVENT_ERROR /**< Event when the recognition has failed */ -}sttp_result_event_e; +} sttp_result_event_e; /** * @brief Enumerations of result time callback event. @@ -65,7 +72,7 @@ typedef enum { STTP_RESULT_TIME_EVENT_BEGINNING = 0, /**< Event when the token is beginning type */ STTP_RESULT_TIME_EVENT_MIDDLE, /**< Event when the token is middle type */ STTP_RESULT_TIME_EVENT_END /**< Event when the token is end type */ -}sttp_result_time_event_e; +} sttp_result_time_event_e; /** * @brief Enumerations of silence type. @@ -73,7 +80,7 @@ typedef enum { typedef enum { STTP_SILENCE_TYPE_NO_RECORD_TIMEOUT = 0, /**< No sound is recorded */ STTP_SILENCE_TYPE_END_OF_SPEECH_DETECTED /**< End of speech is detected */ -}sttp_silence_type_e; +} sttp_silence_type_e; /** * @brief Recognition type : free form dictation and default type. @@ -214,7 +221,7 @@ typedef bool (*sttpe_supported_language_cb)(const char* language, void* user_dat * * @see sttpe_deinitialize() */ -typedef int (* sttpe_initialize)(sttpe_result_cb result_cb, sttpe_silence_detected_cb silence_cb); +typedef int (*sttpe_initialize)(sttpe_result_cb result_cb, sttpe_silence_detected_cb silence_cb); /** * @brief Deinitializes the engine @@ -225,7 +232,7 @@ typedef int (* sttpe_initialize)(sttpe_result_cb result_cb, sttpe_silence_detect * * @see sttpe_initialize() */ -typedef int (* sttpe_deinitialize)(void); +typedef int (*sttpe_deinitialize)(void); /** * @brief Retrieves all supported languages of the engine. @@ -242,7 +249,7 @@ typedef int (* sttpe_deinitialize)(void); * * @see sttpe_supported_language_cb() */ -typedef int (* sttpe_foreach_supported_langs)(sttpe_supported_language_cb callback, void* user_data); +typedef int (*sttpe_foreach_supported_langs)(sttpe_supported_language_cb callback, void* user_data); /** * @brief Checks whether a language is valid or not. @@ -253,7 +260,7 @@ typedef int (* sttpe_foreach_supported_langs)(sttpe_supported_language_cb callba * * @see sttpe_foreach_supported_languages() */ -typedef bool (* sttpe_is_valid_language)(const char* language); +typedef bool (*sttpe_is_valid_language)(const char* language); /** * @brief Gets whether the engine supports silence detection. @@ -262,7 +269,15 @@ typedef bool (* sttpe_is_valid_language)(const char* language); * * @see sttpe_set_silence_detection() */ -typedef bool (* sttpe_support_silence_detection)(void); +typedef bool (*sttpe_support_silence_detection)(void); + +/** +* @brief Gets credential necessity. +* +* @return @c true to be needed app credential, \n @c false not to be needed app credential. +* +*/ +typedef bool (* sttpe_need_app_credential)(void); /** * @brief Gets supporting recognition type. @@ -270,7 +285,7 @@ typedef bool (* sttpe_support_silence_detection)(void); * @return @c true to support recognition type, \n @c false not to support recognition type. * */ -typedef bool (* sttpe_support_recognition_type)(const char* type); +typedef bool (*sttpe_support_recognition_type)(const char* type); /** * @brief Gets recording format of the engine. @@ -283,7 +298,7 @@ typedef bool (* sttpe_support_recognition_type)(const char* type); * @retval #STTP_ERROR_NONE Successful * @retval #STTP_ERROR_INVALID_STATE Not initialized */ -typedef int (* sttpe_get_recording_format)(sttp_audio_type_e* types, int* rate, int* channels); +typedef int (*sttpe_get_recording_format)(sttp_audio_type_e* types, int* rate, int* channels); /** * @brief Sets silence detection option. @@ -295,7 +310,7 @@ typedef int (* sttpe_get_recording_format)(sttp_audio_type_e* types, int* rate, * @retval #STTP_ERROR_INVALID_STATE Not initialized * @retval #STTP_ERROR_NOT_SUPPORTED_FEATURE Not supported feature */ -typedef int (* sttpe_set_silence_detection)(bool value); +typedef int (*sttpe_set_silence_detection)(bool value); /** * @brief Gets whether application is agreed to get engine service. @@ -308,7 +323,7 @@ typedef int (* sttpe_set_silence_detection)(bool value); * @retval #STTP_ERROR_INVALID_STATE Not initialized * @retval #STTP_ERROR_NOT_SUPPORTED_FEATURE Not supported feature */ -typedef int (* sttpe_check_app_agreed)(const char* appid, bool* value); +typedef int (*sttpe_check_app_agreed)(const char* appid, bool* value); /** * @brief Retrieves result time info in recognition callback of daemon. @@ -326,13 +341,14 @@ typedef int (* sttpe_check_app_agreed)(const char* appid, bool* value); * * @see sttpe_result_time_cb() */ -typedef int (* sttpe_foreach_result_time)(void* time_info, sttpe_result_time_cb callback, void* user_data); +typedef int (*sttpe_foreach_result_time)(void* time_info, sttpe_result_time_cb callback, void* user_data); /** * @brief Start recognition. * * @param[in] language A language. * @param[in] type A recognition type. (e.g. #STTP_RECOGNITION_TYPE_FREE, #STTP_RECOGNITION_TYPE_WEB_SEARCH) +* @parma[in] credential The app credential to allow recognition * @param[in] user_data The user data to be passed to the callback function. * * @return 0 on success, otherwise a negative error value @@ -342,6 +358,7 @@ typedef int (* sttpe_foreach_result_time)(void* time_info, sttpe_result_time_cb * @retval #STTP_ERROR_INVALID_LANGUAGE Invalid language * @retval #STTP_ERROR_OPERATION_FAILED Operation failed * @retval #STTP_ERROR_OUT_OF_NETWORK Out of network +* @retval #STTP_ERROR_PERMISSION_DENIED Permission denied * * @pre The engine is not in recognition processing. * @@ -349,7 +366,7 @@ typedef int (* sttpe_foreach_result_time)(void* time_info, sttpe_result_time_cb * @see sttpe_stop() * @see sttpe_cancel() */ -typedef int (* sttpe_start)(const char* language, const char* type, void *user_data); +typedef int (* sttpe_start)(const char* language, const char* type, const char* credential, void *user_data); /** * @brief Sets recording data for speech recognition from recorder. @@ -372,7 +389,7 @@ typedef int (* sttpe_start)(const char* language, const char* type, void *user_d * @see sttpe_cancel() * @see sttpe_stop() */ -typedef int (* sttpe_set_recording_data)(const void* data, unsigned int length); +typedef int (*sttpe_set_recording_data)(const void* data, unsigned int length); /** * @brief Stops to set recording data. @@ -391,7 +408,7 @@ typedef int (* sttpe_set_recording_data)(const void* data, unsigned int length); * @see sttpe_result_cb() * @see sttpe_cancel() */ -typedef int (* sttpe_stop)(void); +typedef int (*sttpe_stop)(void); /** * @brief Cancels the recognition process. @@ -404,7 +421,7 @@ typedef int (* sttpe_stop)(void); * @see sttpe_start() * @see sttpe_stop() */ -typedef int (* sttpe_cancel)(void); +typedef int (*sttpe_cancel)(void); /** * @brief Start recognition of file. @@ -428,7 +445,7 @@ typedef int (* sttpe_cancel)(void); * * @see sttpe_cancel_file() */ -typedef int (* sttpe_start_file)(const char* language, const char* type, const char* filepath, +typedef int (*sttpe_start_file)(const char* language, const char* type, const char* filepath, sttp_audio_type_e audio_type, int sample_rate, void *user_data); /** @@ -441,7 +458,39 @@ typedef int (* sttpe_start_file)(const char* language, const char* type, const c * * @see sttpe_start_file() */ -typedef int (* sttpe_cancel_file)(void); +typedef int (*sttpe_cancel_file)(void); + +/** +* @brief Set private data. +* @since_tizen 3.0 +* +* @param[in] key Key field of private data. +* @param[in] data Data field of private data. +* +* @return 0 on success, otherwise a negative error value +* @retval #STTP_ERROR_NONE Successful +* @retval #STTP_ERROR_INVALID_PARAMETER Invalid parameter +* @retval #STTP_ERROR_OPERATION_FAILED Operation failed +* +* @see sttpe_get_private_data() +*/ +typedef int (* sttpe_set_private_data)(const char* key, const char* data); + +/** +* @brief Get private data. +* @since_tizen 3.0 +* +* @param[out] key Key field of private data. +* @param[out] data Data field of private data. +* +* @return 0 on success, otherwise a negative error value +* @retval #STTP_ERROR_NONE Successful +* @retval #STTP_ERROR_INVALID_PARAMETER Invalid parameter +* @retval #STTP_ERROR_OPERATION_FAILED Operation failed +* +* @see sttpe_set_private_data() +*/ +typedef int (* sttpe_get_private_data)(const char* key, char** data); /** * @brief A structure of the engine functions. @@ -458,6 +507,7 @@ typedef struct { sttpe_is_valid_language is_valid_lang; /**< Check language */ sttpe_support_silence_detection support_silence; /**< Get silence detection support */ sttpe_support_recognition_type support_recognition_type; /**< Get recognition type support */ + sttpe_need_app_credential need_app_credential; /**< Get app credential necessity*/ sttpe_get_recording_format get_audio_format; /**< Get audio format */ sttpe_foreach_result_time foreach_result_time; /**< Foreach result time */ @@ -476,6 +526,10 @@ typedef struct { /* Control file recognition */ sttpe_start_file start_file; /**< Start recognition */ sttpe_cancel_file cancel_file; /**< Cancel recognition */ + + /* Set/Get private data */ + sttpe_set_private_data set_private_data; /**< Set private data */ + sttpe_get_private_data get_private_data; /**< Get private data */ } sttpe_funcs_s; /**