Chanage method when calling 'query' method as sync.
authorsaerome kim <saerome.kim@samsung.com>
Fri, 3 Feb 2017 06:12:43 +0000 (15:12 +0900)
committersaerome.kim <saerome.kim@samsung.com>
Thu, 11 May 2017 09:07:20 +0000 (18:07 +0900)
Change-Id: I87f78744910d0b16e49fa740566b9eef9975bb01
Signed-off-by: saerome kim <saerome.kim@samsung.com>
lib/zbl-dbus.c

index 301a2a93c45e50f6aa913f8e1746ffdf9c5c7253..969e1cbab19579563affa8e176fd153f882bcaf0 100644 (file)
@@ -6070,6 +6070,10 @@ int zbl_identify(nwk_addr addr16, unsigned char dst_ep, unsigned short identify_
 int zbl_identify_query(nwk_addr addr16, unsigned char dst_ep,
                zb_zcl_identify_query_cb cb, void *user_data)
 {
+       int result = ZIGBEE_ERROR_NONE;
+       GVariant *variant = NULL;
+       GError *dbus_err = NULL;
+
        int sub_id, to;
        zbl_req_cb_s *container;
 
@@ -6098,11 +6102,19 @@ int zbl_identify_query(nwk_addr addr16, unsigned char dst_ep,
        container->tid = g_timeout_add_seconds(to, _zbl_timeout_cb, container);
        container->userdata = user_data;
 
-       g_dbus_proxy_call(zcl_identify_proxy, "query",
-               g_variant_new("(qy)", addr16, dst_ep),
-               G_DBUS_CALL_FLAGS_NONE, to, NULL, NULL, container);
+       variant = g_dbus_proxy_call_sync(zcl_identify_proxy, "query",
+               g_variant_new("(qy)", addr16, dst_ep), G_DBUS_CALL_FLAGS_NONE, -1, NULL, &dbus_err);
+       if (variant) {
+               g_variant_get(variant, "(i)", &result);
+               DBG("ret = [0x%x]", result);
+               g_variant_unref(variant);
+       } else {
+               ERR("Failed to get identify [%s]", dbus_err->message);
+               g_error_free(dbus_err);
+               return ZIGBEE_ERROR_IO_ERROR;
+       }
 
-       return ZIGBEE_ERROR_NONE;
+       return result;
 }
 
 int zbl_add_group(nwk_addr addr16, unsigned char ep, unsigned short group_id,