Use variant builder when creating followup message
authorSeonah Moon <seonah1.moon@samsung.com>
Mon, 24 Feb 2020 12:14:56 +0000 (21:14 +0900)
committerSeonah Moon <seonah1.moon@samsung.com>
Mon, 24 Feb 2020 12:14:56 +0000 (21:14 +0900)
src/wifi-aware-gdbus.c

index c2d6e6f..a330ece 100644 (file)
@@ -342,8 +342,16 @@ static GVariant *__create_update_subscribe_request_param(int client_id,
 static GVariant *__create_followup_request_param(int client_id, unsigned int peer_id,
                        unsigned char *message, size_t len)
 {
-       return g_variant_new("(iuuay)", client_id, peer_id, len,
-                       __pack_byte_array(message, len));
+       GVariantBuilder *builder = NULL;
+       GVariant *params = NULL;
+
+       builder = g_variant_builder_new(G_VARIANT_TYPE("a{sv}"));
+       g_variant_builder_add(builder, "{sv}", "message_len", g_variant_new("q", len));
+       g_variant_builder_add(builder, "{sv}", "message", __pack_byte_array(message, len));
+
+       params = g_variant_new("(iua{sv})", client_id, peer_id, builder);
+       g_variant_builder_unref(builder);
+       return params;
 }
 
 int wifi_aware_gdbus_enable(wifi_aware_h wifi_aware,