const net_wifi_connect_service_info_t *wifi_connection_info)
{
net_err_t Error = NET_ERR_NONE;
- struct connman_service *service = ap_h;
+
+ struct connman_service *service =
+ connman_get_service(((net_profile_info_t *) ap_h)->essid);
+ if (!service)
+ return NET_ERR_INVALID_PARAM;
if (g_strcmp0(wifi_connection_info->security, "ieee8021x") == 0) {
/* Create the EAP config file
bool _wifi_libnet_check_ap_validity(wifi_ap_h ap_h)
{
- struct connman_service *service = ap_h;
+ struct connman_service *service =
+ connman_get_service(((net_profile_info_t *) ap_h)->essid);
+ if (!service)
+ return NET_ERR_INVALID_PARAM;
+
const char *name = connman_service_get_name(service);
if (!name)
void _wifi_libnet_remove_from_ap_list(wifi_ap_h ap_h)
{
- ap_handle_list = g_slist_remove(ap_handle_list, ap_h);
+ net_profile_info_t *ap_info = ap_h;
+ ap_handle_list = g_slist_remove(ap_handle_list, ap_info);
+ g_free(ap_info->essid);
g_free(ap_h);
}
return WIFI_ERROR_NO_CONNECTION;
}
- *ap = ap_h;
+ *ap = g_try_malloc0(sizeof(net_profile_info_t));
+ if (*ap == NULL)
+ return WIFI_ERROR_OUT_OF_MEMORY;
+
+ ((net_profile_info_t *) (*ap))->essid =
+ g_strdup(connman_service_get_path(ap_h));
+
+ _wifi_libnet_add_to_ap_list(*ap);
return WIFI_ERROR_NONE;
}
__libnet_set_disconnected_cb(callback, user_data);*/
- struct connman_service* service = ap_h;
+ struct connman_service *service =
+ connman_get_service(((net_profile_info_t *) ap_h)->essid);
+ if (!service)
+ return NET_ERR_INVALID_PARAM;
+
__libnet_set_disconnected_cb(callback, user_data);
connman_service_disconnect(service, connman_service_disconnect_cb, NULL);
__libnet_set_connected_cb(callback, user_data);*/
int rv = NET_ERR_NONE;
- struct connman_service* service = ap_h;
+ struct connman_service *service =
+ connman_get_service(((net_profile_info_t *) ap_h)->essid);
+ if (!service)
+ return NET_ERR_INVALID_PARAM;
__libnet_set_connected_cb(callback, user_data);
return WIFI_ERROR_OPERATION_FAILED;*/
int rv = NET_ERR_NONE;
- struct connman_service* service = ap;
+ struct connman_service *service =
+ connman_get_service(((net_profile_info_t *) ap)->essid);
+ if (!service)
+ return NET_ERR_INVALID_PARAM;
connman_service_remove(service);
return ipstr;
}*/
-/*static void __wifi_init_ap(net_profile_info_t *profile_info, const char *essid)
+static void __wifi_init_ap(net_profile_info_t *profile_info, const char *essid)
{
- profile_info->profile_type = NET_DEVICE_WIFI;
+/* profile_info->profile_type = NET_DEVICE_WIFI;
profile_info->ProfileState = NET_STATE_TYPE_IDLE;
profile_info->ProfileInfo.Wlan.net_info.IpConfigType = NET_IP_CONFIG_TYPE_OFF;
profile_info->ProfileInfo.Wlan.net_info.ProxyMethod = NET_PROXY_TYPE_DIRECT;
profile_info->ProfileInfo.Wlan.wlan_mode = NETPM_WLAN_CONNMODE_AUTO;
profile_info->ProfileInfo.Wlan.security_info.sec_mode = WLAN_SEC_MODE_NONE;
- profile_info->ProfileInfo.Wlan.security_info.enc_mode = WLAN_ENC_MODE_NONE;
- g_strlcpy(profile_info->ProfileInfo.Wlan.essid, essid, NET_WLAN_ESSID_LEN+1);
-}*/
+ profile_info->ProfileInfo.Wlan.security_info.enc_mode = WLAN_ENC_MODE_NONE;*/
+ profile_info->essid = g_strdup(essid);
+}
wifi_connection_state_e _wifi_convert_to_ap_state(
net_state_type_t state)
return WIFI_ERROR_INVALID_PARAMETER;
}
-/* net_profile_info_t *ap_info = g_try_malloc0(sizeof(net_profile_info_t));
+ net_profile_info_t *ap_info = g_try_malloc0(sizeof(net_profile_info_t));
if (ap_info == NULL)
return WIFI_ERROR_OUT_OF_MEMORY;
__wifi_init_ap(ap_info, essid);
_wifi_libnet_add_to_ap_list((wifi_ap_h)ap_info);
- *ap = (wifi_ap_h)ap_info;*/
+ *ap = (wifi_ap_h)ap_info;
return WIFI_ERROR_NONE;
}
return WIFI_ERROR_INVALID_PARAMETER;
}
- /*net_profile_info_t *ap_info = g_try_malloc0(sizeof(net_profile_info_t));
+ net_profile_info_t *ap_info = g_try_malloc0(sizeof(net_profile_info_t));
if (ap_info == NULL)
return WIFI_ERROR_OUT_OF_MEMORY;
memcpy(ap_info, origin, sizeof(net_profile_info_t));
_wifi_libnet_add_to_ap_list((wifi_ap_h)ap_info);
- *cloned_ap = (wifi_ap_h)ap_info;*/
+ *cloned_ap = (wifi_ap_h)ap_info;
return WIFI_ERROR_NONE;
}