int ttsd_engine_agent_load_current_engine(ttse_request_callback_s* callback)
{
- SLOG(LOG_DEBUG, tts_tag(), "[Engine Agent DEBUG] === ttsd_engine_agent_load_current_engine START");
+ SLOG(LOG_DEBUG, tts_tag(), "[Engine Agent DEBUG] load current engine START");
if (false == g_agent_init) {
data = iter->data;
if (NULL != data) {
- if (NULL != data->lang) free(data->lang);
+ if (NULL != data->lang) {
+ free(data->lang);
+ data->lang = NULL;
+ }
g_cur_voices = g_slist_remove(g_cur_voices, data);
free(data);
data = NULL;
iter = g_slist_next(iter);
}
- if (NULL != g_engine_info->default_lang) free(g_engine_info->default_lang);
+ if (NULL != g_engine_info->default_lang) {
+ free(g_engine_info->default_lang);
+ g_engine_info->default_lang = NULL;
+ }
g_engine_info->default_lang = strdup(language);
g_engine_info->default_vctype = vctype;
int temp_type;
if (true != ttsd_engine_select_valid_voice(lang, vctype, &temp_lang, &temp_type)) {
SLOG(LOG_ERROR, tts_tag(), "[Engine Agent ERROR] Fail to select default voice");
- if (NULL != temp_lang) free(temp_lang);
+ if (NULL != temp_lang) {
+ free(temp_lang);
+ temp_lang = NULL;
+ }
return TTSD_ERROR_INVALID_VOICE;
} else {
SECURE_SLOG(LOG_DEBUG, tts_tag(), "[Engine Agent] Start synthesis : language(%s), type(%d), speed(%d), text(%s), credential(%s)",
return ret;
}
+int ttsd_engine_check_app_agreed(const char* appid, bool* is_agreed)
+{
+ if (false == g_agent_init) {
+ SLOG(LOG_ERROR, tts_tag(), "[Engine Agent ERROR] Not Initialized");
+ return TTSD_ERROR_OPERATION_FAILED;
+ }
+
+ if (false == g_engine_info->is_loaded) {
+ SLOG(LOG_ERROR, tts_tag(), "[Engine Agent ERROR] No loaded engine");
+ return TTSD_ERROR_ENGINE_NOT_FOUND;
+ }
+
+ if (NULL == appid || NULL == is_agreed) {
+ SLOG(LOG_WARN, tts_tag(), "[Engine Agent WARNING] Invalid parameter, appid is NULL");
+ return TTSD_ERROR_NONE;
+ }
+
+
+ if (NULL == g_engine_info->callbacks->check_app_agreed) {
+ SLOG(LOG_ERROR, tts_tag(), "[Engine Agent ERROR] Not supported feature");
+ return TTSD_ERROR_NOT_SUPPORTED_FEATURE;
+ }
+
+ int ret = 0;
+ bool tmp = true; // default value is true until now
+ ret = g_engine_info->callbacks->check_app_agreed(appid, &tmp);
+ if (0 != ret) {
+ SLOG(LOG_ERROR, tts_tag(), "[Engine Agent ERROR] Fail to check app agreed(%d)", ret);
+ return TTSD_ERROR_OPERATION_FAILED;
+ }
+
+ *is_agreed = tmp;
+
+ return ret;
+}
+
void __free_voice_list(GList* voice_list)
{
GList *iter = NULL;
data = iter->data;
if (NULL != data) {
- if (NULL != data->language) free(data->language);
+ if (NULL != data->language) {
+ free(data->language);
+ data->language = NULL;
+ }
free(data);
+ data = NULL;
}
voice_list = g_list_remove_link(voice_list, iter);
GSList *iter = NULL;
ttsvoice_s* data = NULL;
- SLOG(LOG_DEBUG, tts_tag(), "=== Voice list ===");
+ SLOG(LOG_DEBUG, tts_tag(), "@@@ Voice list @@@");
if (g_slist_length(g_cur_voices) > 0) {
/* Get a first item */
}
}
- SLOG(LOG_DEBUG, tts_tag(), "==================");
+ SLOG(LOG_DEBUG, tts_tag(), "@@@@@");
return 0;
}
int __internal_get_engine_info(ttse_request_callback_s* callback)
{
- SLOG(LOG_DEBUG, tts_tag(), "[Engine Agent DEBUG] === inside __internal_get_engine_info");
+ SLOG(LOG_DEBUG, tts_tag(), "[Engine Agent DEBUG] internal get engine info");
if (NULL == callback) {
SLOG(LOG_ERROR, tts_tag(), "[Engine Agent ERROR] Invalid engine");