Handle resource copy signal in signal agent 76/263276/3
authorIlho Kim <ilho159.kim@samsung.com>
Mon, 30 Aug 2021 11:54:30 +0000 (20:54 +0900)
committerilho kim <ilho159.kim@samsung.com>
Tue, 31 Aug 2021 09:42:10 +0000 (09:42 +0000)
Change-Id: I1ecc54fa09c34f60bd4b51f82512aab5775735c9
Signed-off-by: Ilho Kim <ilho159.kim@samsung.com>
installer/pkgmgr_installer_signal_agent.c

index ca70733..3adcc75 100644 (file)
@@ -36,6 +36,7 @@
 #include <dlog.h>
 
 #include "pkgmgr_installer_config.h"
+#include "pkgmgr_installer_type.h"
 
 #ifdef LOG_TAG
 #undef LOG_TAG
@@ -258,8 +259,16 @@ static gboolean __handle_signal(gint fd, GIOCondition cond, gpointer user_data)
        memcpy(data, buf + type_len, data_len);
 
        /* floating type GVariant instance */
-       gv = g_variant_new_from_data(G_VARIANT_TYPE("(usa(sss)ss)"), data,
-                       data_len, TRUE, NULL, NULL);
+       if (!strcmp(type_name, PKGMGR_INSTALLER_RES_COPY_EVENT_STR) ||
+               !strcmp(type_name, PKGMGR_INSTALLER_RES_CREATE_DIR_EVENT_STR) ||
+               !strcmp(type_name, PKGMGR_INSTALLER_RES_REMOVE_EVENT_STR) ||
+               !strcmp(type_name, PKGMGR_INSTALLER_RES_UNINSTALL_EVENT_STR)) {
+               gv = g_variant_new_from_data(G_VARIANT_TYPE("(usssv)"),
+                               data, data_len, TRUE, NULL, NULL);
+       } else {
+               gv = g_variant_new_from_data(G_VARIANT_TYPE("(usa(sss)ss)"),
+                               data, data_len, TRUE, NULL, NULL);
+       }
        __emit_signal(type_name, gv);
 
        free(data);