dbus_connection_read_write_dispatch(g_conn_listener, 50);
- DBusMessage* msg = NULL;
- msg = dbus_connection_pop_message(g_conn_listener);
+ while (1) {
+ DBusMessage* msg = NULL;
+ msg = dbus_connection_pop_message(g_conn_listener);
- if (true != dbus_connection_get_is_connected(g_conn_listener)) {
- SLOG(LOG_ERROR, TAG_TTSC, "[ERROR] Connection is disconnected");
- return ECORE_CALLBACK_RENEW;
- }
+ if (true != dbus_connection_get_is_connected(g_conn_listener)) {
+ SLOG(LOG_ERROR, TAG_TTSC, "[ERROR] Connection is disconnected");
+ break;
+ }
- /* loop again if we haven't read a message */
- if (NULL == msg) {
- return ECORE_CALLBACK_RENEW;
- }
+ /* loop again if we haven't read a message */
+ if (NULL == msg) {
+ break;
+ }
- DBusError err;
- dbus_error_init(&err);
+ DBusError err;
+ dbus_error_init(&err);
- char if_name[64] = {0, };
- snprintf(if_name, 64, "%s", TTS_CLIENT_SERVICE_INTERFACE);
+ char if_name[64] = {0, };
+ snprintf(if_name, 64, "%s", TTS_CLIENT_SERVICE_INTERFACE);
- if (dbus_message_is_signal(msg, if_name, TTSD_METHOD_UTTERANCE_STARTED)) {
- int uid = 0;
- int uttid = 0;
+ if (dbus_message_is_signal(msg, if_name, TTSD_METHOD_UTTERANCE_STARTED)) {
+ int uid = 0;
+ int uttid = 0;
- dbus_message_get_args(msg, &err, DBUS_TYPE_INT32, &uid, DBUS_TYPE_INT32, &uttid, DBUS_TYPE_INVALID);
- if (dbus_error_is_set(&err)) {
- SLOG(LOG_ERROR, TAG_TTSC, "[ERROR] Get arguments error (%s)", err.message);
- dbus_error_free(&err);
- }
+ dbus_message_get_args(msg, &err, DBUS_TYPE_INT32, &uid, DBUS_TYPE_INT32, &uttid, DBUS_TYPE_INVALID);
+ if (dbus_error_is_set(&err)) {
+ SLOG(LOG_ERROR, TAG_TTSC, "[ERROR] Get arguments error (%s)", err.message);
+ dbus_error_free(&err);
+ }
- if (0 == __tts_cb_utt_started(uid, uttid)) {
- SLOG(LOG_DEBUG, TAG_TTSC, "<<<< tts utterance started : uid(%d) uttid(%d)", uid, uttid);
- }
- } /* TTSD_METHOD_UTTERANCE_STARTED */
+ if (0 == __tts_cb_utt_started(uid, uttid)) {
+ SLOG(LOG_DEBUG, TAG_TTSC, "<<<< tts utterance started : uid(%d) uttid(%d)", uid, uttid);
+ }
+ } /* TTSD_METHOD_UTTERANCE_STARTED */
- else if (dbus_message_is_signal(msg, if_name, TTSD_METHOD_UTTERANCE_COMPLETED)) {
- int uid = 0;
- int uttid = 0;
+ else if (dbus_message_is_signal(msg, if_name, TTSD_METHOD_UTTERANCE_COMPLETED)) {
+ int uid = 0;
+ int uttid = 0;
- dbus_message_get_args(msg, &err, DBUS_TYPE_INT32, &uid, DBUS_TYPE_INT32, &uttid, DBUS_TYPE_INVALID);
- if (dbus_error_is_set(&err)) {
- SLOG(LOG_ERROR, TAG_TTSC, "[ERROR] Get arguments error (%s)", err.message);
- dbus_error_free(&err);
- }
+ dbus_message_get_args(msg, &err, DBUS_TYPE_INT32, &uid, DBUS_TYPE_INT32, &uttid, DBUS_TYPE_INVALID);
+ if (dbus_error_is_set(&err)) {
+ SLOG(LOG_ERROR, TAG_TTSC, "[ERROR] Get arguments error (%s)", err.message);
+ dbus_error_free(&err);
+ }
- if (0 == __tts_cb_utt_completed(uid, uttid)) {
- SLOG(LOG_DEBUG, TAG_TTSC, "<<<< tts utterance completed : uid(%d) uttid(%d)", uid, uttid);
- }
- } /* TTS_SIGNAL_UTTERANCE_STARTED */
+ if (0 == __tts_cb_utt_completed(uid, uttid)) {
+ SLOG(LOG_DEBUG, TAG_TTSC, "<<<< tts utterance completed : uid(%d) uttid(%d)", uid, uttid);
+ }
+ } /* TTS_SIGNAL_UTTERANCE_STARTED */
- else if (dbus_message_is_signal(msg, if_name, TTSD_METHOD_SET_STATE)) {
- int uid = 0;
- int state = 0;
+ else if (dbus_message_is_signal(msg, if_name, TTSD_METHOD_SET_STATE)) {
+ int uid = 0;
+ int state = 0;
- dbus_message_get_args(msg, &err, DBUS_TYPE_INT32, &uid, DBUS_TYPE_INT32, &state, DBUS_TYPE_INVALID);
- if (dbus_error_is_set(&err)) {
- SLOG(LOG_ERROR, TAG_TTSC, "[ERROR] Get arguments error (%s)", err.message);
- dbus_error_free(&err);
- }
+ dbus_message_get_args(msg, &err, DBUS_TYPE_INT32, &uid, DBUS_TYPE_INT32, &state, DBUS_TYPE_INVALID);
+ if (dbus_error_is_set(&err)) {
+ SLOG(LOG_ERROR, TAG_TTSC, "[ERROR] Get arguments error (%s)", err.message);
+ dbus_error_free(&err);
+ }
- if (0 == __tts_cb_set_state(uid, state)) {
- SLOG(LOG_DEBUG, TAG_TTSC, "<<<< tts state changed : uid(%d) state(%d)", uid, state);
- }
- } /* TTSD_SIGNAL_SET_STATE */
-
- else if (dbus_message_is_signal(msg, if_name, TTSD_METHOD_ERROR)) {
- int uid;
- int uttid;
- int reason;
- char* err_msg;
-
- dbus_message_get_args(msg, &err,
- DBUS_TYPE_INT32, &uid,
- DBUS_TYPE_INT32, &uttid,
- DBUS_TYPE_INT32, &reason,
- DBUS_TYPE_STRING, &err_msg,
- DBUS_TYPE_INVALID);
+ if (0 == __tts_cb_set_state(uid, state)) {
+ SLOG(LOG_DEBUG, TAG_TTSC, "<<<< tts state changed : uid(%d) state(%d)", uid, state);
+ }
+ } /* TTSD_SIGNAL_SET_STATE */
+
+ else if (dbus_message_is_signal(msg, if_name, TTSD_METHOD_ERROR)) {
+ int uid;
+ int uttid;
+ int reason;
+ char* err_msg;
+
+ dbus_message_get_args(msg, &err,
+ DBUS_TYPE_INT32, &uid,
+ DBUS_TYPE_INT32, &uttid,
+ DBUS_TYPE_INT32, &reason,
+ DBUS_TYPE_STRING, &err_msg,
+ DBUS_TYPE_INVALID);
+
+ if (dbus_error_is_set(&err)) {
+ SLOG(LOG_ERROR, TAG_TTSC, "<<<< Get Error message - Get arguments error (%s)", err.message);
+ dbus_error_free(&err);
+ } else {
+ SLOG(LOG_ERROR, TAG_TTSC, "<<<< Get Error message : uid(%d), error(%d), uttid(%d), err_msg(%s)", uid, reason, uttid, (NULL == err_msg) ? "NULL" : err_msg);
+ __tts_cb_error(uid, reason, uttid, err_msg);
- if (dbus_error_is_set(&err)) {
- SLOG(LOG_ERROR, TAG_TTSC, "<<<< Get Error message - Get arguments error (%s)", err.message);
- dbus_error_free(&err);
- } else {
- SLOG(LOG_ERROR, TAG_TTSC, "<<<< Get Error message : uid(%d), error(%d), uttid(%d), err_msg(%s)", uid, reason, uttid, (NULL == err_msg) ? "NULL" : err_msg);
- __tts_cb_error(uid, reason, uttid, err_msg);
+ }
+ } /* TTSD_SIGNAL_ERROR */
+ else {
+ SLOG(LOG_DEBUG, TAG_TTSC, "Message is NOT valid");
+ dbus_message_unref(msg);
+ break;
}
- } /* TTSD_SIGNAL_ERROR */
-
- /* free the message */
- dbus_message_unref(msg);
+ /* free the message */
+ dbus_message_unref(msg);
+ }
return ECORE_CALLBACK_PASS_ON;
}