encoding and decoding data for engine specific request 30/226130/1
authorkismo <kismo.kim@samsung.com>
Tue, 28 Jan 2020 06:17:56 +0000 (15:17 +0900)
committerWonnam Jang <wn.jang@samsung.com>
Thu, 27 Feb 2020 05:08:06 +0000 (05:08 +0000)
Change-Id: I6e58316b36dbc3bd778e85a739c262283cbd81bb
(cherry picked from commit 66512bfbecab942362a3756d01b235c7e0b0e1e5)

client/vc_mgr_dbus.c [changed mode: 0644->0755]
server/vcd_dbus.c [changed mode: 0644->0755]
server/vcd_dbus_server.c [changed mode: 0644->0755]

old mode 100644 (file)
new mode 100755 (executable)
index be34e3f..eb6d62e
@@ -215,7 +215,14 @@ static Eina_Bool vc_mgr_listener_event_callback(void* data, Ecore_Fd_Handler *fd
                        dbus_message_get_args(msg, &err, DBUS_TYPE_STRING, &engine_app_id, DBUS_TYPE_STRING, &event, DBUS_TYPE_STRING, &result, DBUS_TYPE_INVALID);
 
                        if (NULL != result) {
-                               __vc_mgr_cb_specific_engine_result(engine_app_id, event, result);
+                               gsize decodingSize=0;
+                               gchar *gDecodedResult = (gchar *)g_base64_decode((const gchar *)result, &decodingSize);
+                               if (gDecodedResult)
+                               {
+                                       SLOG(LOG_WARN, TAG_VCM, "@@@ Get specific engine result --> %s", gDecodedResult);
+                                       __vc_mgr_cb_specific_engine_result(engine_app_id, event, gDecodedResult);
+                                       g_free(gDecodedResult);
+                               }
                        }
 
                        SLOG(LOG_DEBUG, TAG_VCM, "@@@");
@@ -2233,11 +2240,13 @@ int vc_mgr_dbus_send_specific_engine_request(int pid, const char* engine_app_id,
                SLOG(LOG_INFO, TAG_VCM, "@@ vc send specific engine : pid(%d), engine_app_id(%s), event(%s), request(%s)", pid, engine_app_id, event, request);
        }
 
+       gchar *gEncodedRequest = g_base64_encode((const guchar*)request, strlen(request));
+
        dbus_message_append_args(msg,
                                DBUS_TYPE_INT32, &pid,
                                DBUS_TYPE_STRING, &engine_app_id,
                                DBUS_TYPE_STRING, &event,
-                               DBUS_TYPE_STRING, &request,
+                               DBUS_TYPE_STRING, &gEncodedRequest,
                                DBUS_TYPE_INVALID);
 
        dbus_message_set_no_reply(msg, TRUE);
@@ -2245,6 +2254,8 @@ int vc_mgr_dbus_send_specific_engine_request(int pid, const char* engine_app_id,
        /* 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");
+               if (gEncodedRequest)
+                       g_free(gEncodedRequest);
                dbus_message_unref(msg);
                return VC_ERROR_OPERATION_FAILED;
        } else {
@@ -2252,6 +2263,8 @@ int vc_mgr_dbus_send_specific_engine_request(int pid, const char* engine_app_id,
                dbus_connection_flush(g_m_conn_sender);
        }
 
+       if (gEncodedRequest)
+               g_free(gEncodedRequest);
        dbus_message_unref(msg);
        return 0;
 }
old mode 100644 (file)
new mode 100755 (executable)
index 1ca143e..e0cd0c2
@@ -426,18 +426,28 @@ int vcdc_send_specific_engine_result_to_manager(int manager_pid, const char* eng
                return VCD_ERROR_OUT_OF_MEMORY;
        }
 
-       dbus_message_append_args(msg, DBUS_TYPE_STRING, &engine_app_id, DBUS_TYPE_STRING, &event, DBUS_TYPE_STRING, &result, DBUS_TYPE_INVALID);
+       gchar *gEncodedResult = g_base64_encode((const guchar*)result, strlen(result));
+
+       dbus_message_append_args(msg, DBUS_TYPE_STRING, &engine_app_id, DBUS_TYPE_STRING, &event, DBUS_TYPE_STRING, &gEncodedResult, DBUS_TYPE_INVALID);
 
        dbus_message_set_no_reply(msg, TRUE);
 
        if (1 != dbus_connection_send(g_conn_sender, msg, NULL)) {
                SLOG(LOG_ERROR, TAG_VCD, "[Dbus ERROR] Fail to Send");
+               if (gEncodedResult)
+                       g_free(gEncodedResult);
+               dbus_message_unref(msg);
                return VCD_ERROR_OPERATION_FAILED;
        } else {
                SLOG(LOG_INFO, TAG_VCD, "[Dbus] SUCCESS Send");
                dbus_connection_flush(g_conn_sender);
        }
 
+       if (gEncodedResult)
+               g_free(gEncodedResult);
+
+       dbus_message_unref(msg);
+
        return 0;
 }
 
old mode 100644 (file)
new mode 100755 (executable)
index 46bacac..2adb89e
@@ -654,8 +654,14 @@ int vcd_dbus_server_mgr_send_specific_engine_request(DBusConnection* conn, DBusM
                dbus_error_free(&err);
                ret = VCD_ERROR_OPERATION_FAILED;
        } else {
-               ret = vcd_server_mgr_send_specific_engine_request(pid, engine_app_id, event, request);
-               SLOG(LOG_INFO, TAG_VCD, "[IN] vcd mgr specific engine request : pid(%d), engine_app_id(%s), event(%s), request(%s), ret(%d)", pid, engine_app_id, event, request, ret);
+               gsize decodingSize=0;
+               gchar *gDecodedRequest = (gchar *)g_base64_decode((const gchar *)request, &decodingSize);
+               if (gDecodedRequest)
+               {
+                       ret = vcd_server_mgr_send_specific_engine_request(pid, engine_app_id, event, gDecodedRequest);
+                       SLOG(LOG_INFO, TAG_VCD, "[IN] vcd mgr specific engine request : pid(%d), engine_app_id(%s), event(%s), request(%s), ret(%d)", pid, engine_app_id, event, gDecodedRequest, ret);
+                       g_free(gDecodedRequest);
+               }
        }
 
        return 0;