bool _wifi_check_ap_validity(net_profile_info_s *ap_info)
{
- wifi_manager_handle_s *wifi_handle;
- network_info_s *network_info;
-
if (ap_info == NULL)
return false;
- network_info = ap_info->network_info;
- if (network_info == NULL ||
- _wifi_find_network_info_from_handle_list(network_info) == false)
- return false;
-
- wifi_handle = network_info->wifi_handle;
- if (wifi_handle == NULL)
- return false;
-
- if (_wifi_find_from_handle_list(wifi_handle) == false)
- return false;
+ GSList *list = NULL;
+ for (list = wifi_manager_handle_list; list; list = list->next) {
+ wifi_manager_handle_s *wifi_handle = list->data;
+ if (wifi_handle == NULL)
+ return false;
- _wifi_ap_handle_list_lock(wifi_handle);
- if (g_slist_find(wifi_handle->ap_handle_list, ap_info) != NULL) {
+ _wifi_ap_handle_list_lock(wifi_handle);
+ if (g_slist_find(wifi_handle->ap_handle_list, ap_info) != NULL) {
+ _wifi_ap_handle_list_unlock(wifi_handle);
+ return true;
+ }
_wifi_ap_handle_list_unlock(wifi_handle);
- return true;
- }
- _wifi_ap_handle_list_unlock(wifi_handle);
- if (g_slist_find(wifi_handle->profile_iterator, ap_info) != NULL)
- return true;
+ if (g_slist_find(wifi_handle->profile_iterator, ap_info) != NULL)
+ return true;
- if (g_slist_find(wifi_handle->specific_profile_iterator, ap_info) != NULL)
- return true;
+ if (g_slist_find(wifi_handle->specific_profile_iterator, ap_info) != NULL)
+ return true;
- if (g_slist_find(wifi_handle->bss_profile_iterator, ap_info) != NULL)
- return true;
+ if (g_slist_find(wifi_handle->bss_profile_iterator, ap_info) != NULL)
+ return true;
+ }
return false;
}