Release version 0.15.0
[platform/core/appfw/slp-pkgmgr.git] / client / src / pkgmgr_client_connection.c
index 4600907..0c7d471 100644 (file)
@@ -303,6 +303,23 @@ static void __handle_res_event_signal(const gchar *signal_name,
        pkgmgr_res_event_info_free(event_info);
 }
 
+static void __handle_pkg_upgrade_event_signal(const gchar *signal_name,
+               GVariant *parameters, gpointer user_data)
+{
+       guint32 progress;
+       struct cb_info *cb_info = (struct cb_info *)user_data;
+
+       if (!cb_info->upgrade_event_cb)
+               return;
+
+       if (strcmp(signal_name, PKGMGR_INSTALLER_PKG_UPGRADE_EVENT_STR) != 0) {
+               return;
+       }
+
+       g_variant_get(parameters, "(u)", &progress);
+       cb_info->upgrade_event_cb(progress, cb_info->data);
+}
+
 static void __signal_handler(GDBusConnection *conn, const gchar *sender_name,
                const gchar *object_path, const gchar *interface_name,
                const gchar *signal_name, GVariant *parameters,
@@ -316,6 +333,8 @@ static void __signal_handler(GDBusConnection *conn, const gchar *sender_name,
                        !strcmp(signal_name, PKGMGR_INSTALLER_RES_UNINSTALL_EVENT_STR) ||
                        !strcmp(signal_name, PKGMGR_INSTALLER_RES_CREATE_DIR_EVENT_STR)) {
                __handle_res_event_signal(signal_name, parameters, user_data);
+       } else if (!strcmp(signal_name, PKGMGR_INSTALLER_PKG_UPGRADE_EVENT_STR)) {
+               __handle_pkg_upgrade_event_signal(signal_name, parameters, user_data);
        }
 }