/*
-* Copyright (c) 2011-2015 Samsung Electronics Co., Ltd All Rights Reserved
+* Copyright (c) 2011-2019 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.
#include "vc_config_mgr.h"
#include "vc_main.h"
+#include "vc_setting_tidl.h"
#include "voice_control_common.h"
#include "voice_control_setting.h"
VC_SETTING_STATE_READY
} vc_setting_state_e;
-#define VC_SETTING_CONFIG_HANDLE 300000
+#define VC_SETTING_CONFIG_HANDLE 30000000
static vc_setting_state_e g_state = VC_SETTING_STATE_NONE;
-static vc_setting_enabled_changed_cb g_callback = NULL;
+static vc_setting_supported_engine_cb g_engine_cb = NULL;
+static void* g_engine_user_data = NULL;
-static void* g_user_data = NULL;
+static vc_setting_engine_changed_cb g_engine_changed_cb = NULL;
+static void* g_engine_changed_user_data = NULL;
-static vc_setting_current_language_changed_cb g_lang_callback = NULL;
+static vc_setting_enabled_changed_cb g_enabled_changed_cb = NULL;
+static void* g_enabled_changed_user_data = NULL;
-static void* g_lang_user_data = NULL;
-
-const char* vc_tag()
-{
- return TAG_VCS;
-}
+static vc_setting_current_language_changed_cb g_current_language_changed_cb = NULL;
+static void* g_current_language_changed_user_data = NULL;
void __config_lang_changed_cb(const char* before_lang, const char* current_lang)
{
SLOG(LOG_DEBUG, TAG_VCS, "Lang changed : before(%s) current(%s)", before_lang, current_lang);
- if (NULL != g_lang_callback) {
- g_lang_callback(before_lang, current_lang, g_lang_user_data);
+ if (NULL != g_current_language_changed_cb) {
+ g_current_language_changed_cb(before_lang, current_lang, g_current_language_changed_user_data);
}
}
{
SLOG(LOG_DEBUG, TAG_VCS, "Service enabled changed : %s", enabled ? "on" : "off");
- if (NULL != g_callback) {
- g_callback(enabled, g_user_data);
+ if (NULL != g_enabled_changed_cb) {
+ g_enabled_changed_cb(enabled, g_enabled_changed_user_data);
}
return;
}
-int vc_setting_initialize(void)
+void __vc_setting_engine_changed_cb(const char* engine_appid)
{
- SLOG(LOG_DEBUG, TAG_VCS, "===== Initialize VC Setting");
+ SLOG(LOG_DEBUG, TAG_VCS, "Service enabled changed : engine appid(%s)", engine_appid);
- if (VC_SETTING_STATE_READY == g_state) {
- SLOG(LOG_WARN, TAG_VCS, "[WARNING] VC Setting has already been initialized.");
- SLOG(LOG_DEBUG, TAG_VCS, "=====");
- SLOG(LOG_DEBUG, TAG_VCS, " ");
- return VC_ERROR_NONE;
+ if (NULL != g_engine_changed_cb) {
+ g_engine_changed_cb(engine_appid, g_engine_changed_user_data);
}
+ return;
+}
+
+int vc_setting_initialize(void)
+{
+ SLOG(LOG_DEBUG, TAG_VCS, "@@@ Initialize VC Setting");
+
+ RETVM_IF(VC_SETTING_STATE_READY == g_state, VC_ERROR_NONE, TAG_VCS, "[WARNING] VC Setting has already been initialized.");
+
int ret = vc_config_mgr_initialize(getpid() + VC_SETTING_CONFIG_HANDLE);
if (0 != ret) {
SLOG(LOG_ERROR, TAG_VCS, "[ERROR] Fail to initialize config manager");
- SLOG(LOG_DEBUG, TAG_VCS, "=====");
- SLOG(LOG_DEBUG, TAG_VCS, " ");
return VC_ERROR_OPERATION_FAILED;
}
ret = vc_config_mgr_set_lang_cb(getpid() + VC_SETTING_CONFIG_HANDLE, __config_lang_changed_cb);
if (0 != ret) {
SLOG(LOG_ERROR, TAG_VCS, "[ERROR] Fail to initialize config manager");
- SLOG(LOG_DEBUG, TAG_VCS, "=====");
- SLOG(LOG_DEBUG, TAG_VCS, " ");
+ vc_config_mgr_finalize(getpid() + VC_SETTING_CONFIG_HANDLE);
return VC_ERROR_OPERATION_FAILED;
}
ret = vc_config_mgr_set_enabled_cb(getpid() + VC_SETTING_CONFIG_HANDLE, __vc_setting_enabled_changed_cb);
+ ret = vc_config_mgr_set_engine_cb(getpid() + VC_SETTING_CONFIG_HANDLE, __vc_setting_engine_changed_cb);
g_state = VC_SETTING_STATE_READY;
- SLOG(LOG_DEBUG, TAG_VCS, "=====");
- SLOG(LOG_DEBUG, TAG_VCS, " ");
+ SLOG(LOG_DEBUG, TAG_VCS, "@@@ Initialize VC Setting DONE");
return VC_ERROR_NONE;
}
int vc_setting_deinitialize()
{
- SLOG(LOG_DEBUG, TAG_VCS, "===== Deinitialize VC Setting");
+ SLOG(LOG_DEBUG, TAG_VCS, "@@@ Deinitialize VC Setting");
+
+ RETVM_IF(VC_SETTING_STATE_READY != g_state, VC_ERROR_INVALID_STATE, TAG_VCS, "[WARNING] VC Setting is not initialized");
vc_config_mgr_unset_lang_cb(getpid() + VC_SETTING_CONFIG_HANDLE);
+ vc_config_mgr_unset_engine_cb(getpid() + VC_SETTING_CONFIG_HANDLE);
vc_config_mgr_finalize(getpid() + VC_SETTING_CONFIG_HANDLE);
g_state = VC_SETTING_STATE_NONE;
- SLOG(LOG_DEBUG, TAG_VCS, "=====");
- SLOG(LOG_DEBUG, TAG_VCS, " ");
+ SLOG(LOG_DEBUG, TAG_VCS, "@@@ Deinitialize VC Setting DONE");
return VC_ERROR_NONE;
}
-int vc_setting_foreach_supported_languages(vc_setting_supported_language_cb callback, void* user_data)
+static bool __config_mgr_get_engine_list(const char *engine_name, const char *engine_id, const char *setting_path, const char *default_lang, bool non_fixed_support, void *user_data)
{
- SLOG(LOG_DEBUG, TAG_VCS, "===== Foreach supported languages");
+ return g_engine_cb(engine_name, engine_id, setting_path, default_lang, non_fixed_support, g_engine_user_data);
+}
+
+int vc_setting_foreach_supported_engines(vc_setting_supported_engine_cb callback, void* user_data)
+{
+ SLOG(LOG_DEBUG, TAG_VCS, "===== Foreach supported engines");
+
+ RETVM_IF(VC_SETTING_STATE_NONE == g_state, VC_ERROR_INVALID_STATE, TAG_VCS, "[ERROR] Not initialized");
+
+ RETVM_IF(NULL == callback, VC_ERROR_INVALID_PARAMETER, TAG_VCS, "[ERROR] Invalid parameter");
+
+ SLOG(LOG_DEBUG, TAG_VCS, "===== Foreach supported engines 11");
+ g_engine_cb = callback;
+ g_engine_user_data = user_data;
- if (VC_SETTING_STATE_NONE == g_state) {
- SLOG(LOG_ERROR, TAG_VCS, "[ERROR] Not initialized");
- SLOG(LOG_DEBUG, TAG_VCS, "=====");
- SLOG(LOG_DEBUG, TAG_VCS, " ");
- return VC_ERROR_INVALID_STATE;
+ int ret = vc_config_mgr_get_engine_list(__config_mgr_get_engine_list, NULL);
+ if (0 != ret) {
+ SLOG(LOG_ERROR, TAG_VCS, "[ERROR] Result : %d", ret);
+ } else {
+ SLOG(LOG_DEBUG, TAG_VCS, "[SUCCESS] Foreach supported engines");
}
- if (NULL == callback) {
- SLOG(LOG_ERROR, TAG_VCS, "[ERROR] Param is NULL");
- SLOG(LOG_DEBUG, TAG_VCS, "=====");
- SLOG(LOG_DEBUG, TAG_VCS, " ");
- return VC_ERROR_INVALID_PARAMETER;
+
+ return ret;
+}
+
+int vc_setting_get_engine(char** engine_id)
+{
+ SLOG(LOG_DEBUG, TAG_VCS, "===== Get current engine");
+
+ RETVM_IF(VC_SETTING_STATE_NONE == g_state, VC_ERROR_INVALID_STATE, TAG_VCS, "[ERROR] Not initialized");
+
+ RETVM_IF(NULL == engine_id, VC_ERROR_INVALID_PARAMETER, TAG_VCS, "[ERROR] Engine id is NULL");
+
+ int ret = vc_config_mgr_get_engine(engine_id);
+ if (0 != ret) {
+ SLOG(LOG_ERROR, TAG_VCS, "[ERROR] Result : %d", ret);
+ } else {
+ SLOG(LOG_DEBUG, TAG_VCS, "[SUCCESS] Get current engine");
}
+
+ return ret;
+}
+
+int vc_setting_set_engine(const char* engine_appid)
+{
+ SLOG(LOG_DEBUG, TAG_VCS, "===== Set current engine");
+
+ RETVM_IF(VC_SETTING_STATE_NONE == g_state, VC_ERROR_INVALID_STATE, TAG_VCS, "[ERROR] Not initialized");
+
+ RETVM_IF(NULL == engine_appid, VC_ERROR_INVALID_PARAMETER, TAG_VCS, "[ERROR] Engine appid is NULL");
+
+ SECURE_SLOG(LOG_DEBUG, TAG_VCS, "New engine appid : %s", engine_appid);
+
+ int ret = vc_config_mgr_set_engine(engine_appid);
+ if (0 != ret) {
+ SLOG(LOG_ERROR, TAG_VCS, "[ERROR] Result : %d", ret);
+ } else {
+ SLOG(LOG_DEBUG, TAG_VCS, "[SUCCESS] Set current engine");
+ }
+
+
+ return ret;
+}
+
+int vc_setting_foreach_supported_languages(vc_setting_supported_language_cb callback, void* user_data)
+{
+ SLOG(LOG_DEBUG, TAG_VCS, "@@@ Foreach supported languages");
+
+ RETVM_IF(VC_SETTING_STATE_NONE == g_state, VC_ERROR_INVALID_STATE, TAG_VCS, "[ERROR] Not initialized");
+
+ RETVM_IF(NULL == callback, VC_ERROR_INVALID_PARAMETER, TAG_VCS, "[ERROR] Invalid parameter");
+
int ret = vc_config_mgr_get_language_list((vc_supported_language_cb)callback, user_data);
if (0 != ret) {
SLOG(LOG_ERROR, TAG_VCS, "[ERROR] Result : %d", ret);
SLOG(LOG_DEBUG, TAG_VCS, "[SUCCESS] Foreach supported languages");
}
- SLOG(LOG_DEBUG, TAG_VCS, "=====");
- SLOG(LOG_DEBUG, TAG_VCS, " ");
+ SLOG(LOG_DEBUG, TAG_VCS, "@@@ Foreach supported languages DONE");
return ret;
}
int vc_setting_get_language(char** language)
{
- SLOG(LOG_DEBUG, TAG_VCS, "===== Get default language");
+ SLOG(LOG_DEBUG, TAG_VCS, "@@@ Get default language");
- if (VC_SETTING_STATE_NONE == g_state) {
- SLOG(LOG_ERROR, TAG_VCS, "[ERROR] Not initialized");
- SLOG(LOG_DEBUG, TAG_VCS, "=====");
- SLOG(LOG_DEBUG, TAG_VCS, " ");
- return VC_ERROR_INVALID_STATE;
- }
+ RETVM_IF(VC_SETTING_STATE_NONE == g_state, VC_ERROR_INVALID_STATE, TAG_VCS, "[ERROR] Not initialized");
- if (NULL == language) {
- SLOG(LOG_ERROR, TAG_VCS, "[ERROR] Input parameter is NULL");
- SLOG(LOG_DEBUG, TAG_VCS, "=====");
- SLOG(LOG_DEBUG, TAG_VCS, " ");
- return VC_ERROR_INVALID_PARAMETER;
- }
+ RETVM_IF(NULL == language, VC_ERROR_INVALID_PARAMETER, TAG_VCS, "[ERROR] Invalid parameter");
int ret = vc_config_mgr_get_default_language(language);
if (0 != ret) {
SLOG(LOG_DEBUG, TAG_VCS, "[SUCCESS] Get default language");
}
- SLOG(LOG_DEBUG, TAG_VCS, "=====");
- SLOG(LOG_DEBUG, TAG_VCS, " ");
+ SLOG(LOG_DEBUG, TAG_VCS, "@@@ Get default language DONE");
return ret;
}
int vc_setting_set_language(const char* language)
{
- SLOG(LOG_DEBUG, TAG_VCS, "===== Set default language");
+ SLOG(LOG_DEBUG, TAG_VCS, "@@@ Set default language");
- if (VC_SETTING_STATE_NONE == g_state) {
- SLOG(LOG_ERROR, TAG_VCS, "[ERROR] Not initialized");
- SLOG(LOG_DEBUG, TAG_VCS, "=====");
- SLOG(LOG_DEBUG, TAG_VCS, " ");
- return VC_ERROR_INVALID_STATE;
- }
+ RETVM_IF(VC_SETTING_STATE_NONE == g_state, VC_ERROR_INVALID_STATE, TAG_VCS, "[ERROR] Not initialized");
- if (NULL == language) {
- SLOG(LOG_ERROR, TAG_VCS, "[ERROR] Input parameter is NULL");
- SLOG(LOG_DEBUG, TAG_VCS, "=====");
- SLOG(LOG_DEBUG, TAG_VCS, " ");
- return VC_ERROR_INVALID_PARAMETER;
- }
+ RETVM_IF(NULL == language, VC_ERROR_INVALID_PARAMETER, TAG_VCS, "[ERROR] Invalid parameter");
int ret = vc_config_mgr_set_default_language(language);
if (0 != ret) {
SLOG(LOG_ERROR, TAG_VCS, "[ERROR] Result : %d", ret);
} else {
- SLOG(LOG_DEBUG, TAG_VCS, "[SUCCESS] Set default language");
+ // TODO: Need to reorder.
+ if (0 != vc_setting_tidl_open_connection()) {
+ SLOG(LOG_ERROR, TAG_VCS, "[ERROR] Fail to open connection");
+ return VC_ERROR_OPERATION_FAILED;
+ }
+
+ if (0 != vc_setting_tidl_request_hello()) {
+ SLOG(LOG_DEBUG, TAG_VCS, "[DEBUG] Daemon is not available");
+ } else {
+ ret = vc_setting_tidl_request_set_language(getpid(), language);
+ SLOG(LOG_DEBUG, TAG_VCS, "[DEBUG] Set default language (%d)", ret);
+ }
+
+ if (0 != vc_setting_tidl_close_connection()) {
+ SLOG(LOG_ERROR, TAG_VCS, "[ERROR] Fail to close connection");
+ return VC_ERROR_OPERATION_FAILED;
+ }
}
- SLOG(LOG_DEBUG, TAG_VCS, "=====");
- SLOG(LOG_DEBUG, TAG_VCS, " ");
+ SLOG(LOG_DEBUG, TAG_VCS, "@@@ Set default language DONE");
return ret;
}
int vc_setting_set_auto_language(bool value)
{
- SLOG(LOG_DEBUG, TAG_VCS, "===== Set auto voice");
+ SLOG(LOG_DEBUG, TAG_VCS, "@@@ Set auto voice");
- if (VC_SETTING_STATE_NONE == g_state) {
- SLOG(LOG_ERROR, TAG_VCS, "[ERROR] Not initialized");
- SLOG(LOG_DEBUG, TAG_VCS, "=====");
- SLOG(LOG_DEBUG, TAG_VCS, " ");
- return VC_ERROR_INVALID_STATE;
- }
+ RETVM_IF(VC_SETTING_STATE_NONE == g_state, VC_ERROR_INVALID_STATE, TAG_VCS, "[ERROR] Not initialized");
if (value != true && value != false) {
SLOG(LOG_ERROR, TAG_VCS, "[ERROR] Invalid value");
- SLOG(LOG_DEBUG, TAG_VCS, "=====");
- SLOG(LOG_DEBUG, TAG_VCS, " ");
return VC_ERROR_INVALID_PARAMETER;
}
SLOG(LOG_DEBUG, TAG_VCS, "[SUCCESS] Set auto language (%s)", value ? "on" : "off");
}
- SLOG(LOG_DEBUG, TAG_VCS, "=====");
- SLOG(LOG_DEBUG, TAG_VCS, " ");
+ SLOG(LOG_DEBUG, TAG_VCS, "@@@ Set auto voice DONE");
return ret;
}
int vc_setting_get_auto_language(bool* value)
{
- SLOG(LOG_DEBUG, TAG_VCS, "===== Get auto language");
+ SLOG(LOG_DEBUG, TAG_VCS, "@@@ Get auto language");
- if (VC_SETTING_STATE_NONE == g_state) {
- SLOG(LOG_ERROR, TAG_VCS, "[ERROR] Not initialized");
- SLOG(LOG_DEBUG, TAG_VCS, "=====");
- SLOG(LOG_DEBUG, TAG_VCS, " ");
- return VC_ERROR_INVALID_STATE;
- }
+ RETVM_IF(VC_SETTING_STATE_NONE == g_state, VC_ERROR_INVALID_STATE, TAG_VCS, "[ERROR] Not initialized");
- if (NULL == value) {
- SLOG(LOG_ERROR, TAG_VCS, "[ERROR] Param is NULL");
- SLOG(LOG_DEBUG, TAG_VCS, "=====");
- SLOG(LOG_DEBUG, TAG_VCS, " ");
- return VC_ERROR_INVALID_PARAMETER;
- }
+ RETVM_IF(NULL == value, VC_ERROR_INVALID_PARAMETER, TAG_VCS, "[ERROR] Invalid parameter");
int ret = vc_config_mgr_get_auto_language(value);
if (0 != ret) {
SLOG(LOG_DEBUG, TAG_VCS, "[SUCCESS] Get auto language (%s)", *value ? "true" : "false");
}
- SLOG(LOG_DEBUG, TAG_VCS, "=====");
- SLOG(LOG_DEBUG, TAG_VCS, " ");
+ SLOG(LOG_DEBUG, TAG_VCS, "@@@ Get auto language DONE");
- return 0;
+ return VC_ERROR_NONE;
}
int vc_setting_set_enabled(bool value)
{
- SLOG(LOG_DEBUG, TAG_VCS, "===== Set service enabled");
+ SLOG(LOG_DEBUG, TAG_VCS, "@@@ Set service enabled");
- if (VC_SETTING_STATE_NONE == g_state) {
- SLOG(LOG_ERROR, TAG_VCS, "[ERROR] Not initialized");
- SLOG(LOG_DEBUG, TAG_VCS, "=====");
- SLOG(LOG_DEBUG, TAG_VCS, " ");
- return VC_ERROR_INVALID_STATE;
- }
+ RETVM_IF(VC_SETTING_STATE_NONE == g_state, VC_ERROR_INVALID_STATE, TAG_VCS, "[ERROR] Not initialized");
if (value != true && value != false) {
SLOG(LOG_ERROR, TAG_VCS, "[ERROR] Invalid value");
- SLOG(LOG_DEBUG, TAG_VCS, "=====");
- SLOG(LOG_DEBUG, TAG_VCS, " ");
return VC_ERROR_INVALID_PARAMETER;
}
SLOG(LOG_DEBUG, TAG_VCS, "[SUCCESS] Set service enabled (%s)", value ? "on" : "off");
}
- SLOG(LOG_DEBUG, TAG_VCS, "=====");
- SLOG(LOG_DEBUG, TAG_VCS, " ");
+ SLOG(LOG_DEBUG, TAG_VCS, "@@@ Set service enabled DONE");
return ret;
}
int vc_setting_get_enabled(bool* value)
{
- SLOG(LOG_DEBUG, TAG_VCS, "===== Get service enabled");
+ SLOG(LOG_DEBUG, TAG_VCS, "@@@ Get service enabled");
- if (VC_SETTING_STATE_NONE == g_state) {
- SLOG(LOG_ERROR, TAG_VCS, "[ERROR] Not initialized");
- SLOG(LOG_DEBUG, TAG_VCS, "=====");
- SLOG(LOG_DEBUG, TAG_VCS, " ");
- return VC_ERROR_INVALID_STATE;
- }
+ RETVM_IF(VC_SETTING_STATE_NONE == g_state, VC_ERROR_INVALID_STATE, TAG_VCS, "[ERROR] Not initialized");
- if (NULL == value) {
- SLOG(LOG_ERROR, TAG_VCS, "[ERROR] Param is NULL");
- SLOG(LOG_DEBUG, TAG_VCS, "=====");
- SLOG(LOG_DEBUG, TAG_VCS, " ");
- return VC_ERROR_INVALID_PARAMETER;
- }
+ RETVM_IF(NULL == value, VC_ERROR_INVALID_PARAMETER, TAG_VCS, "[ERROR] Invalid parameter");
int ret = vc_config_mgr_get_enabled(value);
if (0 != ret) {
SLOG(LOG_DEBUG, TAG_VCS, "[SUCCESS] Get service enabled (%s)", *value ? "on" : "off");
}
- SLOG(LOG_DEBUG, TAG_VCS, "=====");
- SLOG(LOG_DEBUG, TAG_VCS, " ");
+ SLOG(LOG_DEBUG, TAG_VCS, "@@@ Get service enabled DONE");
return ret;
}
int vc_setting_set_enabled_changed_cb(vc_setting_enabled_changed_cb callback, void* user_data)
{
- SLOG(LOG_DEBUG, TAG_VCS, "===== Set service enabled callback");
+ SLOG(LOG_DEBUG, TAG_VCS, "@@@ Set service enabled callback");
- if (VC_SETTING_STATE_NONE == g_state) {
- SLOG(LOG_ERROR, TAG_VCS, "[ERROR] Not initialized");
- SLOG(LOG_DEBUG, TAG_VCS, "=====");
- SLOG(LOG_DEBUG, TAG_VCS, " ");
- return VC_ERROR_INVALID_STATE;
- }
+ RETVM_IF(VC_SETTING_STATE_NONE == g_state, VC_ERROR_INVALID_STATE, TAG_VCS, "[ERROR] Not initialized");
- if (NULL == callback) {
- SLOG(LOG_ERROR, TAG_VCS, "[ERROR] Param is NULL");
- SLOG(LOG_DEBUG, TAG_VCS, "=====");
- SLOG(LOG_DEBUG, TAG_VCS, " ");
- return VC_ERROR_INVALID_PARAMETER;
- }
+ RETVM_IF(NULL == callback, VC_ERROR_INVALID_PARAMETER, TAG_VCS, "[ERROR] Invalid parameter");
- g_callback = callback;
- g_user_data = user_data;
+ g_enabled_changed_cb = callback;
+ g_enabled_changed_user_data = user_data;
- SLOG(LOG_DEBUG, TAG_VCS, "=====");
- SLOG(LOG_DEBUG, TAG_VCS, " ");
+ SLOG(LOG_DEBUG, TAG_VCS, "@@@ Set service enabled callback DONE");
- return 0;
+ return VC_ERROR_NONE;
}
int vc_setting_unset_enabled_changed_cb()
{
- SLOG(LOG_DEBUG, TAG_VCS, "===== Unset service enabled callback");
+ SLOG(LOG_DEBUG, TAG_VCS, "@@@ Unset service enabled callback");
- if (VC_SETTING_STATE_NONE == g_state) {
- SLOG(LOG_ERROR, TAG_VCS, "[ERROR] Not initialized");
- SLOG(LOG_DEBUG, TAG_VCS, "=====");
- SLOG(LOG_DEBUG, TAG_VCS, " ");
- return VC_ERROR_INVALID_STATE;
- }
+ RETVM_IF(VC_SETTING_STATE_NONE == g_state, VC_ERROR_INVALID_STATE, TAG_VCS, "[ERROR] Not initialized");
- g_callback = NULL;
- g_user_data = NULL;
+ g_enabled_changed_cb = NULL;
+ g_enabled_changed_user_data = NULL;
- SLOG(LOG_DEBUG, TAG_VCS, "=====");
- SLOG(LOG_DEBUG, TAG_VCS, " ");
+ SLOG(LOG_DEBUG, TAG_VCS, "@@@ Unset service enabled callback DONE");
- return 0;
+ return VC_ERROR_NONE;
}
int vc_setting_set_current_language_changed_cb(vc_setting_current_language_changed_cb callback, void* user_data)
{
- SLOG(LOG_DEBUG, TAG_VCS, "===== Set current language changed callback");
+ SLOG(LOG_DEBUG, TAG_VCS, "@@@ Set current language changed callback");
- if (VC_SETTING_STATE_NONE == g_state) {
- SLOG(LOG_ERROR, TAG_VCS, "[ERROR] Not initialized");
- SLOG(LOG_DEBUG, TAG_VCS, "=====");
- SLOG(LOG_DEBUG, TAG_VCS, " ");
- return VC_ERROR_INVALID_STATE;
- }
+ RETVM_IF(VC_SETTING_STATE_NONE == g_state, VC_ERROR_INVALID_STATE, TAG_VCS, "[ERROR] Not initialized");
- if (NULL == callback) {
- SLOG(LOG_ERROR, TAG_VCS, "[ERROR] Param is NULL");
- SLOG(LOG_DEBUG, TAG_VCS, "=====");
- SLOG(LOG_DEBUG, TAG_VCS, " ");
- return VC_ERROR_INVALID_PARAMETER;
- }
+ RETVM_IF(NULL == callback, VC_ERROR_INVALID_PARAMETER, TAG_VCS, "[ERROR] Invalid parameter");
- g_lang_callback = callback;
- g_lang_user_data = user_data;
+ g_current_language_changed_cb = callback;
+ g_current_language_changed_user_data = user_data;
- SLOG(LOG_DEBUG, TAG_VCS, "=====");
- SLOG(LOG_DEBUG, TAG_VCS, " ");
+ SLOG(LOG_DEBUG, TAG_VCS, "@@@ Set current language changed callback DONE");
- return 0;
+ return VC_ERROR_NONE;
}
int vc_setting_unset_current_language_changed_cb()
{
- SLOG(LOG_DEBUG, TAG_VCS, "===== Unset current language changed callback");
+ SLOG(LOG_DEBUG, TAG_VCS, "@@@ Unset current language changed callback");
- if (VC_SETTING_STATE_NONE == g_state) {
- SLOG(LOG_ERROR, TAG_VCS, "[ERROR] Not initialized");
- SLOG(LOG_DEBUG, TAG_VCS, "=====");
- SLOG(LOG_DEBUG, TAG_VCS, " ");
- return VC_ERROR_INVALID_STATE;
- }
+ RETVM_IF(VC_SETTING_STATE_NONE == g_state, VC_ERROR_INVALID_STATE, TAG_VCS, "[ERROR] Not initialized");
+
+ g_current_language_changed_cb = NULL;
+ g_current_language_changed_user_data = NULL;
+
+ SLOG(LOG_DEBUG, TAG_VCS, "@@@ Unset current language changed callback");
- g_lang_callback = NULL;
- g_lang_user_data = NULL;
+ return VC_ERROR_NONE;
+}
+
+int vc_setting_set_engine_changed_cb(vc_setting_engine_changed_cb callback, void *user_data)
+{
+ SLOG(LOG_DEBUG, TAG_VCS, "@@@ Set engine changed callback");
+
+ RETVM_IF(NULL == callback, VC_ERROR_INVALID_PARAMETER, TAG_VCS, "[ERROR] Invalid parameter");
- SLOG(LOG_DEBUG, TAG_VCS, "=====");
- SLOG(LOG_DEBUG, TAG_VCS, " ");
+ g_engine_changed_cb = callback;
+ g_engine_changed_user_data = user_data;
- return 0;
+ SLOG(LOG_DEBUG, TAG_VCS, "@@@ Set engine changed callback DONE");
+ return VC_ERROR_NONE;
}
+int vc_setting_unset_engine_changed_cb()
+{
+ SLOG(LOG_DEBUG, TAG_VCS, "@@@ Unset engine changed callback");
+
+ RETVM_IF(VC_SETTING_STATE_NONE == g_state, VC_ERROR_INVALID_STATE, TAG_VCS, "[ERROR] Not initialized");
+
+ g_engine_changed_cb = NULL;
+ g_engine_changed_user_data = NULL;
+
+ SLOG(LOG_DEBUG, TAG_VCS, "@@@ Unset engine changed callback DONE");
+ return VC_ERROR_NONE;
+}