From: Marcel Holtmann Date: Sun, 21 Dec 2008 20:23:47 +0000 (+0100) Subject: Add support for exporting the WiFi network mode X-Git-Tag: accepted/2.0alpha-wayland/20121110.002834~4379 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=cbec83f07c92c4e5102a17902380719ac6d6f359;p=profile%2Fivi%2Fconnman.git Add support for exporting the WiFi network mode --- diff --git a/plugins/supplicant.c b/plugins/supplicant.c index bca325d..0b84903 100644 --- a/plugins/supplicant.c +++ b/plugins/supplicant.c @@ -655,6 +655,11 @@ static void extract_capabilites(struct supplicant_network *network, { dbus_message_iter_get_basic(value, &network->capabilities); + if (network->capabilities & IEEE80211_CAP_ESS) + network->adhoc = FALSE; + else if (network->capabilities & IEEE80211_CAP_IBSS) + network->adhoc = TRUE; + if (network->capabilities & IEEE80211_CAP_PRIVACY) network->has_wep = TRUE; } diff --git a/plugins/supplicant.h b/plugins/supplicant.h index 4a746a6..2afd003 100644 --- a/plugins/supplicant.h +++ b/plugins/supplicant.h @@ -41,6 +41,7 @@ struct supplicant_network { guint8 *ssid; guint ssid_len; guint16 capabilities; + gboolean adhoc; gboolean has_wep; gboolean has_wpa; gboolean has_rsn; diff --git a/plugins/wifi.c b/plugins/wifi.c index dd769b5..f72cdb8 100644 --- a/plugins/wifi.c +++ b/plugins/wifi.c @@ -328,6 +328,8 @@ static void scan_result(struct connman_element *device, element = find_pending_element(data, network->identifier); if (element == NULL) { + const char *mode; + element = connman_element_create(temp); element->type = CONNMAN_ELEMENT_TYPE_NETWORK; @@ -339,6 +341,10 @@ static void scan_result(struct connman_element *device, connman_element_add_static_array_property(element, "WiFi.SSID", DBUS_TYPE_BYTE, &network->ssid, network->ssid_len); + mode = (network->adhoc == TRUE) ? "adhoc" : "managed"; + connman_element_add_static_property(element, "WiFi.Mode", + DBUS_TYPE_STRING, &mode); + if (element->wifi.security == NULL) { const char *security; @@ -359,7 +365,7 @@ static void scan_result(struct connman_element *device, connman_element_add_static_property(element, "Strength", DBUS_TYPE_BYTE, &element->strength); - DBG("%s (%s) strength %d", network->identifier, + DBG("%s (%s %s) strength %d", network->identifier, mode, element->wifi.security, element->strength); if (connman_element_register(element, device) < 0) {