summaryrefslogtreecommitdiff
path: root/plugins/supplicant.c
diff options
context:
space:
mode:
authorMarcel Holtmann <marcel@holtmann.org>2008-12-03 00:53:01 +0100
committerMarcel Holtmann <marcel@holtmann.org>2008-12-03 00:53:01 +0100
commit65511e670e72f12cd78549696bb440708f1a7ab6 (patch)
tree4cb033e7e0d21d32f6a09ec96786bf3779cc809b /plugins/supplicant.c
parent67c8529a4fe6b9e10569cf02b18dbb83766989b0 (diff)
downloadconnman-65511e670e72f12cd78549696bb440708f1a7ab6.tar.gz
connman-65511e670e72f12cd78549696bb440708f1a7ab6.tar.bz2
connman-65511e670e72f12cd78549696bb440708f1a7ab6.zip
Extract all properties from scan result
Diffstat (limited to 'plugins/supplicant.c')
-rw-r--r--plugins/supplicant.c30
1 files changed, 24 insertions, 6 deletions
diff --git a/plugins/supplicant.c b/plugins/supplicant.c
index 243ec1b0..cdaea16b 100644
--- a/plugins/supplicant.c
+++ b/plugins/supplicant.c
@@ -619,13 +619,9 @@ static void extract_rsnie(struct supplicant_network *network,
static void extract_capabilites(struct supplicant_network *network,
DBusMessageIter *value)
{
- guint capabilities;
+ dbus_message_iter_get_basic(value, &network->capabilities);
- dbus_message_iter_get_basic(value, &capabilities);
-
- network->capabilities = capabilities;
-
- if (capabilities & IEEE80211_CAP_PRIVACY)
+ if (network->capabilities & IEEE80211_CAP_PRIVACY)
network->has_wep = TRUE;
}
@@ -662,6 +658,19 @@ static void properties_reply(DBusPendingCall *call, void *user_data)
//type = dbus_message_iter_get_arg_type(&value);
//dbus_message_iter_get_basic(&value, &val);
+ /*
+ * bssid : a (97)
+ * ssid : a (97)
+ * wpaie : a (97)
+ * rsnie : a (97)
+ * frequency : i (105)
+ * capabilities : q (113)
+ * quality : i (105)
+ * noise : i (105)
+ * level : i (105)
+ * maxrate : i (105)
+ */
+
if (g_str_equal(key, "ssid") == TRUE)
extract_ssid(network, &value);
else if (g_str_equal(key, "wpaie") == TRUE)
@@ -670,6 +679,15 @@ static void properties_reply(DBusPendingCall *call, void *user_data)
extract_rsnie(network, &value);
else if (g_str_equal(key, "capabilities") == TRUE)
extract_capabilites(network, &value);
+ else if (g_str_equal(key, "quality") == TRUE)
+ dbus_message_iter_get_basic(&value, &network->quality);
+ else if (g_str_equal(key, "noise") == TRUE)
+ dbus_message_iter_get_basic(&value, &network->noise);
+ else if (g_str_equal(key, "level") == TRUE)
+ dbus_message_iter_get_basic(&value, &network->level);
+ else if (g_str_equal(key, "maxrate") == TRUE)
+ dbus_message_iter_get_basic(&value, &network->maxrate);
+
dbus_message_iter_next(&dict);
}