Fix DBus parameter
authorJiwan Kim <ji-wan.kim@samsung.com>
Wed, 26 Apr 2017 01:25:50 +0000 (10:25 +0900)
committersaerome.kim <saerome.kim@samsung.com>
Thu, 11 May 2017 09:07:21 +0000 (18:07 +0900)
- Fix mismatched parameter on signal 'report_attr_handler_rsp'
  [qyqaqayayi -> qyqaqa(y)a(y)i]
- Update test parameter for zb_zcl_group_get_group_membership()
  to get valid response.

Change-Id: I816b75444aa9cb46ced1d9345da58dbb4552bb55
Signed-off-by: Jiwan Kim <ji-wan.kim@samsung.com>
lib/zbl_dbus.c
test/zcl_cluster_group.c

index 412cfbbd5d7213ad8534af500ae7d13fb601e033..b62861a170e167d86b84d824d03f5c010ddaab1f 100644 (file)
@@ -715,7 +715,7 @@ static void _zbl_signal_handler(GDBusConnection *connection,
 
                struct attribute_report_s **records = NULL;
 
-               g_variant_get(parameters, "(qyqaqayayi)",  &addr16, &ep,
+               g_variant_get(parameters, "(qyqaqa(y)a(y)i)",  &addr16, &ep,
                         &cluster_id, &attr_iter, &dataType_iter, &data_iter, &records_len);
 
                records = calloc(records_len, sizeof(struct attribute_report_s));
@@ -741,7 +741,7 @@ static void _zbl_signal_handler(GDBusConnection *connection,
 
                j = 0;
                while (g_variant_iter_loop(attr_iter, "q", &attrData)
-                               && g_variant_iter_loop(dataType_iter, "y", &dataType)) {
+                               && g_variant_iter_loop(dataType_iter, "(y)", &dataType)) {
                        records[j]->id = attrData;
                        records[j]->type = dataType;
                        DBG("dataType 0x%02x", records[j]->type);
@@ -759,7 +759,7 @@ static void _zbl_signal_handler(GDBusConnection *connection,
                        /* String */
                        case ZB_ZCL_OCTAT_STRING:
                        case ZB_ZCL_CHRACTER_STRING:
-                               g_variant_iter_loop(data_iter, "y", &value);
+                               g_variant_iter_loop(data_iter, "(y)", &value);
                                data_size = value + 1;
                                records[j]->value = calloc(data_size, sizeof(unsigned char));
                                if (NULL == records[j]->value) {
@@ -774,7 +774,7 @@ static void _zbl_signal_handler(GDBusConnection *connection,
                                records[j]->value[dsizeIndex] = value;
                                dsizeIndex++;
                                for (i = dsizeIndex; i < data_size - 2; i++) {
-                                       g_variant_iter_loop(data_iter, "y", &value);
+                                       g_variant_iter_loop(data_iter, "(y)", &value);
                                        records[j]->value[i] = value;
                                }
                                if (NULL != data_iter)
@@ -782,9 +782,9 @@ static void _zbl_signal_handler(GDBusConnection *connection,
                                break;
                        case ZB_ZCL_LONG_OCTAT_STRING:
                        case ZB_ZCL_LONG_CHRACTER_STRING:
-                               g_variant_iter_loop(data_iter, "y", &value);
+                               g_variant_iter_loop(data_iter, "(y)", &value);
                                dSize[0] = value;
-                               g_variant_iter_loop(data_iter, "y", &value);
+                               g_variant_iter_loop(data_iter, "(y)", &value);
                                dSize[1] =  value;
                                data_size = dSize[1];
                                data_size = (data_size << 8) | dSize[0];
@@ -804,7 +804,7 @@ static void _zbl_signal_handler(GDBusConnection *connection,
                                records[j]->value[dsizeIndex] = dSize[dsizeIndex];
                                dsizeIndex++;
                                for (i = dsizeIndex; i < data_size - 2; i++) {
-                                       g_variant_iter_loop(data_iter, "y", &value);
+                                       g_variant_iter_loop(data_iter, "(y)", &value);
                                        records[j]->value[i] = value;
                                }
                                if (NULL != data_iter)
@@ -832,7 +832,7 @@ static void _zbl_signal_handler(GDBusConnection *connection,
                                }
                                if (data_size != 0xFF) {
                                        for (i = 0; i < data_size; i++) {
-                                               g_variant_iter_loop(data_iter, "y", &value);
+                                               g_variant_iter_loop(data_iter, "(y)", &value);
                                                records[j]->value[i] = value;
                                                DBG("value[%d] 0x%02X", i, records[j]->value[i]);
                                        }
index 234fbc71df320ba79deea4ed88119d25c4a24e58..68b6d1991d34a10ae09b29e5b4f6427a1e08b8d6 100644 (file)
@@ -134,7 +134,7 @@ static int run_group_view_group(MManager *mm, struct menu_data *menu)
 static int run_group_get_group_membership(MManager *mm, struct menu_data *menu)
 {
        int ret = ZIGBEE_ERROR_NONE;
-       unsigned short group_list[2] = { 0x0003, 0x0004 };
+       unsigned short group_list[2] = { 0x0002, 0x0003 };
        unsigned char group_count = 2;
 
        ret = zb_zcl_group_get_group_membership(handle, dest_addr16, sj_ep1.ep,