X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=src%2Fwifi-state.c;h=5d894585f24ce95011cc6064e535181108908760;hb=0c6944d858198b01ea989a8c3328cf48bb66436a;hp=072431ffe2795d5725a06aa46c3a6c4e6ff395b5;hpb=540bbf21a409ddd56cd198277ae040557547d3d1;p=platform%2Fcore%2Fconnectivity%2Fnet-config.git diff --git a/src/wifi-state.c b/src/wifi-state.c index 072431f..5d89458 100755 --- a/src/wifi-state.c +++ b/src/wifi-state.c @@ -19,10 +19,6 @@ #include #include -#include -#include -#include -#include #include "log.h" #include "util.h" @@ -48,24 +44,50 @@ static GSList *notifier_list = NULL; static guint network_connected_popup_timer_id = 0; static gboolean block_network_connected_popup = FALSE; -static void __netconfig_pop_wifi_connected_poppup(const char *ssid) -{ - bundle *b = NULL; - - if (ssid == NULL) - return; - - b = bundle_create(); - - bundle_add(b, "_SYSPOPUP_TITLE_", "Network connection popup"); - bundle_add(b, "_SYSPOPUP_TYPE_", "toast_popup"); - bundle_add(b, "_SYSPOPUP_CONTENT_", "wifi connected"); - bundle_add(b, "_AP_NAME_", ssid); +char *_convert_wifi_service_state_to_string(wifi_service_state_e wifi_service_state_type) +{ + switch (wifi_service_state_type) { + case NETCONFIG_WIFI_UNKNOWN: + return "unknown"; + case NETCONFIG_WIFI_IDLE: + return "idle"; + case NETCONFIG_WIFI_ASSOCIATION: + return "association"; + case NETCONFIG_WIFI_CONFIGURATION: + return "configuration"; + case NETCONFIG_WIFI_CONNECTED: + return "connected"; + case NETCONFIG_WIFI_FAILURE: + return "failure"; + default: + ERR("Invalid wifi_service_state_e parameter"); + break; + } - DBG("Launch Wi-Fi connected alert network popup"); - syspopup_launch("net-popup", b); + return "Invalid parameter"; +} + +char *_convert_wifi_technology_state_to_string(wifi_tech_state_e wifi_tech_state_type) +{ + switch (wifi_tech_state_type) { + case NETCONFIG_WIFI_TECH_UNKNOWN: + return "unknown"; + case NETCONFIG_WIFI_TECH_OFF: + return "off"; + case NETCONFIG_WIFI_TECH_WPS_ONLY: + return "wps only"; + case NETCONFIG_WIFI_TECH_POWERED: + return "powered"; + case NETCONFIG_WIFI_TECH_CONNECTED: + return "connected"; + case NETCONFIG_WIFI_TECH_TETHERED: + return "tethered"; + default: + ERR("Invalid wifi_tech_state_e parameter"); + break; + } - bundle_free(b); + return "Invalid parameter"; } static gboolean _block_network_connection_popup(gpointer data) @@ -330,7 +352,7 @@ static void _deregister_network_notification(void) static void _set_power_save(gboolean power_save) { gboolean result; - const char *if_path; + char *if_path; GVariant *input_args = NULL; static gboolean old_state = TRUE; const gchar *args_disable = "POWERMODE 1"; @@ -345,9 +367,9 @@ static void _set_power_save(gboolean power_save) } if (power_save) - input_args = g_variant_new_string(args_enable); + input_args = g_variant_new("(s)", args_enable); else - input_args = g_variant_new_string(args_disable); + input_args = g_variant_new("(s)", args_disable); result = netconfig_supplicant_invoke_dbus_method_nonblock( SUPPLICANT_SERVICE, @@ -361,7 +383,8 @@ static void _set_power_save(gboolean power_save) else old_state = power_save; - g_variant_unref(input_args); + g_free(if_path); + return; } @@ -407,12 +430,14 @@ static void _set_power_lock(gboolean power_lock) return; } - ret = g_variant_get_int32(reply); - if (ret < 0) - ERR("Failed to set power lock %s with ret %d", + if (g_variant_is_of_type(reply, G_VARIANT_TYPE_INT32)) { + ret = g_variant_get_int32(reply); + if (ret < 0) + ERR("Failed to set power lock %s with ret %d", power_lock == TRUE ? "enable" : "disable", ret); - else - old_state = power_lock; + else + old_state = power_lock; + } g_variant_unref(reply); @@ -460,9 +485,10 @@ void wifi_state_update_power_state(gboolean powered) netconfig_set_vconf_int(VCONFKEY_WIFI_STATE, VCONFKEY_WIFI_UNCONNECTED); netconfig_set_vconf_int(VCONFKEY_NETWORK_WIFI_STATE, VCONFKEY_NETWORK_WIFI_NOT_CONNECTED); - netconfig_set_system_event(SYS_EVENT_WIFI_STATE, EVT_KEY_WIFI_STATE, EVT_VAL_WIFI_ON); + netconfig_set_system_event(SYS_EVT_WIFI_STATE, EKEY_WIFI_STATE, EVAL_WIFI_ON); netconfig_wifi_bgscan_stop(); + netconfig_wifi_bgscan_set_interval(SCAN_EXPONENTIAL_MIN); netconfig_wifi_bgscan_start(TRUE); /* Add callback to track change in notification setting */ @@ -484,9 +510,8 @@ void wifi_state_update_power_state(gboolean powered) netconfig_set_vconf_int(VCONFKEY_WIFI_STATE, VCONFKEY_WIFI_OFF); netconfig_set_vconf_int(VCONFKEY_NETWORK_WIFI_STATE, VCONFKEY_NETWORK_WIFI_OFF); - netconfig_set_system_event(SYS_EVENT_WIFI_STATE, EVT_KEY_WIFI_STATE, EVT_VAL_WIFI_OFF); + netconfig_set_system_event(SYS_EVT_WIFI_STATE, EKEY_WIFI_STATE, EVAL_WIFI_OFF); - netconfig_wifi_set_bgscan_pause(FALSE); netconfig_wifi_bgscan_stop(); _set_bss_found(FALSE); @@ -551,7 +576,8 @@ void wifi_state_set_service_state(wifi_service_state_e new_state) return; g_service_state = new_state; - DBG("Wi-Fi state %d ==> %d", old_state, new_state); + DBG("Wi-Fi service state, old state[%s] ==> new state[%s]", + _convert_wifi_service_state_to_string(old_state), _convert_wifi_service_state_to_string(new_state)); /* During DHCP, temporarily disable Wi-Fi power saving */ if ((old_state < NETCONFIG_WIFI_ASSOCIATION || old_state == NETCONFIG_WIFI_FAILURE) && new_state == NETCONFIG_WIFI_CONFIGURATION) { @@ -570,7 +596,7 @@ void wifi_state_set_service_state(wifi_service_state_e new_state) netconfig_set_vconf_int(VCONFKEY_WIFI_STATE, VCONFKEY_WIFI_CONNECTED); netconfig_set_vconf_int(VCONFKEY_NETWORK_WIFI_STATE, VCONFKEY_NETWORK_WIFI_CONNECTED); - netconfig_set_system_event(SYS_EVENT_WIFI_STATE, EVT_KEY_WIFI_STATE, EVT_VAL_WIFI_CONNECTED); + netconfig_set_system_event(SYS_EVT_WIFI_STATE, EKEY_WIFI_STATE, EVAL_WIFI_CONNECTED); __set_wifi_connected_essid(); @@ -583,18 +609,16 @@ void wifi_state_set_service_state(wifi_service_state_e new_state) netconfig_set_vconf_int (VCONFKEY_WIFI_STATE, VCONFKEY_WIFI_UNCONNECTED); netconfig_set_vconf_int(VCONFKEY_NETWORK_WIFI_STATE, VCONFKEY_NETWORK_WIFI_NOT_CONNECTED); - netconfig_set_system_event(SYS_EVENT_WIFI_STATE, EVT_KEY_WIFI_STATE, EVT_VAL_WIFI_ON); + netconfig_set_system_event(SYS_EVT_WIFI_STATE, EKEY_WIFI_STATE, EVAL_WIFI_ON); netconfig_wifi_indicator_stop(); - netconfig_wifi_set_bgscan_pause(FALSE); - netconfig_wifi_bgscan_stop(); + netconfig_wifi_bgscan_set_interval(SCAN_EXPONENTIAL_MIN); netconfig_wifi_bgscan_start(TRUE); } else if ((old_state > NETCONFIG_WIFI_IDLE && old_state < NETCONFIG_WIFI_CONNECTED) && new_state == NETCONFIG_WIFI_IDLE) { /* in ipv6 case disconnect/association -> association */ DBG("reset the bg scan period"); - netconfig_wifi_set_bgscan_pause(FALSE); netconfig_wifi_bgscan_stop(); netconfig_wifi_bgscan_start(TRUE); @@ -620,7 +644,8 @@ void wifi_state_set_tech_state(wifi_tech_state_e new_state) g_tech_state = new_state; - DBG("Wi-Fi technology state %d ==> %d", old_state, new_state); + DBG("Wi-Fi technology state, old state[%s] ==> new state[%s]", + _convert_wifi_technology_state_to_string(old_state), _convert_wifi_technology_state_to_string(new_state)); } wifi_tech_state_e wifi_state_get_technology_state(void) @@ -669,7 +694,6 @@ wifi_tech_state_e wifi_state_get_technology_state(void) DBG("%s", sdata); } } - g_variant_iter_free(next); } g_variant_unref(message);