} else {
/* success to connect tts-daemon */
+ if (TTS_CREDENTIAL_NEEDED_ALREADY_INITIALIZED != credential_needed) {
client->credential_needed = credential_needed;
SLOG(LOG_ERROR, TAG_TTSC, "Supported options : credential(%s)", credential_needed ? "need" : "no need");
}
+ }
client->before_state = client->current_state;
client->current_state = TTS_STATE_READY;
dbus_error_free(&err);
} else {
SLOG(LOG_ERROR, TAG_TTSC, "@@ tts Get Hello message : uid(%d), credential_needed(%d)", uid, credential_needed);
+ if (TTS_ERROR_ALREADY_INITIALIZED == ret && TTS_CREDENTIAL_NEEDED_ALREADY_INITIALIZED == credential_needed) {
+ SLOG(LOG_INFO, TAG_TTSC, "@@ tts Get Hello message : already initialized");
+ ret = 0;
+ } else {
__tts_dbus_add_match(uid);
+ }
__tts_cb_hello(uid, ret, credential_needed);
}
#define TTS_FEATURE_PATH "tizen.org/feature/speech.synthesis"
+#define TTS_ERROR_ALREADY_INITIALIZED -999
+#define TTS_CREDENTIAL_NEEDED_ALREADY_INITIALIZED -1
+
/******************************************************************************************
* Defines for vconf key
*******************************************************************************************/
} else {
SLOG(LOG_INFO, tts_tag(), "[IN] ttsd hello : pid(%d), uid(%d)", pid, uid);
bool is_initialized = false;
+ bool credential_needed = 0;
+ int ret = -1;
ttsd_server_is_already_initialized(pid, uid, &is_initialized);
if (false == is_initialized) {
- bool credential_needed = 0;
- int ret = ttsd_server_initialize(pid, uid, &credential_needed);
+ ret = ttsd_server_initialize(pid, uid, &credential_needed);
if (0 != ret) {
SLOG(LOG_ERROR, tts_tag(), "[IN ERROR] ttsd Hello : server initialize, ret(%d)", ret);
}
+ } else {
+ SLOG(LOG_INFO, tts_tag(), "[IN] ttsd hello : already initialized. pid(%d), uid(%d)", pid, uid);
+ ret = TTS_ERROR_ALREADY_INITIALIZED;
+ credential_needed = TTS_CREDENTIAL_NEEDED_ALREADY_INITIALIZED;
+ }
ttsdc_send_hello(pid, uid, ret, (int)credential_needed);
}
- }
return 0;
}