return params;
}
-static GVariant *__pack_byte_array(const unsigned char *array, uint16_t size)
+static GVariant *__pack_byte_array(const unsigned char *array, uint16_t len)
{
GVariantBuilder *builder = NULL;
GVariant *var = NULL;
builder = g_variant_builder_new(G_VARIANT_TYPE("ay"));
- for (int i = 0; i < size; ++i)
+ for (int i = 0; i < len; ++i)
g_variant_builder_add(builder, "y", array[i]);
var = g_variant_new("ay", builder);
g_variant_builder_add(builder, "{sv}", "publish_type", g_variant_new("y", req->publish_type));
g_variant_builder_add(builder, "{sv}", "service_name", g_variant_new("s", req->service_name));
if (req->specific_info_len > 0 && req->specific_info != NULL) {
- g_variant_builder_add(builder, "{sv}", "specific_info", __pack_byte_array(req->specific_info, req->specific_info_len));
g_variant_builder_add(builder, "{sv}", "specific_info_len", g_variant_new("q", req->specific_info_len));
+ g_variant_builder_add(builder, "{sv}", "specific_info", __pack_byte_array(req->specific_info, req->specific_info_len));
}
if (req->match_filter_len > 0 && req->match_filter != NULL) {
- g_variant_builder_add(builder, "{sv}", "match_filter", __pack_byte_array(req->match_filter, req->match_filter_len));
g_variant_builder_add(builder, "{sv}", "match_filter_len", g_variant_new("q", req->match_filter_len));
+ g_variant_builder_add(builder, "{sv}", "match_filter", __pack_byte_array(req->match_filter, req->match_filter_len));
}
g_variant_builder_add(builder, "{sv}", "enable_termination_event", g_variant_new("b", req->enable_termination_event));
g_variant_builder_add(builder, "{sv}", "enable_ranging", g_variant_new("b", req->enable_ranging));
g_variant_builder_add(builder, "{sv}", "publish_type", g_variant_new("y", req->publish_type));
g_variant_builder_add(builder, "{sv}", "service_name", g_variant_new("s", req->service_name));
if (req->specific_info_len > 0 && req->specific_info != NULL) {
- g_variant_builder_add(builder, "{sv}", "specific_info", __pack_byte_array(req->specific_info, req->specific_info_len));
g_variant_builder_add(builder, "{sv}", "specific_info_len", g_variant_new("q", req->specific_info_len));
+ g_variant_builder_add(builder, "{sv}", "specific_info", __pack_byte_array(req->specific_info, req->specific_info_len));
}
if (req->match_filter_len > 0 && req->match_filter != NULL) {
- g_variant_builder_add(builder, "{sv}", "match_filter", __pack_byte_array(req->match_filter, req->match_filter_len));
g_variant_builder_add(builder, "{sv}", "match_filter_len", g_variant_new("q", req->match_filter_len));
+ g_variant_builder_add(builder, "{sv}", "match_filter", __pack_byte_array(req->match_filter, req->match_filter_len));
}
g_variant_builder_add(builder, "{sv}", "enable_termination_event", g_variant_new("b", req->enable_termination_event));
g_variant_builder_add(builder, "{sv}", "enable_ranging", g_variant_new("b", req->enable_ranging));
g_variant_builder_add(builder, "{sv}", "subscribe_type", g_variant_new("y", req->subscribe_type));
g_variant_builder_add(builder, "{sv}", "service_name", g_variant_new("s", req->service_name));
if (req->specific_info_len > 0 && req->specific_info != NULL) {
- g_variant_builder_add(builder, "{sv}", "specific_info", __pack_byte_array(req->specific_info, req->specific_info_len));
g_variant_builder_add(builder, "{sv}", "specific_info_len", g_variant_new("q", req->specific_info_len));
+ g_variant_builder_add(builder, "{sv}", "specific_info", __pack_byte_array(req->specific_info, req->specific_info_len));
}
if (req->match_filter_len > 0 && req->match_filter != NULL) {
- g_variant_builder_add(builder, "{sv}", "match_filter", __pack_byte_array(req->match_filter, req->match_filter_len));
g_variant_builder_add(builder, "{sv}", "match_filter_len", g_variant_new("q", req->match_filter_len));
+ g_variant_builder_add(builder, "{sv}", "match_filter", __pack_byte_array(req->match_filter, req->match_filter_len));
}
g_variant_builder_add(builder, "{sv}", "enable_termination_event", g_variant_new("b", req->enable_termination_event));
g_variant_builder_add(builder, "{sv}", "subscribe_type", g_variant_new("y", req->subscribe_type));
g_variant_builder_add(builder, "{sv}", "service_name", g_variant_new("s", req->service_name));
if (req->specific_info_len > 0 && req->specific_info != NULL) {
- g_variant_builder_add(builder, "{sv}", "specific_info", __pack_byte_array(req->specific_info, req->specific_info_len));
g_variant_builder_add(builder, "{sv}", "specific_info_len", g_variant_new("q", req->specific_info_len));
+ g_variant_builder_add(builder, "{sv}", "specific_info", __pack_byte_array(req->specific_info, req->specific_info_len));
}
if (req->match_filter_len > 0 && req->match_filter != NULL) {
- g_variant_builder_add(builder, "{sv}", "match_filter", __pack_byte_array(req->match_filter, req->match_filter_len));
g_variant_builder_add(builder, "{sv}", "match_filter_len", g_variant_new("q", req->match_filter_len));
+ g_variant_builder_add(builder, "{sv}", "match_filter", __pack_byte_array(req->match_filter, req->match_filter_len));
}
g_variant_builder_add(builder, "{sv}", "enable_termination_event", g_variant_new("b", req->enable_termination_event));