dbus_message_iter_close_container(dict, &entry);
}
-static void append_technologies(gboolean powered, DBusMessageIter *dict)
+static void append_available_technologies(DBusMessageIter *dict)
{
DBusMessageIter entry, value, iter;
- const char *key;
+ const char *key = "AvailableTechnologies";
- if (powered)
- key = "EnabledTechnologies";
- else
- key = "AvailableTechnologies";
+ dbus_message_iter_open_container(dict, DBUS_TYPE_DICT_ENTRY,
+ NULL, &entry);
+
+ dbus_message_iter_append_basic(&entry, DBUS_TYPE_STRING, &key);
+
+ dbus_message_iter_open_container(&entry, DBUS_TYPE_VARIANT,
+ DBUS_TYPE_ARRAY_AS_STRING DBUS_TYPE_STRING_AS_STRING,
+ &value);
+
+ dbus_message_iter_open_container(&value, DBUS_TYPE_ARRAY,
+ DBUS_TYPE_STRING_AS_STRING, &iter);
+ __connman_notifier_list_registered(&iter);
+ dbus_message_iter_close_container(&value, &iter);
+
+ dbus_message_iter_close_container(&entry, &value);
+
+ dbus_message_iter_close_container(dict, &entry);
+}
+
+static void append_enabled_technologies(DBusMessageIter *dict)
+{
+ DBusMessageIter entry, value, iter;
+ const char *key = "EnabledTechnologies";
+
+ dbus_message_iter_open_container(dict, DBUS_TYPE_DICT_ENTRY,
+ NULL, &entry);
+
+ dbus_message_iter_append_basic(&entry, DBUS_TYPE_STRING, &key);
+
+ dbus_message_iter_open_container(&entry, DBUS_TYPE_VARIANT,
+ DBUS_TYPE_ARRAY_AS_STRING DBUS_TYPE_STRING_AS_STRING,
+ &value);
+
+ dbus_message_iter_open_container(&value, DBUS_TYPE_ARRAY,
+ DBUS_TYPE_STRING_AS_STRING, &iter);
+ __connman_notifier_list_enabled(&iter);
+ dbus_message_iter_close_container(&value, &iter);
+
+ dbus_message_iter_close_container(&entry, &value);
+
+ dbus_message_iter_close_container(dict, &entry);
+}
+
+static void append_connected_technologies(DBusMessageIter *dict)
+{
+ DBusMessageIter entry, value, iter;
+ const char *key = "ConnectedTechnologies";
dbus_message_iter_open_container(dict, DBUS_TYPE_DICT_ENTRY,
NULL, &entry);
dbus_message_iter_open_container(&value, DBUS_TYPE_ARRAY,
DBUS_TYPE_STRING_AS_STRING, &iter);
- __connman_notifier_list(powered, &iter);
+ __connman_notifier_list_connected(&iter);
dbus_message_iter_close_container(&value, &iter);
dbus_message_iter_close_container(&entry, &value);
connman_dbus_dict_append_variant(&dict, "OfflineMode",
DBUS_TYPE_BOOLEAN, &global_offlinemode);
- append_technologies(FALSE, &dict);
- append_technologies(TRUE, &dict);
+ append_available_technologies(&dict);
+ append_enabled_technologies(&dict);
+ append_connected_technologies(&dict);
dbus_message_iter_close_container(&array, &dict);