capi-media-player
capi-media-sound-manager
capi-media-metadata-extractor
- capi-network-wifi
+ capi-network-wifi-manager
capi-ui-efl-util
appcore-common
dlog
capi-message-port
callmgr_client
capi-ui-efl-util
+ msg-service
)
FOREACH(flag ${pkgs_CFLAGS})
#ifndef __INDICATOR_UTIL_H__
#define __INDICATOR_UTIL_H__
#include <Ecore.h>
-#include <wifi.h>
+#include <wifi-manager.h>
#include <system_settings.h>
#include <runtime_info.h>
-#include <network/wifi.h>
/**
* @file util.h
#define util_get_external_cache_file_path(x) util_get_file_path(APP_DIR_EXTERNAL_CACHE, (x))
/**
- * @brief Initializes WiFi using wifi_initialize API
- * @remarks If WiFi is already initialized, WIFI_ERROR_NONE will be returned.
- * @return 0 on success, other value on failure
- */
-int util_wifi_initialize(void);
-
-/**
- * @brief Deinitializes WiFi using wifi_deinitialize API
- * @remarks Only last call of that function is effective to avoid unwanted deinitialization.
- * @return 0 on success, other value on failure
- */
-int util_wifi_deinitialize(void);
-
-/**
- * @brief Allows to set multiple callbacks using wifi_set_connection_state_changed_cb API
- *
- * @param cb callback
- * @param data user_data passed to callback function.
- * @return 0 on success, other value on failure
- */
-int util_wifi_set_connection_state_changed_cb(wifi_connection_state_changed_cb cb, void *data);
-
-/**
- * @brief Unregisters callback set with util_wifi_set_connection_state_changed_cb.
- *
- * @param cb callback
- */
-void util_wifi_unset_connection_state_changed_cb(wifi_connection_state_changed_cb cb);
-
-/**
- * @brief Allows to set multiple callbacks using wifi_set_device_state_changed_cb API
- *
- * @param cb callback
- * @param data user_data passed to callback function.
- * @return 0 on success, other value on failure
- */
-int util_wifi_set_device_state_changed_cb(wifi_device_state_changed_cb cb, void *data);
-
-/**
- * @brief Unregisters callback set with util_wifi_set_device_state_changed_cb.
- *
- * @param cb callback
- */
-void util_wifi_unset_device_state_changed_cb(wifi_device_state_changed_cb cb);
-
-
-/**
* @brief Allows to register multiple callbacks using system_settings_changed_cb API.
*
* @param key key to monitor.
BuildRequires: pkgconfig(capi-media-player)
BuildRequires: pkgconfig(capi-media-sound-manager)
BuildRequires: pkgconfig(capi-media-metadata-extractor)
-BuildRequires: pkgconfig(capi-network-wifi)
+BuildRequires: pkgconfig(capi-network-wifi-manager)
BuildRequires: pkgconfig(capi-ui-efl-util)
BuildRequires: pkgconfig(appcore-common)
BuildRequires: pkgconfig(dlog)
BuildRequires: pkgconfig(capi-base-utils-i18n)
BuildRequires: pkgconfig(callmgr_client)
BuildRequires: pkgconfig(capi-ui-efl-util)
+BuildRequires: pkgconfig(msg-service)
BuildRequires: cmake
BuildRequires: edje-tools
#include <feedback.h>
#include <notification.h>
#include <app_preference.h>
-#include <wifi.h>
#include <device/display.h>
#include <device/callback.h>
#include <system_settings.h>
*/
#include <stdio.h>
#include <stdlib.h>
-#include <wifi.h>
#include <telephony.h>
#include <system_settings.h>
#include <runtime_info.h>
#include <vconf.h>
#include <app_event.h>
+#include <msg_storage.h>
+#include <wifi-manager.h>
+#include <msg.h>
#include "common.h"
#include "indicator.h"
static int unregister_conn_module(void);
static int wake_up_cb(void *data);
static void __deinit_tel(void);
-
+static int __init_wifi(void *data);
+static void __deinit_wifi();
static int transfer_state = -1;
static int isBTIconShowing = 0;
static telephony_handle_list_s tel_list;
static int prevIndex = -1;
static event_handler_h event;
+static bool mms_sending;
+static msg_handle_t msg_handle;
+static wifi_manager_h wifi_manager;
+
icon_s conn = {
.type = INDICATOR_IMG_ICON,
static void on_noti(telephony_h handle, void *user_data)
{
- wifi_connection_state_e state;
-
int ret = 0;
int network = 0;
bool val;
retm_if(user_data == NULL, "invalid parameter!!");
- ret = wifi_get_connection_state(&state);
- _D("WIFI Status : %d", state);
- retm_if(ret != WIFI_ERROR_NONE, "wifi_get_connection_state failed: %s",
- get_error_message(ret));
+ wifi_manager_connection_state_e wifi_state;
+
+ retm_if(!user_data, "invalid parameter!!");
+
+ if (!wifi_manager) {
+ _E("wifi_manager is not initialized");
+ return;
+ }
+
+ ret = wifi_manager_get_connection_state(wifi_manager ,&wifi_state);
+ if (ret != WIFI_MANAGER_ERROR_NONE) {
+ _E("util_wifi_manager_get_connection_state failed: %s", get_error_message(ret));
+ return;
+ }
- if (state == WIFI_CONNECTION_STATE_CONNECTED) {
- _D("WIFI connected, so hide connection icon");
+ if (mms_sending && wifi_state)
+ _D("MMS is being sent - show mobile data icon.");
+
+ if (wifi_state == WIFI_MANAGER_CONNECTION_STATE_CONNECTED && !mms_sending) {
+ _D("WIFI connected - hiding mobile data icon");
hide_image_icon();
return;
}
return OK;
}
-static void _wifi_status_changed_cb(wifi_device_state_e state, void *user_data)
-{
- int status = 0;
- int ret = 0;
- ret = wifi_get_connection_state(&status);
- if (ret == WIFI_ERROR_NONE) {
- _D("[CB] WIFI Status: %d", status);
- if (status == WIFI_CONNECTION_STATE_CONNECTED) {
- _D("[CB] WIFI connected, so hide connection icon");
- hide_image_icon();
- } else
- on_noti(tel_list.handle[0], user_data);
- }
-}
-
-static void _wifi_connection_status_changed_cb(wifi_connection_state_e state, wifi_ap_h ap, void *user_data)
+static void _update_status_ri(runtime_info_key_e key, void *user_data)
{
- /*First parameter of below function is not used*/
- _wifi_status_changed_cb(0, user_data);
+ on_noti(tel_list.handle[0], user_data);
}
static void _flight_mode(system_settings_key_e key, void *user_data)
}
}
- ret = util_wifi_initialize();
- if (ret != 0) {
- _E("util_wifi_initialize failed[%d]:%s", ret, get_error_message(ret));
- __deinit_tel();
- return FAIL;
- }
-
- ret = util_wifi_set_device_state_changed_cb(_wifi_status_changed_cb, data);
- if (ret != 0) {
- _E("util_wifi_set_device_state_changed_cb failed");
- __deinit_tel();
- return FAIL;
- }
-
- ret = util_wifi_set_connection_state_changed_cb(_wifi_connection_status_changed_cb, data);
- if (ret != 0) {
- _E("util_wifi_set_connection_state_changed_cb failed");
- __deinit_tel();
- return FAIL;
- }
-
ret = util_system_settings_set_changed_cb(SYSTEM_SETTINGS_KEY_NETWORK_FLIGHT_MODE,
_flight_mode, data);
_D("__deinit_tel");
util_system_settings_unset_changed_cb(SYSTEM_SETTINGS_KEY_NETWORK_FLIGHT_MODE, _flight_mode);
- util_wifi_unset_device_state_changed_cb(_wifi_status_changed_cb);
+ util_runtime_info_unset_changed_cb(RUNTIME_INFO_KEY_BLUETOOTH_TETHERING_ENABLED, _update_status_ri);
if (tel_list.count)
telephony_deinit(&tel_list);
tel_list.count = 0;
- util_wifi_deinitialize();
+ msg_close_msg_handle(&msg_handle);
hide_image_icon();
}
on_noti(tel_list.handle[0], data);
}
+static void _wifi_device_state_changed_cb(wifi_manager_device_state_e state, void *user_data)
+{
+ on_noti(tel_list.handle[0], user_data);
+}
+
+static void _wifi_state_changed_cb(wifi_manager_connection_state_e state, wifi_manager_ap_h ap, void *user_data)
+{
+ on_noti(tel_list.handle[0], user_data);
+}
+
+static int __init_wifi(void *data) {
+
+ int ret = WIFI_MANAGER_ERROR_NONE;
+
+ if (wifi_manager) {
+ _W("wifi_manager already initialized");
+ return FAIL;
+ }
+
+ ret = wifi_manager_initialize(&wifi_manager);
+ retvm_if(ret != WIFI_MANAGER_ERROR_NONE, FAIL, "wifi_manager_initialize failed: %s",
+ get_error_message(ret));
+
+ ret = wifi_manager_set_connection_state_changed_cb(wifi_manager, _wifi_state_changed_cb, data);
+ if (ret != WIFI_MANAGER_ERROR_NONE) {
+ _E("wifi_manager_set_connection_state_changed_cb failed: %s", get_error_message(ret));
+ wifi_manager_deinitialize(wifi_manager);
+ wifi_manager = NULL;
+ return FAIL;
+ }
+
+ ret = wifi_manager_set_device_state_changed_cb(wifi_manager, _wifi_device_state_changed_cb, data);
+ if (ret != WIFI_MANAGER_ERROR_NONE) {
+ _E("wifi_manager_set_device_state_changed_cb failed: %s", get_error_message(ret));
+ wifi_manager_unset_connection_state_changed_cb(wifi_manager);
+ wifi_manager_deinitialize(wifi_manager);
+ wifi_manager = NULL;
+ return FAIL;
+ }
+
+ return OK;
+}
+
+static void __deinit_wifi() {
+
+ if (!wifi_manager)
+ return;
+
+ wifi_manager_unset_connection_state_changed_cb(wifi_manager);
+ wifi_manager_unset_device_state_changed_cb(wifi_manager);
+
+ wifi_manager_deinitialize(wifi_manager);
+ wifi_manager = NULL;
+}
+
+
static int register_conn_module(void *data)
{
int ret;
set_app_state(data);
+ ret = __init_wifi(data);
+ retvm_if(ret != OK, FAIL, "wifi initialization failed");
+
ret = telephony_get_state(&state);
- retvm_if(ret != TELEPHONY_ERROR_NONE, FAIL, "telephony_get_state failed: %s",
- get_error_message(ret));
+ if (ret != TELEPHONY_ERROR_NONE) {
+ _E("telephony_get_state failed: %s", get_error_message(ret));
+ __deinit_wifi();
+ return FAIL;
+ }
ret = telephony_init(&tel_list);
- retvm_if(ret != TELEPHONY_ERROR_NONE, FAIL, "telephony_init failed: %s",
- get_error_message(ret));
+ if (ret != TELEPHONY_ERROR_NONE) {
+ _E("telephony_init failed: %s", get_error_message(ret));
+ __deinit_wifi();
+ return FAIL;
+ }
if (state == TELEPHONY_STATE_READY) {
_D("Telephony ready");
- retv_if(__init_tel(data) != OK, FAIL);
+
+ if (__init_tel(data) != OK) {
+
+ telephony_deinit(&tel_list);
+ __deinit_wifi();
+
+ return FAIL;
+ }
} else if (state == TELEPHONY_STATE_NOT_READY)
_D("Telephony not ready");
ret = telephony_set_state_changed_cb(tel_ready_cb, data);
if (ret != TELEPHONY_ERROR_NONE) {
_E("telephony_set_state_changed_cb failed: %s", get_error_message(ret));
+ __deinit_wifi();
__deinit_tel();
return FAIL;
}
ret = event_add_event_handler(SYSTEM_EVENT_MOBILE_DATA_STATE, data_event_cb, data, &event);
if (ret != EVENT_ERROR_NONE) {
_E("event_add_event_handler failed: %s", get_error_message(ret));
+ __deinit_wifi();
__deinit_tel();
return FAIL;
}
ret = vconf_notify_key_changed(VCONFKEY_NETWORK_STATUS, network_status_cb, data);
if (ret != OK) {
_E("vconf_notify_kay_change failed: %s", get_error_message(ret));
+ __deinit_wifi();
+ __deinit_tel();
+ return FAIL;
+ }
+
+ ret = vconf_notify_key_changed(VCONFKEY_PACKET_STATE, network_status_cb, data);
+ if (ret != OK) {
+ _E("vconf_notify_kay_change failed: %s", get_error_message(ret));
+ __deinit_wifi();
__deinit_tel();
return FAIL;
}
static int unregister_conn_module(void)
{
+ __deinit_wifi();
+
vconf_ignore_key_changed(VCONFKEY_NETWORK_STATUS, network_status_cb);
telephony_unset_state_changed_cb(tel_ready_cb);
__deinit_tel();
#include <stdio.h>
#include <stdlib.h>
#include <vconf.h>
-#include <wifi.h>
#include "common.h"
#include "indicator.h"
static int register_wifi_module(void *data);
static int unregister_wifi_module(void);
static int wake_up_cb(void *data);
+static wifi_manager_h wifi_manager;
icon_s wifi = {
.type = INDICATOR_IMG_ICON,
static int transfer_state = -1;
static int updated_while_lcd_off = 0;
static int prevIndex = -1;
-static wifi_rssi_level_e rssi_level;
+static wifi_manager_rssi_level_e rssi_level;
static void set_app_state(void *data)
{
}
}
-static int _rssi_level_to_strength(wifi_rssi_level_e level)
+static int _rssi_level_to_strength(wifi_manager_rssi_level_e level)
{
switch (level) {
- case WIFI_RSSI_LEVEL_0:
+ case WIFI_MANAGER_RSSI_LEVEL_0:
+ case WIFI_MANAGER_RSSI_LEVEL_1:
return LEVEL_WIFI_01;
- case WIFI_RSSI_LEVEL_2:
- case WIFI_RSSI_LEVEL_1:
+ case WIFI_MANAGER_RSSI_LEVEL_2:
return LEVEL_WIFI_02;
- case WIFI_RSSI_LEVEL_3:
+ case WIFI_MANAGER_RSSI_LEVEL_3:
return LEVEL_WIFI_03;
- case WIFI_RSSI_LEVEL_4:
+ case WIFI_MANAGER_RSSI_LEVEL_4:
return LEVEL_WIFI_04;
default:
- return WIFI_RSSI_LEVEL_0;
+ return WIFI_MANAGER_RSSI_LEVEL_0;
}
}
static void _wifi_view_update(void *data)
{
bool activated;
- wifi_connection_state_e state;
+ wifi_manager_connection_state_e state;
int ret;
ret_if(!data);
}
updated_while_lcd_off = 0;
- ret = wifi_is_activated(&activated);
- retm_if(ret != WIFI_ERROR_NONE, "wifi_is_activated failed: %s", get_error_message(ret));
+ ret = wifi_manager_is_activated(wifi_manager, &activated);
+ retm_if(ret != WIFI_MANAGER_ERROR_NONE, "wifi_is_activated failed: %s", get_error_message(ret));
_D("wifi_state : %d", activated);
if (!activated) {
return;
}
- ret = wifi_get_connection_state(&state);
- retm_if(ret != WIFI_ERROR_NONE, "wifi_get_connection_state failed: %s", get_error_message(ret));
- if (state != WIFI_CONNECTION_STATE_CONNECTED) {
+ ret = wifi_manager_get_connection_state(wifi_manager, &state);
+ retm_if(ret != WIFI_MANAGER_ERROR_NONE, "wifi_get_connection_state failed: %s", get_error_message(ret));
+ if (state != WIFI_MANAGER_CONNECTION_STATE_CONNECTED) {
hide_image_icon();
return;
}
return;
}
-static void _wifi_rssi_level_changed(wifi_rssi_level_e level, void *data)
+static void _wifi_rssi_level_changed(wifi_manager_rssi_level_e level, void *data)
{
rssi_level = level;
_wifi_view_update(data);
return;
}
-static void _wifi_connection_state_changed(wifi_connection_state_e state, wifi_ap_h ap, void *data)
+static void _wifi_manager_connection_state_changed(wifi_manager_connection_state_e state, wifi_manager_ap_h ap, void *data)
{
_wifi_view_update(data);
return;
}
-static void _wifi_device_state_changed(wifi_device_state_e state, void *data)
+static void _wifi_manager_device_state_changed(wifi_manager_device_state_e state, void *data)
{
_wifi_view_update(data);
return;
{
retv_if(!data, 0);
+ wifi_manager_connection_state_e connection_state = WIFI_MANAGER_CONNECTION_STATE_FAILURE;
+ bool is_activated = false;
+
set_app_state(data);
- int ret = util_wifi_initialize();
- retvm_if(ret != WIFI_ERROR_NONE, FAIL, "util_wifi_initialize failed : %s", get_error_message(ret));
+ int ret = wifi_manager_initialize(&wifi_manager);
+ retvm_if(ret != WIFI_MANAGER_ERROR_NONE, FAIL, "wifi_manager_initialize failed : %s", get_error_message(ret));
+
+ ret = wifi_manager_get_connection_state(wifi_manager, &connection_state);
+ if (ret != WIFI_MANAGER_ERROR_NONE) {
+ _E("wifi_manager_get_connection_state failed: %s", get_error_message(ret));
+ unregister_wifi_module();
+ return FAIL;
+ }
+ ret = wifi_manager_is_activated(wifi_manager, &is_activated);
+ if (ret != WIFI_MANAGER_ERROR_NONE) {
+ _E("wifi_manager_is_activated failed: %s", get_error_message(ret));
+ unregister_wifi_module();
+ return FAIL;
+ }
- ret = util_wifi_set_device_state_changed_cb(_wifi_device_state_changed, data);
- if (ret != WIFI_ERROR_NONE) {
- _E("util_wifi_set_device_state_changed_cb failed: %s", get_error_message(ret));
+ ret = wifi_manager_set_device_state_changed_cb(wifi_manager, _wifi_manager_device_state_changed, data);
+ if (ret != WIFI_MANAGER_ERROR_NONE) {
+ _E("wifi_manager_set_device_state_changed_cb failed: %s", get_error_message(ret));
unregister_wifi_module();
return FAIL;
}
- ret = util_wifi_set_connection_state_changed_cb(_wifi_connection_state_changed, data);
- if (ret != 0) {
- _E("util_wifi_set_connection_state_changed_cb failed");
+ ret = wifi_manager_set_connection_state_changed_cb(wifi_manager, _wifi_manager_connection_state_changed, data);
+ if (ret != WIFI_MANAGER_ERROR_NONE) {
+ _E("wifi_manager_set_connection_state_changed_cb failed: %s", get_error_message(ret));
unregister_wifi_module();
return FAIL;
}
- ret = wifi_set_rssi_level_changed_cb(_wifi_rssi_level_changed, data);
- if (ret != WIFI_ERROR_NONE) {
+ ret = wifi_manager_set_rssi_level_changed_cb(wifi_manager, _wifi_rssi_level_changed, data);
+ if (ret != WIFI_MANAGER_ERROR_NONE) {
_E("wifi_set_rssi_level_changed_cb failed: %s", get_error_message(ret));
unregister_wifi_module();
return FAIL;
}
ret = vconf_notify_key_changed(VCONFKEY_WIFI_TRANSFER_STATE, _wifi_changed_cb, data);
- if (ret != WIFI_ERROR_NONE) {
+ if (ret != WIFI_MANAGER_ERROR_NONE) {
_E("vconf_notify_key_changed failed: %s", get_error_message(ret));
unregister_wifi_module();
return FAIL;
static int unregister_wifi_module(void)
{
- util_wifi_unset_device_state_changed_cb(_wifi_device_state_changed);
- util_wifi_unset_connection_state_changed_cb(_wifi_connection_state_changed);
- wifi_unset_rssi_level_changed_cb();
+ wifi_manager_unset_device_state_changed_cb(wifi_manager);
+ wifi_manager_unset_connection_state_changed_cb(wifi_manager);
+ wifi_manager_unset_rssi_level_changed_cb(wifi_manager);
vconf_ignore_key_changed(VCONFKEY_WIFI_TRANSFER_STATE, _wifi_changed_cb);
- int ret = util_wifi_deinitialize();
- if (ret != WIFI_ERROR_NONE) {
- _E("util_wifi_deinitialize failed : %s", get_error_message(ret));
+ int ret = wifi_manager_deinitialize(wifi_manager);
+ if (ret != WIFI_MANAGER_ERROR_NONE) {
+ _E("wifi_manager_deinitialize failed : %s", get_error_message(ret));
}
return OK;
#include <stdlib.h>
#include <vconf.h>
//#include <Ecore_X.h>
-#include <wifi.h>
#include "common.h"
#include "main.h"
ret = vconf_get_int(VCONFKEY_BT_DEVICE, &dev);
if (ret == OK) {
- DBG("Show BT ICON (BT DEVICE: %d)", dev);
+ _D("Show BT ICON (BT DEVICE: %d)", dev);
if (dev == VCONFKEY_BT_DEVICE_NONE) {
show_bluetooth_icon(data, NO_DEVICE);
if ((dev & VCONFKEY_BT_DEVICE_HEADSET_CONNECTED) ||
(dev & VCONFKEY_BT_DEVICE_A2DP_HEADSET_CONNECTED)) {
result = HEADSET_CONNECTED;
- DBG("BT_HEADSET_CONNECTED(%x)", result);
+ _D("BT_HEADSET_CONNECTED(%x)", result);
}
if ((dev & VCONFKEY_BT_DEVICE_SAP_CONNECTED)
|| (dev & VCONFKEY_BT_DEVICE_PBAP_CONNECTED)
|| (dev & VCONFKEY_BT_DEVICE_HID_CONNECTED)
|| (dev & VCONFKEY_BT_DEVICE_PAN_CONNECTED)) {
result = (result | DEVICE_CONNECTED);
- DBG("BT_DEVICE_CONNECTED(%x)", result);
+ _D("BT_DEVICE_CONNECTED(%x)", result);
}
show_bluetooth_icon(data, result);
} else
typedef struct {
- wifi_connection_state_changed_cb cb;
- void *data;
-} wifi_handler_t;
-
-typedef struct {
- wifi_device_state_changed_cb cb;
- void *data;
-} wifi_device_handler_t;
-
-typedef struct {
system_settings_key_e key;
system_settings_changed_cb cb;
void *data;
char *icon;
} reserved_t;
-static Eina_List *wifi_callbacks;
-static Eina_List *wifi_device_callbacks;
static Eina_List *ss_callbacks;
static Eina_List *ri_callbacks;
-static int wifi_init_cnt = 0;
const reserved_t reserved_paths[] = {
{MSG_NORMAL_STATUS_ICON, "Notify/b03_notify_message.png"},
return &buf[0];
}
-int util_wifi_initialize(void)
-{
- _D("util_wifi_initialize");
-
- wifi_init_cnt++;
-
- int ret = wifi_initialize();
- if (ret == WIFI_ERROR_INVALID_OPERATION) {
- _W("WiFi already initialized");
- return OK;
- }
- retv_if(ret != WIFI_ERROR_NONE, ret);
-
- return OK;
-}
-
-int util_wifi_deinitialize(void)
-{
- _D("util_wifi_deinitialize");
-
- wifi_init_cnt--;
-
- if (wifi_init_cnt == 0) {
- int ret = wifi_deinitialize();
- retv_if(ret != WIFI_ERROR_NONE, ret);
- }
- return OK;
-}
-
-static void _wifi_state_cb(wifi_connection_state_e state, wifi_ap_h ap, void *user_data)
-{
- Eina_List *l;
- wifi_handler_t *hdl;
-
- EINA_LIST_FOREACH(wifi_callbacks, l, hdl) {
- if (hdl->cb)
- hdl->cb(state, ap, hdl->data);
- }
-}
-
-int util_wifi_set_connection_state_changed_cb(wifi_connection_state_changed_cb cb, void *data)
-{
- wifi_handler_t *hdl = malloc(sizeof(wifi_handler_t));
- if (!hdl)
- return -1;
-
- if (!wifi_callbacks) {
- int err = wifi_set_connection_state_changed_cb(_wifi_state_cb, NULL);
- if (err != WIFI_ERROR_NONE) {
- free(hdl);
- return -1;
- }
- }
-
- hdl->cb = cb;
- hdl->data = data;
- wifi_callbacks = eina_list_append(wifi_callbacks, hdl);
-
- return 0;
-}
-
-void util_wifi_unset_connection_state_changed_cb(wifi_connection_state_changed_cb cb)
-{
- Eina_List *l, *l2;
- wifi_handler_t *hdl;
-
- EINA_LIST_FOREACH_SAFE(wifi_callbacks, l, l2, hdl) {
- if (hdl->cb == cb) {
- wifi_callbacks = eina_list_remove_list(wifi_callbacks, l);
- free(hdl);
- }
- }
- if (!wifi_callbacks)
- wifi_unset_connection_state_changed_cb();
-}
-
-/** WIFI DEVICE STATE CB **/
-
-static void _wifi_device_state_cb(wifi_device_state_e state, void *user_data)
-{
- Eina_List *l;
- wifi_device_handler_t *hdl;
-
- EINA_LIST_FOREACH(wifi_device_callbacks, l, hdl) {
- if (hdl->cb)
- hdl->cb(state, hdl->data);
- }
-}
-
-int util_wifi_set_device_state_changed_cb(wifi_device_state_changed_cb cb, void *data)
-{
- wifi_device_handler_t *hdl = malloc(sizeof(wifi_device_handler_t));
- if (!hdl) {
- _D("malloc failed");
- return WIFI_ERROR_OUT_OF_MEMORY;
- }
-
- if (!wifi_device_callbacks) {
- int err = wifi_set_device_state_changed_cb(_wifi_device_state_cb, NULL);
-
- if (err != WIFI_ERROR_NONE) {
- _D("wifi_set_device_state_changed_cb failed[%d]:%s", err, get_error_message(err));
- free(hdl);
- return err;
- }
- }
-
- hdl->cb = cb;
- hdl->data = data;
- wifi_device_callbacks = eina_list_append(wifi_device_callbacks, hdl);
-
- return 0;
-}
-
-void util_wifi_unset_device_state_changed_cb(wifi_device_state_changed_cb cb)
-{
- Eina_List *l, *l2;
- wifi_device_handler_t *hdl;
-
- EINA_LIST_FOREACH_SAFE(wifi_device_callbacks, l, l2, hdl) {
- if (hdl->cb == cb) {
- wifi_device_callbacks = eina_list_remove_list(wifi_device_callbacks, l);
- free(hdl);
- }
- }
- if (!wifi_device_callbacks)
- wifi_unset_device_state_changed_cb();
-}
-
/** SYSTEM SETTINGS CB **/
static void _system_settings_cb(system_settings_key_e key, void *data)