diff options
author | Marcel Holtmann <marcel@holtmann.org> | 2008-01-16 06:59:22 +0100 |
---|---|---|
committer | Marcel Holtmann <marcel@holtmann.org> | 2008-01-16 06:59:22 +0100 |
commit | 199daf70bac7eb1d2d7fdafc66b2a1baba188bdc (patch) | |
tree | 03a67bdfd2fef8286ed5a043c570c9dc24c5d599 | |
parent | b6af353282ffb3a90f9cce4aa408ac2347117f11 (diff) | |
download | connman-199daf70bac7eb1d2d7fdafc66b2a1baba188bdc.tar.gz connman-199daf70bac7eb1d2d7fdafc66b2a1baba188bdc.tar.bz2 connman-199daf70bac7eb1d2d7fdafc66b2a1baba188bdc.zip |
Include signal strength for reported networks
-rw-r--r-- | include/iface.h | 3 | ||||
-rw-r--r-- | plugins/80211.c | 6 | ||||
-rw-r--r-- | src/iface.c | 7 |
3 files changed, 11 insertions, 5 deletions
diff --git a/include/iface.h b/include/iface.h index 57a4d72e..6a80178a 100644 --- a/include/iface.h +++ b/include/iface.h @@ -153,6 +153,9 @@ extern void connman_iface_indicate_carrier_on(struct connman_iface *iface); extern void connman_iface_indicate_carrier_off(struct connman_iface *iface); extern void connman_iface_indicate_configured(struct connman_iface *iface); +extern void connman_iface_indicate_station(struct connman_iface *iface, + const char *name, int strength); + extern int connman_iface_get_ipv4(struct connman_iface *iface, struct connman_ipv4 *ipv4); extern int connman_iface_set_ipv4(struct connman_iface *iface, diff --git a/plugins/80211.c b/plugins/80211.c index a94551dd..53b36b60 100644 --- a/plugins/80211.c +++ b/plugins/80211.c @@ -70,8 +70,10 @@ static void report_station(struct connman_iface *iface, if (station == NULL) return; - if (station->name) - connman_iface_indicate_station(iface, station->name); + if (station->name == NULL) + return; + + connman_iface_indicate_station(iface, station->name, station->qual); } static struct station_data *create_station(struct iface_data *iface, diff --git a/src/iface.c b/src/iface.c index 1662fb7a..a412dab4 100644 --- a/src/iface.c +++ b/src/iface.c @@ -289,7 +289,7 @@ void connman_iface_indicate_configured(struct connman_iface *iface) } } -static void append_station(DBusMessage *reply, const char *name) +static void append_station(DBusMessage *reply, const char *name, int signal) { DBusMessageIter array, dict; @@ -301,12 +301,13 @@ static void append_station(DBusMessage *reply, const char *name) DBUS_DICT_ENTRY_END_CHAR_AS_STRING, &dict); append_entry(&dict, "ESSID", DBUS_TYPE_STRING, &name); + append_entry(&dict, "Signal", DBUS_TYPE_UINT16, &signal); dbus_message_iter_close_container(&array, &dict); } void connman_iface_indicate_station(struct connman_iface *iface, - const char *name) + const char *name, int strength) { DBusMessage *signal; @@ -317,7 +318,7 @@ void connman_iface_indicate_station(struct connman_iface *iface, if (signal == NULL) return; - append_station(signal, name); + append_station(signal, name, strength); dbus_connection_send(connection, signal, NULL); dbus_message_unref(signal); |