static int g_config_fd_noti;
static int g_config_wd_noti;
-static tts_config_client_type_e g_client_type = TTS_CONFIG_CLIENT_TYPE_DEFAULT;
+static int g_client_type = 0x0;
/* For engine directory monitoring */
typedef struct {
return NULL;
}
+static bool __is_client_type(int type_flag)
+{
+ if (type_flag & g_client_type) {
+ return true;
+ }
+
+ return false;
+}
+
int __tts_config_mgr_check_engine_is_valid(const char* engine_id)
{
if (NULL == engine_id) {
return TTS_CONFIG_ERROR_INVALID_PARAMETER;
}
- if (TTS_CONFIG_CLIENT_TYPE_DEFAULT == g_client_type) {
+ if (__is_client_type(TTS_CONFIG_CLIENT_TYPE_SETTING | TTS_CONFIG_CLIENT_TYPE_SERVER | TTS_CONFIG_CLIENT_TYPE_INTERRUPT)) {
+ if (0 != tts_parser_set_engine(config_info.engine_id, config_info.setting, config_info.language, config_info.type)) {
+ SLOG(LOG_ERROR, TAG_TTSCONFIG, " Fail to save config");
+ return TTS_CONFIG_ERROR_OPERATION_FAILED;
+ }
+ } else {
SLOG(LOG_INFO, TAG_TTSCONFIG, "Client type is default. Skip saving configuration file.");
- return TTS_CONFIG_ERROR_NONE;
}
- if (0 != tts_parser_set_engine(config_info.engine_id, config_info.setting, config_info.language, config_info.type)) {
- SLOG(LOG_ERROR, TAG_TTSCONFIG, " Fail to save config");
- return TTS_CONFIG_ERROR_OPERATION_FAILED;
- }
return 0;
}
if (true == config_info.auto_voice) {
__tts_config_set_auto_language();
- if (TTS_CONFIG_CLIENT_TYPE_SERVER == g_client_type) {
+ if (__is_client_type(TTS_CONFIG_CLIENT_TYPE_SERVER)) {
if (0 != tts_parser_get_config_info(&config_info)){
SLOG(LOG_ERROR, TAG_TTSCONFIG, "[ERROR] Fail to get configure information");
return;
}
SLOG(LOG_INFO, TAG_TTSCONFIG, "Client type : %d", client_type);
- g_client_type = client_type;
+ g_client_type |= client_type;
if (0 != __tts_config_mgr_get_engine_info()) {
SLOG(LOG_ERROR, TAG_TTSCONFIG, "[ERROR] Fail to get engine info");
/* Check language with display language */
__tts_config_set_auto_language();
- if (TTS_CONFIG_CLIENT_TYPE_DEFAULT != g_client_type) {
+ if (__is_client_type(TTS_CONFIG_CLIENT_TYPE_SETTING | TTS_CONFIG_CLIENT_TYPE_SERVER | TTS_CONFIG_CLIENT_TYPE_INTERRUPT)) {
if (0 != tts_parser_get_config_info(&config_info)){
SLOG(LOG_ERROR, TAG_TTSCONFIG, "[ERROR] Fail to get configure information");
}
return TTS_CONFIG_ERROR_OPERATION_FAILED;
}
- if (TTS_CONFIG_CLIENT_TYPE_DEFAULT == g_client_type) {
- SLOG(LOG_INFO, TAG_TTSCONFIG, "Client type is default. Skip saving configuration file.");
- } else {
+ if (__is_client_type(TTS_CONFIG_CLIENT_TYPE_SETTING | TTS_CONFIG_CLIENT_TYPE_SERVER | TTS_CONFIG_CLIENT_TYPE_INTERRUPT)) {
if (0 != tts_parser_set_voice(config_info.language, config_info.type)) {
SLOG(LOG_ERROR, TAG_TTSCONFIG, "[ERROR] Fail to save config");
__tts_config_release_client(uid);
tts_parser_unload_config();
return TTS_CONFIG_ERROR_OPERATION_FAILED;
}
+ } else {
+ SLOG(LOG_INFO, TAG_TTSCONFIG, "Client type is default. Skip saving configuration file.");
}
}
}
return 0;
}
-int tts_config_mgr_finalize(int uid)
+int tts_config_mgr_finalize(int uid, tts_config_client_type_e client_type)
{
if (0 < __tts_config_release_client(uid)) {
return 0;
}
+ SLOG(LOG_INFO, TAG_TTSCONFIG, "Client type : %d", client_type);
+ g_client_type &= ~client_type;
+
tts_config_mgr_unset_callback(uid);
__tts_config_release_engine();
SECURE_SLOG(LOG_DEBUG, TAG_TTSCONFIG, " Language : %s", config_info.language);
SECURE_SLOG(LOG_DEBUG, TAG_TTSCONFIG, " Type : %d", config_info.type);
- if (TTS_CONFIG_CLIENT_TYPE_DEFAULT == g_client_type) {
+ if (__is_client_type(TTS_CONFIG_CLIENT_TYPE_SETTING | TTS_CONFIG_CLIENT_TYPE_SERVER | TTS_CONFIG_CLIENT_TYPE_INTERRUPT)) {
+ if (0 != tts_parser_set_engine(config_info.engine_id, config_info.setting,
+ config_info.language, config_info.type)) {
+ SLOG(LOG_ERROR, TAG_TTSCONFIG, " Fail to save config");
+ return TTS_CONFIG_ERROR_OPERATION_FAILED;
+ }
+ } else {
SLOG(LOG_INFO, TAG_TTSCONFIG, "Client type is default. Skip saving configuration file.");
- return TTS_CONFIG_ERROR_NONE;
- }
-
- if (0 != tts_parser_set_engine(config_info.engine_id, config_info.setting,
- config_info.language, config_info.type)) {
- SLOG(LOG_ERROR, TAG_TTSCONFIG, " Fail to save config");
- return TTS_CONFIG_ERROR_OPERATION_FAILED;
}
} else {
SLOG(LOG_ERROR, TAG_TTSCONFIG, "[ERROR] Engine id is not valid");
}
/* Check language is valid */
- if (TTS_CONFIG_CLIENT_TYPE_DEFAULT == g_client_type) {
- SLOG(LOG_INFO, TAG_TTSCONFIG, "Client type is default. Skip saving configuration file.");
- } else {
+ if (__is_client_type(TTS_CONFIG_CLIENT_TYPE_SETTING | TTS_CONFIG_CLIENT_TYPE_SERVER | TTS_CONFIG_CLIENT_TYPE_INTERRUPT)) {
if (0 != tts_parser_set_voice(language, type)) {
SLOG(LOG_ERROR, TAG_TTSCONFIG, "Fail to save default voice");
return TTS_CONFIG_ERROR_OPERATION_FAILED;
}
+ } else {
+ SLOG(LOG_INFO, TAG_TTSCONFIG, "Client type is default. Skip saving configuration file.");
}
memset(g_language, '\0', sizeof(g_language));
if (config_info.auto_voice != value) {
/* Check language is valid */
- if (TTS_CONFIG_CLIENT_TYPE_DEFAULT == g_client_type) {
- SLOG(LOG_INFO, TAG_TTSCONFIG, "Client type is default. Skip saving configuration file.");
- } else {
+ if (__is_client_type(TTS_CONFIG_CLIENT_TYPE_SETTING | TTS_CONFIG_CLIENT_TYPE_SERVER | TTS_CONFIG_CLIENT_TYPE_INTERRUPT)) {
if (0 != tts_parser_set_auto_voice(value)) {
SLOG(LOG_ERROR, TAG_TTSCONFIG, "Fail to save auto voice option");
return TTS_CONFIG_ERROR_OPERATION_FAILED;
}
+ } else {
+ SLOG(LOG_INFO, TAG_TTSCONFIG, "Client type is default. Skip saving configuration file.");
}
config_info.auto_voice = value;
if (true == config_info.auto_voice) {
__tts_config_set_auto_language();
- if (TTS_CONFIG_CLIENT_TYPE_DEFAULT != g_client_type) {
+ if (__is_client_type(TTS_CONFIG_CLIENT_TYPE_SETTING | TTS_CONFIG_CLIENT_TYPE_SERVER | TTS_CONFIG_CLIENT_TYPE_INTERRUPT)) {
if (0 != tts_parser_get_config_info(&config_info)){
SLOG(LOG_ERROR, TAG_TTSCONFIG, "[ERROR] Fail to get configure information");
}
if (TTS_CONFIG_SPEED_MIN <= value && value <= TTS_CONFIG_SPEED_MAX) {
SLOG(LOG_DEBUG, TAG_TTSCONFIG, "[Config] Set speech rate : %d", value);
- if (TTS_CONFIG_CLIENT_TYPE_DEFAULT == g_client_type) {
- SLOG(LOG_INFO, TAG_TTSCONFIG, "Client type is default. Skip saving configuration file.");
- } else {
+ if (__is_client_type(TTS_CONFIG_CLIENT_TYPE_SETTING | TTS_CONFIG_CLIENT_TYPE_SERVER | TTS_CONFIG_CLIENT_TYPE_INTERRUPT)) {
if (0 != tts_parser_set_speech_rate(value)) {
SLOG(LOG_ERROR, TAG_TTSCONFIG, "Fail to save speech rate");
return TTS_CONFIG_ERROR_OPERATION_FAILED;
}
+ } else {
+ SLOG(LOG_INFO, TAG_TTSCONFIG, "Client type is default. Skip saving configuration file.");
}
tts_config_s config_info;
}
}
- if (TTS_CONFIG_CLIENT_TYPE_DEFAULT == g_client_type) {
- SLOG(LOG_INFO, TAG_TTSCONFIG, "Client type is default. Skip saving configuration file.");
- } else {
+ if (__is_client_type(TTS_CONFIG_CLIENT_TYPE_SETTING | TTS_CONFIG_CLIENT_TYPE_SERVER | TTS_CONFIG_CLIENT_TYPE_INTERRUPT)) {
if (0 != tts_parser_set_pitch(value)) {
SLOG(LOG_ERROR, TAG_TTSCONFIG, "Fail to save speech rate");
return TTS_CONFIG_ERROR_OPERATION_FAILED;
}
+ } else {
+ SLOG(LOG_INFO, TAG_TTSCONFIG, "Client type is default. Skip saving configuration file.");
}
config_info.pitch = value;
}
SLOG(LOG_DEBUG, TAG_TTSCONFIG, "[Config] Set bg volume ratio : %lf", value);
- if (TTS_CONFIG_CLIENT_TYPE_DEFAULT == g_client_type) {
- SLOG(LOG_INFO, TAG_TTSCONFIG, "Client type is default. Skip saving configuration file.");
- } else {
- if (0 != tts_parser_set_bg_volume_ratio(value))
- {
+ if (__is_client_type(TTS_CONFIG_CLIENT_TYPE_SETTING | TTS_CONFIG_CLIENT_TYPE_SERVER | TTS_CONFIG_CLIENT_TYPE_INTERRUPT)) {
+ if (0 != tts_parser_set_bg_volume_ratio(value)) {
SLOG(LOG_ERROR, TAG_TTSCONFIG, "Fail to save bg volume ratio");
return TTS_CONFIG_ERROR_OPERATION_FAILED;
}
+ } else {
+ SLOG(LOG_INFO, TAG_TTSCONFIG, "Client type is default. Skip saving configuration file.");
}
tts_config_s config_info;