Add support for connection strength property
authorMarcel Holtmann <marcel@holtmann.org>
Mon, 5 Jan 2009 22:59:35 +0000 (23:59 +0100)
committerMarcel Holtmann <marcel@holtmann.org>
Mon, 5 Jan 2009 22:59:35 +0000 (23:59 +0100)
src/connection.c
src/network.c

index 7344cd4..0b3e59c 100644 (file)
@@ -205,6 +205,7 @@ static DBusMessage *get_properties(DBusConnection *conn,
        struct connman_element *element = data;
        DBusMessage *reply;
        DBusMessageIter array, dict;
+       connman_uint8_t strength = 0;
        const char *type = NULL, *method = NULL;
        const char *address = NULL, *netmask = NULL, *gateway = NULL;
 
@@ -227,6 +228,11 @@ static DBusMessage *get_properties(DBusConnection *conn,
                connman_dbus_dict_append_variant(&dict, "Type",
                                                DBUS_TYPE_STRING, &type);
 
+       connman_element_get_static_property(element, "Strength", &strength);
+       if (strength > 0)
+               connman_dbus_dict_append_variant(&dict, "Strength",
+                                               DBUS_TYPE_BYTE, &strength);
+
        if (element->devname != NULL)
                connman_dbus_dict_append_variant(&dict, "Interface",
                                        DBUS_TYPE_STRING, &element->devname);
index 1bfc46d..c60cfa4 100644 (file)
@@ -352,6 +352,7 @@ struct connman_network *connman_network_create(const char *identifier,
                                                enum connman_network_type type)
 {
        struct connman_network *network;
+       connman_uint8_t strength = 0;
        const char *str;
 
        DBG("identifier %s type %d", identifier, type);
@@ -376,6 +377,9 @@ struct connman_network *connman_network_create(const char *identifier,
                connman_element_add_static_property(&network->element,
                                        "Type", DBUS_TYPE_STRING, &str);
 
+       connman_element_add_static_property(&network->element,
+                                       "Strength", DBUS_TYPE_BYTE, &strength);
+
        network->type = type;
        network->identifier = g_strdup(identifier);
 
@@ -619,8 +623,11 @@ int connman_network_set_uint8(struct connman_network *network,
 {
        DBG("network %p key %s value %d", network, key, value);
 
-       if (g_str_equal(key, "Strength") == TRUE)
+       if (g_str_equal(key, "Strength") == TRUE) {
                network->strength = value;
+               connman_element_set_static_property(&network->element,
+                                       "Strength", DBUS_TYPE_BYTE, &value);
+       }
 
        return 0;
 }