From: Ji-hoon Lee Date: Thu, 11 Oct 2018 06:20:42 +0000 (+0900) Subject: Append pid at the end of service name X-Git-Tag: submit/tizen/20190213.101901~7 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fchanges%2F68%2F191068%2F2;p=platform%2Fcore%2Fuifw%2Fmulti-assistant.git Append pid at the end of service name Change-Id: I522e1e5b044476a35923d8b2c6d944c9d53babdb --- diff --git a/client/ma_dbus.c b/client/ma_dbus.c index bd7942d..9c13d1f 100644 --- a/client/ma_dbus.c +++ b/client/ma_dbus.c @@ -217,12 +217,11 @@ int ma_dbus_open_connection() dbus_connection_set_exit_on_disconnect(g_conn_listener, false); -// int pid = getpid(); + int pid = getpid(); char service_name[64]; memset(service_name, '\0', 64); -// snprintf(service_name, 64, "%s%d", MA_CLIENT_SERVICE_NAME, pid); - snprintf(service_name, 64, "%s", MA_CLIENT_SERVICE_NAME); + snprintf(service_name, 64, "%s_%d", MA_CLIENT_SERVICE_NAME, pid); SLOG(LOG_DEBUG, TAG_MAC, "service name is %s", service_name); @@ -293,12 +292,11 @@ int ma_dbus_close_connection() } if (NULL != g_conn_listener) { -// int pid = getpid(); + int pid = getpid(); char service_name[64]; memset(service_name, '\0', 64); -// snprintf(service_name, 64, "%s%d", MA_CLIENT_SERVICE_NAME, pid); - snprintf(service_name, 64, "%s", MA_CLIENT_SERVICE_NAME); + snprintf(service_name, 64, "%s_%d", MA_CLIENT_SERVICE_NAME, pid); dbus_bus_release_name(g_conn_listener, service_name, &err); @@ -552,6 +550,71 @@ int ma_dbus_request_deinitialize(int pid) return result; } +int ma_dbus_request_speech_data(int pid) +{ + if (0 != __dbus_check()) { + return MA_ERROR_OPERATION_FAILED; + } + + DBusMessage* msg; + + msg = dbus_message_new_method_call( + MA_SERVER_SERVICE_NAME, + MA_SERVER_SERVICE_OBJECT_PATH, + MA_SERVER_SERVICE_INTERFACE, + MA_METHOD_REQUEST_SPEECH_DATA); + + if (NULL == msg) { + SLOG(LOG_ERROR, TAG_MAC, "@@ Request multi-assistant recording audio format : Fail to make message"); //LCOV_EXCL_LINE + return MA_ERROR_OPERATION_FAILED; + } else { + SLOG(LOG_DEBUG, TAG_MAC, "[DEBUG] multi-assistant recording audio format"); + } + + dbus_message_append_args(msg, + DBUS_TYPE_INT32, &pid, + DBUS_TYPE_INVALID); + + DBusError err; + dbus_error_init(&err); + + DBusMessage* result_msg = NULL; + int result = MA_ERROR_OPERATION_FAILED; + + result_msg = dbus_connection_send_with_reply_and_block(g_conn_sender, msg, g_waiting_time, &err); + dbus_message_unref(msg); + + if (dbus_error_is_set(&err)) { + SLOG(LOG_DEBUG, TAG_MAC, "[ERROR] Dbus Error (%s)", err.message); //LCOV_EXCL_LINE + dbus_error_free(&err); + } + + if (NULL != result_msg) { + dbus_message_get_args(result_msg, &err, + DBUS_TYPE_INT32, &result, + DBUS_TYPE_INVALID); + + if (dbus_error_is_set(&err)) { + SLOG(LOG_ERROR, TAG_MAC, "@@ Get arguments error (%s)", err.message); + dbus_error_free(&err); + result = MA_ERROR_OPERATION_FAILED; + } + dbus_message_unref(result_msg); + + if (0 == result) { + SLOG(LOG_DEBUG, TAG_MAC, "@@ multi-assistant request speech data : result = %d", result); + } else { + SLOG(LOG_ERROR, TAG_MAC, "@@ multi-assistant request speech data : result = %d", result); + } + } else { + SLOG(LOG_ERROR, TAG_MAC, "@@ Result message is NULL"); + ma_dbus_reconnect(); + result = MA_ERROR_TIMED_OUT; + } + + return result; +} + int ma_dbus_get_recording_audio_format(int pid, int *rate, ma_audio_channel_e *channel, ma_audio_type_e *audio_type) { diff --git a/client/ma_ui.c b/client/ma_ui.c index 1924eda..053c51c 100644 --- a/client/ma_ui.c +++ b/client/ma_ui.c @@ -291,7 +291,7 @@ static Eina_Bool __ma_ui_connect_daemon(void *data) /* Set client state */ ma_ui_client_set_client_state(g_ma_ui, MA_STATE_READY); void* user_data; - + ma_state_changed_cb changed_callback = NULL; ma_ui_client_get_state_changed_cb(g_ma_ui, &changed_callback, &user_data); diff --git a/common/ma_defs.h b/common/ma_defs.h index 71d8932..295839e 100644 --- a/common/ma_defs.h +++ b/common/ma_defs.h @@ -62,6 +62,7 @@ extern "C" #define MA_METHOD_INITIALIZE "ma_method_initialize" #define MA_METHOD_DEINITIALIZE "ma_method_deinitialize" +#define MA_METHOD_REQUEST_SPEECH_DATA "ma_method_request_speech_data" #define MA_METHOD_GET_RECORDING_AUDIO_FORMAT "ma_method_get_recording_audio_format" #define MA_METHOD_SEND_ASR_RESULT "ma_method_send_asr_result" #define MA_METHOD_SEND_RESULT "ma_method_send_result" @@ -85,7 +86,6 @@ extern "C" *************************************************************************************/ #define MA_RETRY_COUNT 5 - #ifdef __cplusplus } #endif