Change set_private_data to be async 40/166240/1
authorSuyeon Hwang <stom.hwang@samsung.com>
Tue, 9 Jan 2018 02:46:31 +0000 (11:46 +0900)
committerSuyeon Hwang <stom.hwang@samsung.com>
Tue, 9 Jan 2018 02:46:31 +0000 (11:46 +0900)
Change-Id: Ic94ddae4949d77f91a5fe9c0de227129790b0019
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
client/vc_mgr_dbus.c
server/vcd_dbus.c
server/vcd_engine_agent.c

index d08e9e9..fd96dc3 100644 (file)
@@ -288,7 +288,7 @@ static Eina_Bool vc_mgr_listener_event_callback(void* data, Ecore_Fd_Handler *fd
                        char* key = NULL;
                        char* data = NULL;
 
-                       dbus_message_get_args(msg, &err, 
+                       dbus_message_get_args(msg, &err,
                                DBUS_TYPE_INT32, &pid,
                                DBUS_TYPE_STRING, &key,
                                DBUS_TYPE_STRING, &data,
@@ -1438,44 +1438,19 @@ int vc_mgr_dbus_request_set_private_data(int pid, const char* key, const char* d
                                DBUS_TYPE_STRING, &data,
                                DBUS_TYPE_INVALID);
 
-       DBusError err;
-       dbus_error_init(&err);
-
-       DBusMessage* result_msg;
-       int result = VC_ERROR_OPERATION_FAILED;
-
-       result_msg = dbus_connection_send_with_reply_and_block(g_m_conn_sender, msg, g_m_waiting_time, &err);
-       dbus_message_unref(msg);
-
-       if (dbus_error_is_set(&err)) {
-               SLOG(LOG_ERROR, TAG_VCM, "[ERROR] Dbus Error (%s)", err.message);
-               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_VCM, "@@ Get arguments error (%s)", err.message);
-                       dbus_error_free(&err);
-                       result = VC_ERROR_OPERATION_FAILED;
-               }
-               dbus_message_unref(result_msg);
+       dbus_message_set_no_reply(msg, TRUE);
 
-               if (0 == result) {
-                       SLOG(LOG_DEBUG, TAG_VCM, "@@ vc set private data : result = %d", result);
-               } else {
-                       SLOG(LOG_ERROR, TAG_VCM, "@@ vc set private data : result = %d", result);
-               }
+       /* send the message and flush the connection */
+       if (1 != dbus_connection_send(g_m_conn_sender, msg, NULL)) {
+               SLOG(LOG_ERROR, TAG_VCM, "[Dbus ERROR] Fail to send private data");
        } else {
-               SLOG(LOG_DEBUG, TAG_VCM, "@@ Result Message is NULL");
-               vc_mgr_dbus_reconnect();
-               result = VC_ERROR_TIMED_OUT;
+               SLOG(LOG_ERROR, TAG_VCM, "[Dbus] Success to send private data");
+               dbus_connection_flush(g_m_conn_sender);
        }
 
-       return result;
+       dbus_message_unref(msg);
+
+       return VC_ERROR_NONE;
 }
 
 int vc_mgr_dbus_request_get_private_data(int pid, const char* key, char** data)
index 72cad70..21ed6d7 100755 (executable)
@@ -247,7 +247,7 @@ int vcdc_send_set_volume(int manger_pid, float volume)
                        SLOG(LOG_DEBUG, TAG_VCD, "@@ Send set volume : pid(%d), volume(%f)", manger_pid, volume);
                        g_volume_count = 0;
                }
-               
+
                dbus_connection_flush(g_conn_sender);
 
                g_volume_count++;
@@ -820,47 +820,24 @@ int vcdc_send_request_set_private_data(int pid, const char* key, const char* dat
        }
 
        dbus_message_append_args(msg,
-               DBUS_TYPE_INT32, &pid, 
+               DBUS_TYPE_INT32, &pid,
                DBUS_TYPE_STRING, &key,
                DBUS_TYPE_STRING, &data,
                DBUS_TYPE_INVALID);
 
-       DBusError err;
-       dbus_error_init(&err);
-
-       DBusMessage* result_msg;
-       int result = -1;
-
-       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_ERROR, TAG_VCD, "[Dbus ERROR] %s", err.message);
-               if (NULL != err.name) {
-                       if (!strcmp(err.name, DBUS_ERROR_SERVICE_UNKNOWN)) {
-                               SLOG(LOG_ERROR, TAG_VCD, "[ERROR] Unknown service. Client is not available");
-                               dbus_error_free(&err);
-                               return 0;
-                       }
-               }
-               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_VCD, "[Dbus] Get arguments error (%s)", err.message);
-                       dbus_error_free(&err);
-                       result = VCD_ERROR_OPERATION_FAILED;
-               }
+       dbus_message_set_no_reply(msg, TRUE);
 
-               dbus_message_unref(result_msg);
+       if (1 != dbus_connection_send(g_conn_sender, msg, NULL)) {
+               SLOG(LOG_ERROR, TAG_VCD, "[Dbus ERROR] Fail to Send request set private data");
+               return VCD_ERROR_OPERATION_FAILED;
        } else {
-               SLOG(LOG_DEBUG, TAG_VCD, "[Dbus] Result message is NULL. Client is not available");
+               SLOG(LOG_DEBUG, TAG_VCD, "[Dbus] SUCCESS Send request set private data");
+               dbus_connection_flush(g_conn_sender);
        }
 
-       return result;
+       dbus_message_unref(msg);
+
+       return VCD_ERROR_NONE;
 }
 
 int vcdc_send_request_get_private_data(int pid, const char* key, char** data)
@@ -877,7 +854,7 @@ int vcdc_send_request_get_private_data(int pid, const char* key, char** data)
        }
 
        dbus_message_append_args(msg,
-               DBUS_TYPE_INT32, &pid, 
+               DBUS_TYPE_INT32, &pid,
                DBUS_TYPE_STRING, &key,
                DBUS_TYPE_INVALID);
 
index 49b9f7f..1f4c585 100644 (file)
@@ -734,7 +734,7 @@ int vcd_engine_agent_get_audio_type(char** audio_type)
 
 int vcd_engine_agent_set_private_data(const char* key, const char* data)
 {
-       SLOG(LOG_DEBUG, TAG_VCD, "[Engine Agent] Request set private data");
+       SLOG(LOG_DEBUG, TAG_VCD, "[Engine Agent] Request set private data, key(%s), data(%s)", key, data);
        vcdc_send_request_set_private_data(vcd_client_manager_get_pid(), key, data);
 
        return VCD_ERROR_NONE;
@@ -742,7 +742,7 @@ int vcd_engine_agent_set_private_data(const char* key, const char* data)
 
 int vcd_engine_agent_get_private_data(const char* key, char** data)
 {
-       SLOG(LOG_DEBUG, TAG_VCD, "[Engine Agent] Request get private data");
+       SLOG(LOG_DEBUG, TAG_VCD, "[Engine Agent] Request get private data, key(%s)", key);
        vcdc_send_request_get_private_data(vcd_client_manager_get_pid(), key, data);
 
        return VCD_ERROR_NONE;