- dbus_message_iter_recurse(&array, &dict);
-
- while (dbus_message_iter_get_arg_type(&dict) == DBUS_TYPE_DICT_ENTRY) {
- DBusMessageIter entry, value;
- const char *key;
-
- dbus_message_iter_recurse(&dict, &entry);
- dbus_message_iter_get_basic(&entry, &key);
-
- dbus_message_iter_next(&entry);
- dbus_message_iter_recurse(&entry, &value);
-
- if (g_str_equal(key, "Adapter") == TRUE) {
- if (parent != NULL)
- dbus_message_iter_get_basic(&value, parent);
- } else if (g_str_equal(key, "Address") == TRUE) {
- if (address != NULL)
- dbus_message_iter_get_basic(&value, address);
- } else if (g_str_equal(key, "Name") == TRUE) {
- if (name != NULL)
- dbus_message_iter_get_basic(&value, name);
- } else if (g_str_equal(key, "Alias") == TRUE) {
- if (alias != NULL)
- dbus_message_iter_get_basic(&value, alias);
- } else if (g_str_equal(key, "Powered") == TRUE) {
- if (powered != NULL)
- dbus_message_iter_get_basic(&value, powered);
- } else if (g_str_equal(key, "Discovering") == TRUE) {
- if (scanning != NULL)
- dbus_message_iter_get_basic(&value, scanning);
- } else if (g_str_equal(key, "Devices") == TRUE) {
- if (networks != NULL)
- memcpy(networks, &value, sizeof(value));
- } else if (g_str_equal(key, "UUIDs") == TRUE) {
- if (uuids != NULL)
- memcpy(uuids, &value, sizeof(value));
- }