From 096629df3b407b6e10535a94a19a4db8de12c024 Mon Sep 17 00:00:00 2001 From: hyunuktak Date: Thu, 28 Jan 2016 11:50:21 +0900 Subject: [PATCH] Modified to get wifi state Change-Id: I33ce465db09015d4b897b37c2254924f9f04c1cd Signed-off-by: hyunuktak --- interfaces/netconfig-iface-wifi.xml | 2 +- packaging/net-config.spec | 2 +- src/wifi-state.c | 59 ++++++++++++++++++----------- 3 files changed, 38 insertions(+), 25 deletions(-) diff --git a/interfaces/netconfig-iface-wifi.xml b/interfaces/netconfig-iface-wifi.xml index ac59f08..e9c6aa6 100755 --- a/interfaces/netconfig-iface-wifi.xml +++ b/interfaces/netconfig-iface-wifi.xml @@ -13,7 +13,7 @@ - + diff --git a/packaging/net-config.spec b/packaging/net-config.spec index eb59aa9..0ebe913 100755 --- a/packaging/net-config.spec +++ b/packaging/net-config.spec @@ -1,6 +1,6 @@ Name: net-config Summary: TIZEN Network Configuration service -Version: 1.1.51 +Version: 1.1.52 Release: 2 Group: System/Network License: Apache-2.0 diff --git a/src/wifi-state.c b/src/wifi-state.c index ebf82d5..408694e 100755 --- a/src/wifi-state.c +++ b/src/wifi-state.c @@ -700,35 +700,48 @@ void wifi_state_get_connected_essid(gchar **essid) * WIFI_CONNECTION_STATE_CONFIGURATION = 2 * WIFI_CONNECTION_STATE_CONNECTED = 3 */ +/* connection_wifi_state_e in CAPI + * + * CONNECTION_WIFI_STATE_DEACTIVATED = 0 + * CONNECTION_WIFI_STATE_DISCONNECTED = 1 + * CONNECTION_WIFI_STATE_CONNECTED = 2 + */ gboolean handle_get_wifi_state(Wifi *wifi, GDBusMethodInvocation *context) { g_return_val_if_fail(wifi != NULL, FALSE); - wifi_service_state_e state = NETCONFIG_WIFI_UNKNOWN; - gint wifi_state = 0; - state = wifi_state_get_service_state(); + GVariant *param = NULL; + wifi_tech_state_e tech_state = NETCONFIG_WIFI_TECH_UNKNOWN; + wifi_service_state_e service_state = NETCONFIG_WIFI_UNKNOWN; + tech_state = wifi_state_get_technology_state(); + service_state = wifi_state_get_service_state(); - switch (state) { - case NETCONFIG_WIFI_FAILURE: - wifi_state = -1; - break; - case NETCONFIG_WIFI_UNKNOWN: - case NETCONFIG_WIFI_IDLE: - wifi_state = 0; - break; - case NETCONFIG_WIFI_ASSOCIATION: - wifi_state = 1; - break; - case NETCONFIG_WIFI_CONFIGURATION: - wifi_state = 2; - break; - case NETCONFIG_WIFI_CONNECTED: - wifi_state = 3; - break; - default: - wifi_state = 0; + if(tech_state == NETCONFIG_WIFI_TECH_UNKNOWN) { + param = g_variant_new("(s)", "unknown"); + } else if(tech_state == NETCONFIG_WIFI_TECH_OFF || + tech_state == NETCONFIG_WIFI_TECH_WPS_ONLY) { + param = g_variant_new("(s)", "deactivated"); + } else { + switch (service_state) { + case NETCONFIG_WIFI_FAILURE: + param = g_variant_new("(s)", "failure"); + break; + case NETCONFIG_WIFI_ASSOCIATION: + param = g_variant_new("(s)", "association"); + break; + case NETCONFIG_WIFI_CONFIGURATION: + param = g_variant_new("(s)", "configuration"); + break; + case NETCONFIG_WIFI_CONNECTED: + param = g_variant_new("(s)", "connected"); + break; + case NETCONFIG_WIFI_UNKNOWN: + case NETCONFIG_WIFI_IDLE: + default: + param = g_variant_new("(s)", "disconnected"); + } } - g_dbus_method_invocation_return_value(context, g_variant_new("(i)", wifi_state)); + g_dbus_method_invocation_return_value(context, param); return TRUE; } -- 2.34.1