X-Git-Url: https://vcs.maemo.org/git/?a=blobdiff_plain;f=src%2Fmanager.c;h=df53feffd2cb6080826447116293cb5309de4850;hb=4c85f61ab0e0e4a7a641576b8013e720dd7c64a9;hp=a9a52eab1b672433080c403d10a63708ce482c52;hpb=2d5ab53c5c005439464c684ed3402d81598c5aea;p=connman diff --git a/src/manager.c b/src/manager.c index a9a52ea..df53fef 100644 --- a/src/manager.c +++ b/src/manager.c @@ -27,10 +27,10 @@ #include "connman.h" -static void append_devices(DBusMessageIter *dict) +static void append_profiles(DBusMessageIter *dict) { DBusMessageIter entry, value, iter; - const char *key = "Devices"; + const char *key = "Profiles"; dbus_message_iter_open_container(dict, DBUS_TYPE_DICT_ENTRY, NULL, &entry); @@ -44,7 +44,7 @@ static void append_devices(DBusMessageIter *dict) dbus_message_iter_open_container(&value, DBUS_TYPE_ARRAY, DBUS_TYPE_OBJECT_PATH_AS_STRING, &iter); - __connman_element_list(CONNMAN_ELEMENT_TYPE_DEVICE, &iter); + __connman_profile_list(&iter); dbus_message_iter_close_container(&value, &iter); @@ -53,10 +53,10 @@ static void append_devices(DBusMessageIter *dict) dbus_message_iter_close_container(dict, &entry); } -static void append_connections(DBusMessageIter *dict) +static void append_devices(DBusMessageIter *dict) { DBusMessageIter entry, value, iter; - const char *key = "Connections"; + const char *key = "Devices"; dbus_message_iter_open_container(dict, DBUS_TYPE_DICT_ENTRY, NULL, &entry); @@ -70,7 +70,7 @@ static void append_connections(DBusMessageIter *dict) dbus_message_iter_open_container(&value, DBUS_TYPE_ARRAY, DBUS_TYPE_OBJECT_PATH_AS_STRING, &iter); - __connman_element_list(CONNMAN_ELEMENT_TYPE_INTERNET, &iter); + __connman_element_list(NULL, CONNMAN_ELEMENT_TYPE_DEVICE, &iter); dbus_message_iter_close_container(&value, &iter); @@ -79,10 +79,10 @@ static void append_connections(DBusMessageIter *dict) dbus_message_iter_close_container(dict, &entry); } -static void append_profiles(DBusMessageIter *dict) +static void append_connections(DBusMessageIter *dict) { DBusMessageIter entry, value, iter; - const char *key = "Profiles"; + const char *key = "Connections"; dbus_message_iter_open_container(dict, DBUS_TYPE_DICT_ENTRY, NULL, &entry); @@ -96,7 +96,7 @@ static void append_profiles(DBusMessageIter *dict) dbus_message_iter_open_container(&value, DBUS_TYPE_ARRAY, DBUS_TYPE_OBJECT_PATH_AS_STRING, &iter); - __connman_profile_list(&iter); + __connman_element_list(NULL, CONNMAN_ELEMENT_TYPE_CONNECTION, &iter); dbus_message_iter_close_container(&value, &iter); @@ -105,6 +105,26 @@ static void append_profiles(DBusMessageIter *dict) dbus_message_iter_close_container(dict, &entry); } +static void append_state(DBusMessageIter *dict, const char *state) +{ + DBusMessageIter entry, value; + const char *key = "State"; + + 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_STRING_AS_STRING, &value); + + dbus_message_iter_append_basic(&value, DBUS_TYPE_STRING, &state); + + dbus_message_iter_close_container(&entry, &value); + + dbus_message_iter_close_container(dict, &entry); +} + static DBusMessage *get_properties(DBusConnection *conn, DBusMessage *msg, void *data) { @@ -129,6 +149,11 @@ static DBusMessage *get_properties(DBusConnection *conn, append_devices(&dict); append_connections(&dict); + if (__connman_element_count(NULL, CONNMAN_ELEMENT_TYPE_CONNECTION) > 0) + append_state(&dict, "online"); + else + append_state(&dict, "offline"); + dbus_message_iter_close_container(&array, &dict); return reply; @@ -182,43 +207,15 @@ static DBusMessage *unregister_agent(DBusConnection *conn, return reply; } -static DBusMessage *list_elements(DBusConnection *conn, - DBusMessage *msg, void *data) -{ - DBusMessage *reply; - DBusMessageIter array, iter; - - DBG("conn %p", conn); - - reply = dbus_message_new_method_return(msg); - if (reply == NULL) - return NULL; - - dbus_message_iter_init_append(reply, &array); - - dbus_message_iter_open_container(&array, DBUS_TYPE_ARRAY, - DBUS_TYPE_OBJECT_PATH_AS_STRING, &iter); - - __connman_element_list(CONNMAN_ELEMENT_TYPE_UNKNOWN, &iter); - - dbus_message_iter_close_container(&array, &iter); - - return reply; -} - static GDBusMethodTable manager_methods[] = { { "GetProperties", "", "a{sv}", get_properties }, { "RegisterAgent", "o", "", register_agent }, { "UnregisterAgent", "o", "", unregister_agent }, - { "ListElements", "", "ao", list_elements }, { }, }; static GDBusSignalTable manager_signals[] = { { "PropertyChanged", "sv" }, - { "ElementAdded", "o" }, - { "ElementUpdated", "o" }, - { "ElementRemoved", "o" }, { }, };