aboutsummaryrefslogtreecommitdiffstats
path: root/wpa_supplicant
diff options
context:
space:
mode:
authorPaul Stewart <pstew@google.com>2011-03-15 11:54:59 (GMT)
committerJouni Malinen <j@w1.fi>2011-03-15 11:54:59 (GMT)
commit5bbf9f10868b8718ed2f52a5afecf825f2f4b982 (patch)
tree7789f895f610879a374379ff98c77ea5be876d97 /wpa_supplicant
parentba6f267f64380906a3c8692507a49e09fb8cf1cd (diff)
downloadhostap-5bbf9f10868b8718ed2f52a5afecf825f2f4b982.zip
hostap-5bbf9f10868b8718ed2f52a5afecf825f2f4b982.tar.gz
hostap-5bbf9f10868b8718ed2f52a5afecf825f2f4b982.tar.bz2
Add DBus state change notification for AuthMode property
Signed-off-by: Paul Stewart <pstew@google.com>
Diffstat (limited to 'wpa_supplicant')
-rw-r--r--wpa_supplicant/dbus/dbus_new.c5
-rw-r--r--wpa_supplicant/dbus/dbus_new.h1
-rw-r--r--wpa_supplicant/notify.c6
-rw-r--r--wpa_supplicant/notify.h1
-rw-r--r--wpa_supplicant/wpa_supplicant.c7
5 files changed, 19 insertions, 1 deletions
diff --git a/wpa_supplicant/dbus/dbus_new.c b/wpa_supplicant/dbus/dbus_new.c
index 7562c94..f85fedf 100644
--- a/wpa_supplicant/dbus/dbus_new.c
+++ b/wpa_supplicant/dbus/dbus_new.c
@@ -695,6 +695,11 @@ void wpas_dbus_signal_prop_changed(struct wpa_supplicant *wpa_s,
getter = (WPADBusPropertyAccessor) wpas_dbus_getter_bsss;
prop = "BSSs";
break;
+ case WPAS_DBUS_PROP_CURRENT_AUTH_MODE:
+ getter = (WPADBusPropertyAccessor)
+ wpas_dbus_getter_current_auth_mode;
+ prop = "CurrentAuthMode";
+ break;
default:
wpa_printf(MSG_ERROR, "dbus: %s: Unknown Property value %d",
__func__, property);
diff --git a/wpa_supplicant/dbus/dbus_new.h b/wpa_supplicant/dbus/dbus_new.h
index 9cdefcb..377e381 100644
--- a/wpa_supplicant/dbus/dbus_new.h
+++ b/wpa_supplicant/dbus/dbus_new.h
@@ -30,6 +30,7 @@ enum wpas_dbus_prop {
WPAS_DBUS_PROP_STATE,
WPAS_DBUS_PROP_CURRENT_BSS,
WPAS_DBUS_PROP_CURRENT_NETWORK,
+ WPAS_DBUS_PROP_CURRENT_AUTH_MODE,
WPAS_DBUS_PROP_BSSS,
};
diff --git a/wpa_supplicant/notify.c b/wpa_supplicant/notify.c
index 5e3aaa0..9ee7dc2 100644
--- a/wpa_supplicant/notify.c
+++ b/wpa_supplicant/notify.c
@@ -120,6 +120,12 @@ void wpas_notify_bssid_changed(struct wpa_supplicant *wpa_s)
}
+void wpas_notify_auth_changed(struct wpa_supplicant *wpa_s)
+{
+ wpas_dbus_signal_prop_changed(wpa_s, WPAS_DBUS_PROP_CURRENT_AUTH_MODE);
+}
+
+
void wpas_notify_network_enabled_changed(struct wpa_supplicant *wpa_s,
struct wpa_ssid *ssid)
{
diff --git a/wpa_supplicant/notify.h b/wpa_supplicant/notify.h
index 4e55bd1..156774a 100644
--- a/wpa_supplicant/notify.h
+++ b/wpa_supplicant/notify.h
@@ -29,6 +29,7 @@ void wpas_notify_state_changed(struct wpa_supplicant *wpa_s,
void wpas_notify_network_changed(struct wpa_supplicant *wpa_s);
void wpas_notify_ap_scan_changed(struct wpa_supplicant *wpa_s);
void wpas_notify_bssid_changed(struct wpa_supplicant *wpa_s);
+void wpas_notify_auth_changed(struct wpa_supplicant *wpa_s);
void wpas_notify_network_enabled_changed(struct wpa_supplicant *wpa_s,
struct wpa_ssid *ssid);
void wpas_notify_network_selected(struct wpa_supplicant *wpa_s,
diff --git a/wpa_supplicant/wpa_supplicant.c b/wpa_supplicant/wpa_supplicant.c
index d334227..4f58f76 100644
--- a/wpa_supplicant/wpa_supplicant.c
+++ b/wpa_supplicant/wpa_supplicant.c
@@ -572,8 +572,13 @@ void wpa_supplicant_set_state(struct wpa_supplicant *wpa_s,
}
wpa_s->wpa_state = state;
- if (wpa_s->wpa_state != old_state)
+ if (wpa_s->wpa_state != old_state) {
wpas_notify_state_changed(wpa_s, wpa_s->wpa_state, old_state);
+
+ if (wpa_s->wpa_state == WPA_COMPLETED ||
+ old_state == WPA_COMPLETED)
+ wpas_notify_auth_changed(wpa_s);
+ }
}