Fix dbus returned error by unmatched signature between storaged and system-popup 02/182202/5 submit/tizen/20180625.142706
authorlokilee73 <changjoo.lee@samsung.com>
Thu, 21 Jun 2018 07:34:30 +0000 (16:34 +0900)
committerHyotaek Shim <hyotaek.shim@samsung.com>
Fri, 22 Jun 2018 06:49:03 +0000 (06:49 +0000)
Change-Id: Iecf6cd5c6f57484b813bd9983bf9a5af0975714c
Signed-off-by: lokilee73 <changjoo.lee@samsung.com>
src/shared/apps.c [changed mode: 0644->0755]
src/shared/apps.h [changed mode: 0644->0755]
src/storage/storage.c [changed mode: 0644->0755]

old mode 100644 (file)
new mode 100755 (executable)
index 4d7b13b..b0154e4
@@ -1,5 +1,5 @@
 /*
- * deviced
+ * storaged
  *
  * Copyright (c) 2012 - 2015 Samsung Electronics Co., Ltd.
  *
@@ -34,6 +34,26 @@ static const struct app_dbus_match {
        { POPUP_DEFAULT, POPUP_BUS_NAME, POPUP_PATH_SYSTEM, POPUP_INTERFACE_SYSTEM, POPUP_METHOD_LAUNCH },
 };
 
+static void __cb(GVariant *var, void *user_data, GError *err)
+{
+        int ret;
+
+       if (!var) {
+               _E("no message [%s]", err->message);
+               return;
+       }
+
+       if (!dh_get_param_from_var(var, "(i)", &ret)) {
+               _E("no message [%s]", g_variant_get_type_string(var));
+               goto out;
+       }
+
+       _D("reply value : %d", ret);
+
+out:
+       g_variant_unref(var);
+}
+
 int launch_system_app(char *type, int num, ...)
 {
        char *app_type;
@@ -59,11 +79,15 @@ int launch_system_app(char *type, int num, ...)
 
        va_start(args, num);
 
-       ret = dbus_handle_method_async_pairs(app_match[match].bus,
-                       app_match[match].path,
-                       app_match[match].iface,
-                       app_match[match].method,
-                       num, args);
+       ret = dbus_handle_method_async_pairs_with_reply(app_match[match].bus,
+               app_match[match].path,
+               app_match[match].iface,
+               app_match[match].method,
+               num,
+               args,
+               __cb,
+               -1,
+               NULL);
 
        va_end(args);
 
old mode 100644 (file)
new mode 100755 (executable)
index cbd51ab..5dcaba7
@@ -1,5 +1,5 @@
 /*
- * deviced
+ * storaged
  *
  * Copyright (c) 2012 - 2015 Samsung Electronics Co., Ltd.
  *
old mode 100644 (file)
new mode 100755 (executable)
index c6965e9..26aa270
@@ -181,6 +181,26 @@ static void memcleanup_send_broadcast(struct storage_config_info *info, enum mem
 
 }
 
+static void __cb(GVariant *var, void *user_data, GError *err)
+{
+        int ret;
+
+       if (!var) {
+               _E("no message [%s]", err->message);
+               return;
+       }
+
+       if (!dh_get_param_from_var(var, "(i)", &ret)) {
+               _E("no message [%s]", g_variant_get_type_string(var));
+               goto out;
+       }
+
+       _D("reply value : %d", ret);
+
+out:
+       g_variant_unref(var);
+}
+
 static int launch_memory_popup(int num, ...)
 {
        int ret;
@@ -188,11 +208,15 @@ static int launch_memory_popup(int num, ...)
 
        va_start(args, num);
 
-       ret = dbus_handle_method_async_pairs(POPUP_BUS_NAME,
+       ret = dbus_handle_method_async_pairs_with_reply(POPUP_BUS_NAME,
                        POPUP_PATH_SYSTEM,
                        POPUP_INTERFACE_SYSTEM,
                        "PopupLaunch",
-                       num, args);
+                       num,
+                       args,
+                       __cb,
+                       -1,
+                       NULL);
 
        va_end(args);