diff options
author | ERAMOTO Masaya <eramoto.masaya@jp.fujitsu.com> | 2018-03-01 13:27:21 +0900 |
---|---|---|
committer | Luiz Augusto von Dentz <luiz.von.dentz@intel.com> | 2018-03-01 10:49:05 +0200 |
commit | 237365998f13bac47138880f3a17361a11c0e3fc (patch) | |
tree | 46d2faf41e767471cc75a015de275e64d880f508 /client/advertising.c | |
parent | 53f064d5c4d81f8bd7a24c5b90de71bff0760fda (diff) | |
download | bluez-237365998f13bac47138880f3a17361a11c0e3fc.tar.gz |
client: Use g_dbus_dict_append_*()
Diffstat (limited to 'client/advertising.c')
-rw-r--r-- | client/advertising.c | 58 |
1 files changed, 3 insertions, 55 deletions
diff --git a/client/advertising.c b/client/advertising.c index a0e6906e3..b2965ceb6 100644 --- a/client/advertising.c +++ b/client/advertising.c @@ -237,59 +237,6 @@ static gboolean get_uuids(const GDBusPropertyTable *property, return TRUE; } -static void append_array_variant(DBusMessageIter *iter, int type, void *val, - int n_elements) -{ - DBusMessageIter variant, array; - char type_sig[2] = { type, '\0' }; - char array_sig[3] = { DBUS_TYPE_ARRAY, type, '\0' }; - - dbus_message_iter_open_container(iter, DBUS_TYPE_VARIANT, - array_sig, &variant); - - dbus_message_iter_open_container(&variant, DBUS_TYPE_ARRAY, - type_sig, &array); - - if (dbus_type_is_fixed(type) == TRUE) { - dbus_message_iter_append_fixed_array(&array, type, val, - n_elements); - } else if (type == DBUS_TYPE_STRING || type == DBUS_TYPE_OBJECT_PATH) { - const char ***str_array = val; - int i; - - for (i = 0; i < n_elements; i++) - dbus_message_iter_append_basic(&array, type, - &((*str_array)[i])); - } - - dbus_message_iter_close_container(&variant, &array); - - dbus_message_iter_close_container(iter, &variant); -} - -static void dict_append_basic_array(DBusMessageIter *dict, int key_type, - const void *key, int type, void *val, - int n_elements) -{ - DBusMessageIter entry; - - dbus_message_iter_open_container(dict, DBUS_TYPE_DICT_ENTRY, - NULL, &entry); - - dbus_message_iter_append_basic(&entry, key_type, key); - - append_array_variant(&entry, type, val, n_elements); - - dbus_message_iter_close_container(dict, &entry); -} - -static void dict_append_array(DBusMessageIter *dict, const char *key, int type, - void *val, int n_elements) -{ - dict_append_basic_array(dict, DBUS_TYPE_STRING, &key, type, val, - n_elements); -} - static gboolean service_data_exists(const GDBusPropertyTable *property, void *data) { @@ -305,7 +252,7 @@ static gboolean get_service_data(const GDBusPropertyTable *property, dbus_message_iter_open_container(iter, DBUS_TYPE_ARRAY, "{sv}", &dict); - dict_append_array(&dict, ad.service.uuid, DBUS_TYPE_BYTE, &val, + g_dbus_dict_append_array(&dict, ad.service.uuid, DBUS_TYPE_BYTE, &val, data->len); dbus_message_iter_close_container(iter, &dict); @@ -328,7 +275,8 @@ static gboolean get_manufacturer_data(const GDBusPropertyTable *property, dbus_message_iter_open_container(iter, DBUS_TYPE_ARRAY, "{qv}", &dict); - dict_append_basic_array(&dict, DBUS_TYPE_UINT16, &ad.manufacturer.id, + g_dbus_dict_append_basic_array(&dict, DBUS_TYPE_UINT16, + &ad.manufacturer.id, DBUS_TYPE_BYTE, &val, data->len); dbus_message_iter_close_container(iter, &dict); |