* limitations under the License.
*/
-#include "wifi.h"
+#include "wifi-manager.h"
#include "net_nfc_debug_internal.h"
#include "net_nfc_util_defines.h"
#include <vconf.h>
typedef struct _wps_process_context_t {
+ wifi_manager_h handle;
net_nfc_error_e result;
net_nfc_carrier_config_s *config;
net_nfc_server_handover_process_carrier_cb cb;
net_nfc_conn_handover_carrier_state_e net_nfc_server_handover_wps_get_cps()
{
- int wifi_state = 0;
+ int wifi_manager_state = 0;
net_nfc_conn_handover_carrier_state_e cps = NET_NFC_CONN_HANDOVER_CARRIER_INACTIVATE;
- (void)vconf_get_int(VCONFKEY_WIFI_STATE, &wifi_state);
+ (void)vconf_get_int(VCONFKEY_WIFI_STATE, &wifi_manager_state);
- switch (wifi_state) {
+ switch (wifi_manager_state) {
case VCONFKEY_WIFI_UNCONNECTED:
case VCONFKEY_WIFI_CONNECTED:
case VCONFKEY_WIFI_TRANSFER:
return result;
}
-static wifi_security_type_e _wps_get_security_type(net_nfc_carrier_config_s * config)
+static wifi_manager_security_type_e _wps_get_security_type(net_nfc_carrier_config_s * config)
{
- wifi_security_type_e result;
+ wifi_manager_security_type_e result;
uint16_t ret;
ret = _wps_get_short_property(config, NET_NFC_WIFI_ATTRIBUTE_AUTH_TYPE);
switch (ret) {
case 1: /* open */
- result = WIFI_SECURITY_TYPE_NONE;
+ result = WIFI_MANAGER_SECURITY_TYPE_NONE;
break;
case 2: /* WPA-Personal */
- result = WIFI_SECURITY_TYPE_WPA_PSK;
+ result = WIFI_MANAGER_SECURITY_TYPE_WPA_PSK;
break;
case 4: /* Shared */
- result = WIFI_SECURITY_TYPE_WEP;
+ result = WIFI_MANAGER_SECURITY_TYPE_WEP;
break;
case 8: /* WPA-Enterprise */
- result = WIFI_SECURITY_TYPE_EAP;
+ result = WIFI_MANAGER_SECURITY_TYPE_EAP;
break;
case 16: /* WPA2-Enterprise */
- result = WIFI_SECURITY_TYPE_EAP;
+ result = WIFI_MANAGER_SECURITY_TYPE_EAP;
break;
case 32: /* WPA2-Personal */
- result = WIFI_SECURITY_TYPE_WPA2_PSK;
+ result = WIFI_MANAGER_SECURITY_TYPE_WPA2_PSK;
break;
default:
- result = WIFI_SECURITY_TYPE_NONE;
+ result = WIFI_MANAGER_SECURITY_TYPE_NONE;
break;
}
return result;
}
-static wifi_encryption_type_e _wps_get_encryption_type(net_nfc_carrier_config_s * config)
+static wifi_manager_encryption_type_e _wps_get_encryption_type(net_nfc_carrier_config_s * config)
{
- wifi_encryption_type_e result;
+ wifi_manager_encryption_type_e result;
uint16_t ret;
ret = _wps_get_short_property(config, NET_NFC_WIFI_ATTRIBUTE_ENC_TYPE);
switch (ret) {
case 1: /* None */
- result = WIFI_ENCRYPTION_TYPE_NONE;
+ result = WIFI_MANAGER_ENCRYPTION_TYPE_NONE;
break;
case 2: /* WEP */
- result = WIFI_ENCRYPTION_TYPE_WEP;
+ result = WIFI_MANAGER_ENCRYPTION_TYPE_WEP;
break;
case 4: /* TKIP */
- result = WIFI_ENCRYPTION_TYPE_TKIP;
+ result = WIFI_MANAGER_ENCRYPTION_TYPE_TKIP;
break;
case 8: /* AES */
- result = WIFI_ENCRYPTION_TYPE_AES;
+ result = WIFI_MANAGER_ENCRYPTION_TYPE_AES;
break;
case 12: /* AES/TKIP */
- result = WIFI_ENCRYPTION_TYPE_TKIP_AES_MIXED;
+ result = WIFI_MANAGER_ENCRYPTION_TYPE_TKIP_AES_MIXED;
break;
default:
- result = WIFI_SECURITY_TYPE_NONE;
+ result = WIFI_MANAGER_SECURITY_TYPE_NONE;
break;
}
return result;
}
-static bool _wifi_found_ap_cb(wifi_ap_h ap, void *user_data)
+static bool _wifi_manager_found_ap_cb(wifi_manager_ap_h ap, void *user_data)
{
gpointer *context = (gpointer *) user_data;
bool result;
char *ssid = NULL;
int ret;
- ret = wifi_ap_get_essid(ap, &ssid);
+ ret = wifi_manager_ap_get_essid(ap, &ssid);
if (ssid == NULL) {
DEBUG_ERR_MSG("ssid is NULL");
return true;
}
- if (ret == WIFI_ERROR_NONE) {
+ if (ret == WIFI_MANAGER_ERROR_NONE) {
SECURE_MSG("ssid [%s]", ssid);
if (g_strcmp0(ssid, (char *)context[0]) == 0) {
result = true;
}
} else {
- DEBUG_ERR_MSG("wifi_ap_get_bssid failed, [%d]", ret);
+ DEBUG_ERR_MSG("wifi_manager_ap_get_bssid failed, [%d]", ret);
result = true;
}
return result;
}
-static wifi_ap_h _wifi_search_ap(const char *ssid)
+static wifi_manager_ap_h _wifi_manager_search_ap(const char *ssid, wps_process_context_t *context)
{
- gpointer context[2];
+ gpointer user_data[2];
- context[0] = (gpointer) ssid;
- context[1] = NULL;
+ user_data[0] = (gpointer) ssid;
+ user_data[1] = NULL;
- (void)wifi_foreach_found_aps(_wifi_found_ap_cb, &context);
+ (void)wifi_manager_foreach_found_ap(context->handle, _wifi_manager_found_ap_cb, &user_data);
- return (wifi_ap_h) context[1];
+ return (wifi_manager_ap_h)user_data[1];
}
-static bool _wifi_is_connected(wifi_ap_h ap)
+static bool _wifi_manager_is_connected(wifi_manager_ap_h ap)
{
bool result;
- wifi_connection_state_e state = WIFI_CONNECTION_STATE_DISCONNECTED;
+ wifi_manager_connection_state_e state = WIFI_MANAGER_CONNECTION_STATE_DISCONNECTED;
int ret;
- ret = wifi_ap_get_connection_state(ap, &state);
- if (ret == WIFI_ERROR_NONE) {
- if (state == WIFI_CONNECTION_STATE_DISCONNECTED)
+ ret = wifi_manager_ap_get_connection_state(ap, &state);
+ if (ret == WIFI_MANAGER_ERROR_NONE) {
+ if (state == WIFI_MANAGER_CONNECTION_STATE_DISCONNECTED)
result = false;
else
result = true;
}
}
-static void _wifi_connected_cb(wifi_error_e result, void *user_data)
+static void _wifi_manager_connected_cb(wifi_manager_error_e result, void *user_data)
{
- DEBUG_SERVER_MSG("wifi_connect result [%d]", result);
+ DEBUG_SERVER_MSG("wifi_manager_connect result [%d]", result);
_wps_finish_do_connect(result, user_data);
}
-static int __connect(wifi_ap_h ap, wps_process_context_t * context)
+static int __connect(wifi_manager_ap_h ap, wps_process_context_t * context)
{
int result;
char *net_key;
- (void)wifi_ap_set_security_type(ap, _wps_get_security_type(context->config));
- (void)wifi_ap_set_encryption_type(ap, _wps_get_encryption_type(context->config));
+ (void)wifi_manager_ap_set_security_type(ap, _wps_get_security_type(context->config));
+ (void)wifi_manager_ap_set_encryption_type(ap, _wps_get_encryption_type(context->config));
net_key = _wps_get_string_property(context->config, NET_NFC_WIFI_ATTRIBUTE_NET_KEY);
- (void)wifi_ap_set_passphrase(ap, net_key);
+ (void)wifi_manager_ap_set_passphrase(ap, net_key);
g_free(net_key);
- result = wifi_connect(ap, _wifi_connected_cb, context);
+ result = wifi_manager_connect(context->handle, ap, _wifi_manager_connected_cb, context);
return result;
}
static void _connect(wps_process_context_t * context)
{
- wifi_ap_h ap = NULL;
+ wifi_manager_ap_h ap = NULL;
int result;
char *ssid;
ssid = _wps_get_string_property(context->config, NET_NFC_WIFI_ATTRIBUTE_SSID);
if (ssid != NULL) {
- ap = _wifi_search_ap(ssid);
+ ap = _wifi_manager_search_ap(ssid, context);
if (ap == NULL) {
DEBUG_SERVER_MSG("no ap found");
- result = wifi_ap_create(ssid, &ap);
- if (result == WIFI_ERROR_NONE) {
+ result = wifi_manager_ap_create(context->handle, ssid, &ap);
+ if (result == WIFI_MANAGER_ERROR_NONE) {
result = __connect(ap, context);
- if (result != WIFI_ERROR_NONE) {
+ if (result != WIFI_MANAGER_ERROR_NONE) {
DEBUG_ERR_MSG("__connect failed, [%d]", result);
- wifi_ap_destroy(ap);
+ wifi_manager_ap_destroy(ap);
_wps_finish_do_connect(result, context);
}
} else {
- DEBUG_ERR_MSG("wifi_ap_create failed, [%d]", result);
+ DEBUG_ERR_MSG("wifi_manager_ap_create failed, [%d]", result);
_wps_finish_do_connect(result, context);
}
- } else if (_wifi_is_connected(ap) == false) {
+ } else if (_wifi_manager_is_connected(ap) == false) {
DEBUG_SERVER_MSG("found ap, but not connected");
result = __connect(ap, context);
- if (result != WIFI_ERROR_NONE) {
- DEBUG_ERR_MSG("wifi_connect failed, [%d]", result);
+ if (result != WIFI_MANAGER_ERROR_NONE) {
+ DEBUG_ERR_MSG("wifi_manager_connect failed, [%d]", result);
_wps_finish_do_connect(result, context);
}
} else {
DEBUG_ERR_MSG("ap exists");
- _wps_finish_do_connect(WIFI_ERROR_ALREADY_EXISTS, context);
+ _wps_finish_do_connect(WIFI_MANAGER_ERROR_ALREADY_EXISTS, context);
}
g_free(ssid);
}
/* activation */
-static void _wifi_scan_finished_cb(wifi_error_e result, void *user_data)
+static void _wifi_manager_scan_finished_cb(wifi_manager_error_e result, void *user_data)
{
- DEBUG_SERVER_MSG("_wifi_scan_finished_cb");
+ DEBUG_SERVER_MSG("_wifi_manager_scan_finished_cb");
- if (result == WIFI_ERROR_NONE) {
+ if (result == WIFI_MANAGER_ERROR_NONE) {
_connect(user_data);
} else {
- DEBUG_ERR_MSG("_wifi_scan_finished_cb failed, [%d]", result);
+ DEBUG_ERR_MSG("_wifi_manager_scan_finished_cb failed, [%d]", result);
_wps_finish_do_connect(result, user_data);
}
}
-static void _wifi_activated_cb(wifi_error_e result, void *user_data)
+static void _wifi_manager_activated_cb(wifi_manager_error_e result, void *user_data)
{
- DEBUG_SERVER_MSG("_wifi_activated_cb");
+ DEBUG_SERVER_MSG("_wifi_manager_activated_cb");
- if (result == WIFI_ERROR_NONE) {
+ if (result == WIFI_MANAGER_ERROR_NONE) {
int ret;
-
- ret = wifi_scan(_wifi_scan_finished_cb, user_data);
- if (ret != WIFI_ERROR_NONE)
- DEBUG_ERR_MSG("wifi_scan failed, [%d]", ret);
+ wps_process_context_t *context = (wps_process_context_t *)user_data;
+ ret = wifi_manager_scan(context->handle, _wifi_manager_scan_finished_cb, user_data);
+ if (ret != WIFI_MANAGER_ERROR_NONE)
+ DEBUG_ERR_MSG("wifi_manager_scan failed, [%d]", ret);
} else {
- DEBUG_ERR_MSG("wifi_activate failed, [%d]", result);
+ DEBUG_ERR_MSG("wifi_manager_activate failed, [%d]", result);
_wps_finish_do_connect(result, user_data);
}
}
-static int _wifi_activate(wps_process_context_t * context)
+static int _wifi_manager_activate(wps_process_context_t * context)
{
int result;
- result = wifi_initialize();
- if (result == WIFI_ERROR_NONE) {
+ result = wifi_manager_initialize(&(context->handle));
+ if (result == WIFI_MANAGER_ERROR_NONE) {
bool activated = false;
- result = wifi_is_activated(&activated);
- if (result == WIFI_ERROR_NONE) {
+ result = wifi_manager_is_activated(context->handle, &activated);
+ if (result == WIFI_MANAGER_ERROR_NONE) {
if (activated == false) {
DEBUG_SERVER_MSG("wifi is off, try to activate");
/* activate */
- result = wifi_activate(_wifi_activated_cb, context);
- if (result != WIFI_ERROR_NONE)
- DEBUG_ERR_MSG("wifi_activate failed, [%d]", result);
+ result = wifi_manager_activate(context->handle, _wifi_manager_activated_cb, context);
+ if (result != WIFI_MANAGER_ERROR_NONE)
+ DEBUG_ERR_MSG("wifi_manager_activate failed, [%d]", result);
} else {
_connect(context);
- result = WIFI_ERROR_NONE;
+ result = WIFI_MANAGER_ERROR_NONE;
}
} else {
- DEBUG_ERR_MSG("wifi_is_activated failed, [%d]", result);
+ DEBUG_ERR_MSG("wifi_manager_is_activated failed, [%d]", result);
}
} else {
- DEBUG_ERR_MSG("wifi_initialize failed, [%d]", result);
+ DEBUG_ERR_MSG("wifi_manager_initialize failed, [%d]", result);
}
return result;
result = net_nfc_util_create_carrier_config_from_config_record(&context->config, carrier->carrier_record);
if (result == NET_NFC_OK) {
- result = _wifi_activate(context);
+ result = _wifi_manager_activate(context);
if (result != NET_NFC_OK) {
- DEBUG_ERR_MSG("_wifi_activate failed, [%d]", result);
+ DEBUG_ERR_MSG("_wifi_manager_activate failed, [%d]", result);
net_nfc_util_free_carrier_config(context->config);
_net_nfc_util_free_mem(context);