From 0266d855cce76c85f7bc47c81e77a9b2c3475ff9 Mon Sep 17 00:00:00 2001 From: "manu.tiwari" Date: Thu, 12 Jan 2017 13:56:31 +0530 Subject: [PATCH] [ITC][Wifi, Wifi-manager][Non-ACR][DPTTIZEN-2718, Add polling loop when async function] Change-Id: I4294103848a2ebb531123a0c9673b82dfb058b64 Signed-off-by: manu.tiwari --- src/itc/wifi-manager/ITs-wifi-manager-ap.c | 7 +- .../wifi-manager/ITs-wifi-manager-common.c | 21 ++- .../wifi-manager/ITs-wifi-manager-common.h | 1 + src/itc/wifi-manager/ITs-wifi-manager.c | 162 ++++++++++++++---- src/itc/wifi/ITs-wifi-common.c | 152 +++++++++++++--- src/itc/wifi/ITs-wifi-common.h | 1 + src/itc/wifi/ITs-wifi-monitor.c | 8 +- 7 files changed, 286 insertions(+), 66 deletions(-) diff --git a/src/itc/wifi-manager/ITs-wifi-manager-ap.c b/src/itc/wifi-manager/ITs-wifi-manager-ap.c index 54ffbc9c9..8071fc904 100755 --- a/src/itc/wifi-manager/ITs-wifi-manager-ap.c +++ b/src/itc/wifi-manager/ITs-wifi-manager-ap.c @@ -1256,11 +1256,10 @@ int ITc_wifi_manager_get_connected_forget_refresh_ap_p(void) START_TEST_CHECK_INITIALIZE; wifi_manager_ap_h hAP = NULL; - - + int nRet = wifi_manager_pre_connect(); PRINT_RESULT(WIFI_MANAGER_ERROR_NONE, nRet, "wifi_manager_pre_connect", WifiManagerGetError(nRet)); - + //Target API nRet = wifi_manager_get_connected_ap(g_hWifi, &hAP); PRINT_RESULT(WIFI_MANAGER_ERROR_NONE, nRet, "wifi_manager_get_connected_ap", WifiManagerGetError(nRet)); @@ -1311,7 +1310,7 @@ int ITc_wifi_manager_connect_disconnect_p(void) nRet = wifi_manager_get_connected_ap(g_hWifi, &hAP); PRINT_RESULT(WIFI_MANAGER_ERROR_NONE, nRet, "wifi_manager_get_connected_ap", WifiManagerGetError(nRet)); - //Target API + //Target API nRet = wifi_manager_disconnect(g_hWifi, hAP, wifi_manager_disconnected_callback, NULL); PRINT_RESULT_CLEANUP(WIFI_MANAGER_ERROR_NONE, nRet, "wifi_manager_disconnect", WifiManagerGetError(nRet),wifi_manager_pre_connect()); RUN_POLLING_LOOP; diff --git a/src/itc/wifi-manager/ITs-wifi-manager-common.c b/src/itc/wifi-manager/ITs-wifi-manager-common.c index a30e8afb3..7190f86dc 100755 --- a/src/itc/wifi-manager/ITs-wifi-manager-common.c +++ b/src/itc/wifi-manager/ITs-wifi-manager-common.c @@ -134,6 +134,7 @@ bool wifi_manager_check_feature_supported(char *key) void wifi_manager_activated_callback(wifi_manager_error_e result, void* user_data) { g_bWifiManagerCB = true; + g_bWifiManagerCBHit = true; PRINT_RETURN("wifi_manager_activated_callback", result); g_nCallbackRet = result; @@ -143,6 +144,7 @@ void wifi_manager_activated_callback(wifi_manager_error_e result, void* user_dat void wifi_manager_deactivated_callback(wifi_manager_error_e result, void* user_data) { g_bWifiManagerCB = true; + g_bWifiManagerCBHit = true; PRINT_RETURN("wifi_manager_deactivate_callback", result); int ret = WIFI_MANAGER_ERROR_NONE; @@ -310,18 +312,24 @@ int wifi_manager_pre_activate(void) ret = wifi_manager_is_activated(g_hWifi, &activated); CHECK_RETURN("wifi_manager_is_activated", ret, WIFI_MANAGER_ERROR_NONE); - if (!activated) { + if (!activated) + { + g_bWifiManagerCB = false; ret = wifi_manager_activate(g_hWifi, wifi_manager_activated_callback, NULL); PRINT_RETURN("wifi_manager_activate", ret); RUN_POLLING_LOOP; CHECK_RETURN(CALLBACK_RETURN, g_nCallbackRet, WIFI_MANAGER_ERROR_NONE); + if( !g_bWifiManagerCB ) + { + FPRINTF("[Line : %d][%s] wifi_manager_activate not invoked!!\\n", __LINE__, API_NAMESPACE); + return 1; + } } return WIFI_MANAGER_ERROR_NONE; } else return WIFI_MANAGER_ERROR_NOT_SUPPORTED; } - int wifi_manager_pre_deactivate(void) { if (g_bFeatureWifi) { @@ -331,11 +339,18 @@ int wifi_manager_pre_deactivate(void) ret = wifi_manager_is_activated(g_hWifi, &activated); CHECK_RETURN("wifi_manager_is_activated", ret, WIFI_MANAGER_ERROR_NONE); - if (activated) { + if (activated) + { + g_bWifiManagerCB = false; ret = wifi_manager_deactivate(g_hWifi, wifi_manager_deactivated_callback, NULL); PRINT_RETURN("wifi_manager_deactivate", ret); RUN_POLLING_LOOP; CHECK_RETURN(CALLBACK_RETURN, g_nCallbackRet, WIFI_MANAGER_ERROR_NONE); + if( !g_bWifiManagerCB ) + { + FPRINTF("[Line : %d][%s] wifi_manager_deactivate not invoked!!\\n", __LINE__, API_NAMESPACE); + return 1; + } } return WIFI_MANAGER_ERROR_NONE; } else diff --git a/src/itc/wifi-manager/ITs-wifi-manager-common.h b/src/itc/wifi-manager/ITs-wifi-manager-common.h index d2982bdec..864655e88 100755 --- a/src/itc/wifi-manager/ITs-wifi-manager-common.h +++ b/src/itc/wifi-manager/ITs-wifi-manager-common.h @@ -66,6 +66,7 @@ bool g_bFeatureWifiTDLS; bool g_bIsFeatureMismatched; bool g_bWifiManagerCreation; bool g_bWifiManagerCB; +bool g_bWifiManagerCBHit; wifi_manager_h g_hWifi; wifi_manager_ap_h g_hWifiAP; diff --git a/src/itc/wifi-manager/ITs-wifi-manager.c b/src/itc/wifi-manager/ITs-wifi-manager.c index 8d1b03777..217a3574c 100755 --- a/src/itc/wifi-manager/ITs-wifi-manager.c +++ b/src/itc/wifi-manager/ITs-wifi-manager.c @@ -170,29 +170,40 @@ int ITc_wifi_manager_initialize_deinitialize_p(void) int ITc_wifi_manager_activate_deactivate_p(void) { START_TEST_CHECK_INITIALIZE; - - bool bActivated = false; g_bWifiManagerCB = false; + bool bActivated = false; nTimeoutId = 0; //Target API int nRet = wifi_manager_is_activated(g_hWifi, &bActivated); PRINT_RESULT(WIFI_MANAGER_ERROR_NONE, nRet, " wifi_manager_is_activated", WifiManagerGetError(nRet)); if(bActivated == false) - { + { nRet = wifi_manager_activate(g_hWifi, wifi_manager_activated_callback, NULL); - PRINT_RESULT(WIFI_MANAGER_ERROR_NONE, nRet, "wifi_manager_activate", WifiManagerGetError(nRet)); + RUN_POLLING_LOOP; + PRINT_RESULT(WIFI_MANAGER_ERROR_NONE, nRet, "wifi_manager_activate", WifiManagerGetError(nRet)); + if ( !g_bWifiManagerCB ) + { + FPRINTF("[Line : %d][%s] wifi_manager_activate failed, error returned = callback function not invoked\\n", __LINE__, API_NAMESPACE); + return 1; + } } - + g_bWifiManagerCB = false; //Target API nRet = wifi_manager_deactivate(g_hWifi, wifi_manager_deactivated_callback, (void *)1); PRINT_RESULT(WIFI_MANAGER_ERROR_NONE, nRet, "wifi_manager_deactivate", WifiManagerGetError(nRet)); - RUN_POLLING_LOOP; if( !g_bWifiManagerCB ) { FPRINTF("[Line : %d][%s] wifi_manager_deactivated_callback not invoked!!\\n", __LINE__, API_NAMESPACE); - wifi_manager_activate(g_hWifi, wifi_manager_activated_callback, NULL); + g_bWifiManagerCBHit = false; + nRet = wifi_manager_activate(g_hWifi, wifi_manager_activated_callback, NULL); + RUN_POLLING_LOOP; + PRINT_RESULT(WIFI_MANAGER_ERROR_NONE, nRet, "wifi_manager_activate", WifiManagerGetError(nRet)); + if ( !g_bWifiManagerCBHit ) + { + FPRINTF("[Line : %d][%s] wifi_manager_activate failed, error returned = callback function not invoked\\n", __LINE__, API_NAMESPACE); + } return 1; } @@ -235,12 +246,14 @@ int ITc_wifi_manager_activate_with_wifi_picker_tested_p(void) nTimeoutId = 0; g_bWifiManagerCB = false; bool bActivated = false; - bool activated; - + bool activated = false; + int nRet = wifi_manager_is_activated(g_hWifi, &activated); PRINT_RESULT(WIFI_MANAGER_ERROR_NONE, nRet, "wifi_manager_is_activated", WifiManagerGetError(nRet)); - if(activated) { + if(activated) + { + FPRINTF("[Line : %d][%s]activated!!\\n", __LINE__, API_NAMESPACE); nRet = wifi_manager_deactivate(g_hWifi, wifi_manager_deactivated_callback, (void *)2); PRINT_RESULT(WIFI_MANAGER_ERROR_NONE, nRet, "wifi_manager_deactivate", WifiManagerGetError(nRet)); RUN_POLLING_LOOP; @@ -259,12 +272,17 @@ int ITc_wifi_manager_activate_with_wifi_picker_tested_p(void) if( !g_bWifiManagerCB ) { FPRINTF("[Line : %d][%s] wifi_manager_activated_callback not invoked!!\\n", __LINE__, API_NAMESPACE); - wifi_manager_activate(g_hWifi, wifi_manager_activated_callback, NULL); + g_bWifiManagerCBHit = false; + nRet = wifi_manager_activate(g_hWifi, wifi_manager_activated_callback, NULL); + RUN_POLLING_LOOP; + PRINT_RESULT(WIFI_MANAGER_ERROR_NONE, nRet, "wifi_manager_activate", WifiManagerGetError(nRet)); + if ( !g_bWifiManagerCBHit ) + { + FPRINTF("[Line : %d][%s] wifi_manager_activate failed, error returned = callback function not invoked\\n", __LINE__, API_NAMESPACE); + } return 1; } - wifi_manager_activate(g_hWifi, wifi_manager_activated_callback, NULL); - return 0; } @@ -435,6 +453,7 @@ int ITc_wifi_manager_set_unset_device_state_changed_cb_p(void) nTimeoutId = 0; g_bWifiManagerCB = false; bool bActivated = false; + g_bWifiManagerCBHit = false; //Target API int nRet = wifi_manager_set_device_state_changed_cb(g_hWifi, wifi_manager_device_state_changed_callback, NULL); @@ -445,23 +464,49 @@ int ITc_wifi_manager_set_unset_device_state_changed_cb_p(void) if(bActivated == false) { nRet = wifi_manager_activate(g_hWifi, wifi_manager_activated_callback, NULL); - PRINT_RESULT(WIFI_MANAGER_ERROR_NONE, nRet, "wifi_manager_activate", WifiManagerGetError(nRet)); + RUN_POLLING_LOOP; + PRINT_RESULT(WIFI_MANAGER_ERROR_NONE, nRet, "wifi_manager_activate", WifiManagerGetError(nRet)); + if ( !g_bWifiManagerCBHit ) + { + FPRINTF("[Line : %d][%s] wifi_manager_activate failed, error returned = callback function not invoked\\n", __LINE__, API_NAMESPACE); + return 1; + } } else { nRet = wifi_manager_deactivate(g_hWifi, wifi_manager_deactivated_callback, (void *)1); + RUN_POLLING_LOOP; PRINT_RESULT(WIFI_MANAGER_ERROR_NONE, nRet, "wifi_manager_deactivate", WifiManagerGetError(nRet)); + if ( !g_bWifiManagerCBHit ) + { + FPRINTF("[Line : %d][%s] wifi_manager_activate failed, error returned = callback function not invoked\\n", __LINE__, API_NAMESPACE); + return 1; + } } RUN_POLLING_LOOP; if( !g_bWifiManagerCB ) { + g_bWifiManagerCBHit = false; FPRINTF("[Line : %d][%s] wifi_manager_device_state_changed_callback not invoked!!\\n", __LINE__, API_NAMESPACE); - wifi_manager_activate(g_hWifi, wifi_manager_activated_callback, NULL); + nRet = wifi_manager_activate(g_hWifi, wifi_manager_activated_callback, NULL); + RUN_POLLING_LOOP; + PRINT_RESULT(WIFI_MANAGER_ERROR_NONE, nRet, "wifi_manager_activate", WifiManagerGetError(nRet)); + if ( !g_bWifiManagerCBHit ) + { + FPRINTF("[Line : %d][%s] wifi_manager_activate failed, error returned = callback function not invoked\\n", __LINE__, API_NAMESPACE); + } + return 1; + } + g_bWifiManagerCBHit = false; + nRet = wifi_manager_activate(g_hWifi, wifi_manager_activated_callback, NULL); + RUN_POLLING_LOOP; + PRINT_RESULT(WIFI_MANAGER_ERROR_NONE, nRet, "wifi_manager_activate", WifiManagerGetError(nRet)); + if ( !g_bWifiManagerCBHit) + { + FPRINTF("[Line : %d][%s] wifi_manager_activate failed, error returned = callback function not invoked\\n", __LINE__, API_NAMESPACE); return 1; } - - wifi_manager_activate(g_hWifi, wifi_manager_activated_callback, NULL); //Target API nRet = wifi_manager_unset_device_state_changed_cb(g_hWifi); @@ -502,7 +547,7 @@ int ITc_wifi_manager_set_unset_background_scan_cb_p(void) return 1; } - nRet = wifi_manager_unset_background_scan_cb(g_hWifi); + nRet = wifi_manager_unset_background_scan_cb(g_hWifi); PRINT_RESULT(WIFI_MANAGER_ERROR_NONE, nRet, " wifi_manager_unset_background_scan_cb", WifiManagerGetError(nRet)); return 0; @@ -531,6 +576,7 @@ int ITc_wifi_manager_set_unset_connection_state_changed_cb_p(void) nTimeoutId = 0; g_bWifiManagerCB = false; bool bActivated = false; + g_bWifiManagerCBHit = false; //Target API int nRet = wifi_manager_set_connection_state_changed_cb(g_hWifi, wifi_manager_connection_state_changed_callback, NULL); @@ -539,25 +585,51 @@ int ITc_wifi_manager_set_unset_connection_state_changed_cb_p(void) PRINT_RESULT(WIFI_MANAGER_ERROR_NONE, nRet, " wifi_manager_is_activated", WifiManagerGetError(nRet)); if(bActivated == false) - { + { nRet = wifi_manager_activate(g_hWifi, wifi_manager_activated_callback, NULL); - PRINT_RESULT(WIFI_MANAGER_ERROR_NONE, nRet, "wifi_manager_activate", WifiManagerGetError(nRet)); + RUN_POLLING_LOOP; + PRINT_RESULT(WIFI_MANAGER_ERROR_NONE, nRet, "wifi_manager_activate", WifiManagerGetError(nRet)); + if ( !g_bWifiManagerCBHit) + { + FPRINTF("[Line : %d][%s] wifi_manager_activate failed, error returned = callback function not invoked\\n", __LINE__, API_NAMESPACE); + return 1; + } } else { nRet = wifi_manager_deactivate(g_hWifi, wifi_manager_deactivated_callback, (void *)1); - PRINT_RESULT(WIFI_MANAGER_ERROR_NONE, nRet, "wifi_manager_deactivate", WifiManagerGetError(nRet)); + RUN_POLLING_LOOP; + PRINT_RESULT(WIFI_MANAGER_ERROR_NONE, nRet, "wifi_manager_deactivate", WifiManagerGetError(nRet)); + if ( !g_bWifiManagerCBHit ) + { + FPRINTF("[Line : %d][%s] wifi_manager_deactivate failed, error returned = callback function not invoked\\n", __LINE__, API_NAMESPACE); + return 1; + } } RUN_POLLING_LOOP; if( !g_bWifiManagerCB ) { FPRINTF("[Line : %d][%s] wifi_manager_connection_state_changed_callback not invoked!!\\n", __LINE__, API_NAMESPACE); - wifi_manager_activate(g_hWifi, wifi_manager_activated_callback, NULL); + g_bWifiManagerCBHit = false; + nRet = wifi_manager_activate(g_hWifi, wifi_manager_activated_callback, NULL); + RUN_POLLING_LOOP; + PRINT_RESULT(WIFI_MANAGER_ERROR_NONE, nRet, "wifi_manager_activate", WifiManagerGetError(nRet)); + if ( !g_bWifiManagerCBHit ) + { + FPRINTF("[Line : %d][%s] wifi_manager_activate failed, error returned = callback function not invoked\\n", __LINE__, API_NAMESPACE); + } + return 1; + } + g_bWifiManagerCBHit = false; + nRet = wifi_manager_activate(g_hWifi, wifi_manager_activated_callback, NULL); + RUN_POLLING_LOOP; + PRINT_RESULT(WIFI_MANAGER_ERROR_NONE, nRet, "wifi_manager_activate", WifiManagerGetError(nRet)); + if ( !g_bWifiManagerCBHit ) + { + FPRINTF("[Line : %d][%s] wifi_manager_activate failed, error returned = callback function not invoked\\n", __LINE__, API_NAMESPACE); return 1; } - - wifi_manager_activate(g_hWifi, wifi_manager_activated_callback, NULL); nRet = wifi_manager_unset_connection_state_changed_cb(g_hWifi); PRINT_RESULT(WIFI_MANAGER_ERROR_NONE, nRet, " wifi_manager_unset_connection_state_changed_cb", WifiManagerGetError(nRet)); @@ -586,6 +658,7 @@ int ITc_wifi_manager_set_unset_rssi_level_changed_cb_p(void) nTimeoutId = 0; g_bWifiManagerCB = false; bool bActivated = false; + bool g_bWifiManagerCBHit = false; //Target API int nRet = wifi_manager_set_rssi_level_changed_cb(g_hWifi, wifi_manager_rssi_level_changed_callback, NULL); PRINT_RESULT(WIFI_MANAGER_ERROR_NONE, nRet, " wifi_manager_set_rssi_level_changed_cb", WifiManagerGetError(nRet)); @@ -594,27 +667,54 @@ int ITc_wifi_manager_set_unset_rssi_level_changed_cb_p(void) PRINT_RESULT(WIFI_MANAGER_ERROR_NONE, nRet, " wifi_manager_is_activated", WifiManagerGetError(nRet)); if(bActivated == false) - { + { nRet = wifi_manager_activate(g_hWifi, wifi_manager_activated_callback, NULL); - PRINT_RESULT(WIFI_MANAGER_ERROR_NONE, nRet, "wifi_manager_activate", WifiManagerGetError(nRet)); + RUN_POLLING_LOOP; + PRINT_RESULT(WIFI_MANAGER_ERROR_NONE, nRet, "wifi_manager_activate", WifiManagerGetError(nRet)); + if ( !g_bWifiManagerCBHit ) + { + FPRINTF("[Line : %d][%s] wifi_manager_activate failed, error returned = callback function not invoked\\n", __LINE__, API_NAMESPACE); + return 1; + } } else { + g_bWifiManagerCBHit = false; nRet = wifi_manager_deactivate(g_hWifi, wifi_manager_deactivated_callback, (void *)1); - PRINT_RESULT(WIFI_MANAGER_ERROR_NONE, nRet, "wifi_manager_deactivate", WifiManagerGetError(nRet)); + RUN_POLLING_LOOP; + PRINT_RESULT(WIFI_MANAGER_ERROR_NONE, nRet, "wifi_manager_deactivate", WifiManagerGetError(nRet)); + if ( !g_bWifiManagerCBHit ) + { + FPRINTF("[Line : %d][%s] wifi_manager_deactivate failed, error returned = callback function not invoked\\n", __LINE__, API_NAMESPACE); + return 1; + } } RUN_POLLING_LOOP; if( !g_bWifiManagerCB ) { FPRINTF("[Line : %d][%s] wifi_manager_rssi_level_changed_callback not invoked!!\\n", __LINE__, API_NAMESPACE); - wifi_manager_activate(g_hWifi, wifi_manager_activated_callback, NULL); + g_bWifiManagerCBHit = false; + nRet = wifi_manager_activate(g_hWifi, wifi_manager_activated_callback, NULL); + RUN_POLLING_LOOP; + PRINT_RESULT(WIFI_MANAGER_ERROR_NONE, nRet, "wifi_manager_activate", WifiManagerGetError(nRet)); + if ( !g_bWifiManagerCBHit ) + { + FPRINTF("[Line : %d][%s] wifi_manager_activate failed, error returned = callback function not invoked\\n", __LINE__, API_NAMESPACE); + } + return 1; + } + g_bWifiManagerCBHit = false; + nRet = wifi_manager_activate(g_hWifi, wifi_manager_activated_callback, NULL); + RUN_POLLING_LOOP; + PRINT_RESULT(WIFI_MANAGER_ERROR_NONE, nRet, "wifi_manager_activate", WifiManagerGetError(nRet)); + if ( !g_bWifiManagerCBHit ) + { + FPRINTF("[Line : %d][%s] wifi_manager_activate failed, error returned = callback function not invoked\\n", __LINE__, API_NAMESPACE); return 1; } - wifi_manager_activate(g_hWifi, wifi_manager_activated_callback, NULL); - - nRet = wifi_manager_unset_rssi_level_changed_cb(g_hWifi); + nRet = wifi_manager_unset_rssi_level_changed_cb(g_hWifi); PRINT_RESULT(WIFI_MANAGER_ERROR_NONE, nRet, " wifi_manager_unset_rssi_level_changed_cb", WifiManagerGetError(nRet)); return 0; diff --git a/src/itc/wifi/ITs-wifi-common.c b/src/itc/wifi/ITs-wifi-common.c index 4e8f1cd86..694d6c98d 100755 --- a/src/itc/wifi/ITs-wifi-common.c +++ b/src/itc/wifi/ITs-wifi-common.c @@ -318,6 +318,7 @@ void WifiActivatedCallback(wifi_error_e result, void* user_data) FPRINTF("[Line : %d][%s]called callback WifiActivatedCallback\\n", __LINE__, API_NAMESPACE); #endif g_bCheckCb = true; + g_bWifiCb = true; if ( g_pMainLoop ) { g_main_loop_quit(g_pMainLoop); @@ -349,6 +350,7 @@ void WifiDeActivatedCallback(wifi_error_e result, void* user_data) #endif g_bCheckCb = true; + g_bWifiCb = true; if ( g_pMainLoop ) { g_main_loop_quit(g_pMainLoop); @@ -402,6 +404,7 @@ void WiFiDisconnectCallabck(wifi_error_e result, void* user_data) FPRINTF("[Line : %d][%s] called callback WiFiDisconnectCallabck\\n", __LINE__, API_NAMESPACE); #endif g_bCheckCb = true; + g_bWifiCb = true; if ( g_pMainLoop ) { g_main_loop_quit(g_pMainLoop); @@ -498,48 +501,79 @@ bool WifiPreConnectCondition() wifi_forget_ap(g_pWifiAPHandle); wifi_disconnect(g_pWifiAPHandle, WiFiDisconnectCallabck, NULL); - - g_bCheckCb = false; + bool bIsActive = false; int nRet = wifi_is_activated(&bIsActive); if ( bIsActive != true ) { - g_bCheckCb = false; + g_bWifiCb = false; nRet = wifi_activate(WifiActivatedCallback, NULL); if ( nRet != WIFI_ERROR_NONE ) { + g_bCheckCb = false; FPRINTF("[Line : %d][%s] wifi_activate failed, error returned = %s\\n", __LINE__, API_NAMESPACE, WifiGetError(nRet)); - //Done to avoid disconnect after complete execution + //Done to avoid disconnect after complete execution wifi_connect(g_pWifiAPHandle, WifiConnectedCallback, NULL); + RUN_POLLING_LOOP; + if ( !g_bCheckCb ) + { + FPRINTF("[Line : %d][%s] WifiConnectedCallback = callback function not invoked\\n", __LINE__, API_NAMESPACE); + //Done to avoid disconnect after complete execution + } return false; } RUN_POLLING_LOOP; - if ( !g_bCheckCb ) + if ( !g_bWifiCb ) { FPRINTF("[Line : %d][%s] WifiActivatedCallback = callback function not invoked\\n", __LINE__, API_NAMESPACE); - //Done to avoid disconnect after complete execution + //Done to avoid disconnect after complete execution + g_bCheckCb = false; wifi_connect(g_pWifiAPHandle, WifiConnectedCallback, NULL); - + RUN_POLLING_LOOP; + if ( !g_bCheckCb ) + { + FPRINTF("[Line : %d][%s] WifiConnectedCallback = callback function not invoked\\n", __LINE__, API_NAMESPACE); + //Done to avoid disconnect after complete execution + } return false; } } nWifiTimeoutId = -1; - + g_bCheckCb = false; nRet = wifi_scan(WifiScanRequestCallback, NULL); RUN_POLLING_LOOP; if ( nRet != WIFI_ERROR_NONE ) { FPRINTF("[Line : %d][%s] wifi_scan failed, error returned = %s\\n", __LINE__, API_NAMESPACE, WifiGetError(nRet)); - - //Done to avoid disconnect after complete execution + g_bWifiCb = false; wifi_connect(g_pWifiAPHandle, WifiConnectedCallback, NULL); + RUN_POLLING_LOOP; + if ( !g_bWifiCb ) + { + FPRINTF("[Line : %d][%s] WifiConnectedCallback = callback function not invoked\\n", __LINE__, API_NAMESPACE); + } return false; } + if ( !g_bCheckCb ) + { + FPRINTF("[Line : %d][%s] WifiScanRequestCallback = callback function not invoked\\n", __LINE__, API_NAMESPACE); + g_bWifiCb = false; + wifi_connect(g_pWifiAPHandle, WifiConnectedCallback, NULL); + RUN_POLLING_LOOP; + if ( !g_bWifiCb ) + { + FPRINTF("[Line : %d][%s] WifiConnectedCallback = callback function not invoked\\n", __LINE__, API_NAMESPACE); + return false; + } + return false; + } + g_bWifiCb = false; //Done to avoid disconnect after complete execution wifi_connect(g_pWifiAPHandle, WifiConnectedCallback, NULL); - if ( !g_bCheckCb ) + RUN_POLLING_LOOP; + if ( !g_bWifiCb) { FPRINTF("[Line : %d][%s] wifi_scan failed inside WifiPreConnectCondition, error returned = callback function not invoked\\n", __LINE__, API_NAMESPACE); return false; @@ -594,37 +628,67 @@ bool WifiPreConnectCondition() int nRet = wifi_is_activated(&bIsActive); if ( bIsActive != true ) { - g_bCheckCb = false; nRet = wifi_activate(WifiActivatedCallback, NULL); if ( nRet != WIFI_ERROR_NONE ) { FPRINTF("[Line : %d][%s] wifi_activate failed, error returned = %s\\n", __LINE__, API_NAMESPACE, WifiGetError(nRet)); + g_bWifiCb = false; + //Done to avoid disconnect after complete execution + wifi_connect(g_pWifiAPHandle, WifiConnectedCallback, NULL); + RUN_POLLING_LOOP; + if ( !g_bWifiCb) + { + FPRINTF("[Line : %d][%s] WifiConnectedCallback = callback function not invoked\\n", __LINE__, API_NAMESPACE); + } + return false; + } + RUN_POLLING_LOOP; + if ( !g_bCheckCb ) + { + FPRINTF("[Line : %d][%s] WifiActivatedCallback = callback function not invoked\\n", __LINE__, API_NAMESPACE); + g_bWifiCb = false; //Done to avoid disconnect after complete execution wifi_connect(g_pWifiAPHandle, WifiConnectedCallback, NULL); + RUN_POLLING_LOOP; + if ( !g_bWifiCb ) + { + FPRINTF("[Line : %d][%s] WifiConnectedCallback = callback function not invoked\\n", __LINE__, API_NAMESPACE); + } return false; } - } - + } + g_bCheckCb = false; nRet = wifi_scan(WifiScanRequestCallback, NULL); RUN_POLLING_LOOP; if ( nRet != WIFI_ERROR_NONE ) { FPRINTF("[Line : %d][%s] wifi_scan failed, error returned = %s\\n", __LINE__, API_NAMESPACE, WifiGetError(nRet)); + g_bWifiCb = false; //Done to avoid disconnect after complete execution wifi_connect(g_pWifiAPHandle, WifiConnectedCallback, NULL); - + RUN_POLLING_LOOP; + if ( !g_bWifiCb ) + { + FPRINTF("[Line : %d][%s] WifiConnectedCallback = callback function not invoked\\n", __LINE__, API_NAMESPACE); + } return false; } - + if ( !g_bCheckCb ) + { + FPRINTF("[Line : %d][%s] wifi_scan failed inside WifiPreConnectCondition, error returned = callback function not invoked\\n", __LINE__, API_NAMESPACE); + return false; + } + g_bCheckCb = false; //Done to avoid disconnect after complete execution wifi_connect(g_pWifiAPHandle, WifiConnectedCallback, NULL); - + RUN_POLLING_LOOP; if ( !g_bCheckCb ) { - FPRINTF("[Line : %d][%s] wifi_scan failed inside WifiPreConnectCondition, error returned = callback function not invoked\\n", __LINE__, API_NAMESPACE); + FPRINTF("[Line : %d][%s] WifiConnectedCallback = callback function not invoked\\n", __LINE__, API_NAMESPACE); return false; } + g_bForEachCb = false; g_bCheckCb = false; nRet = wifi_foreach_found_aps(WifiFoundAPCallback, NULL); @@ -658,6 +722,7 @@ void WifiConnectedCallback(wifi_error_e result, void* user_data) FPRINTF("[Line : %d][%s] called callback WifiConnectedCallback\\n", __LINE__, API_NAMESPACE); g_bCheckCb = true; + g_bWifiCb = true; if ( g_pMainLoop ) { g_main_loop_quit(g_pMainLoop); @@ -833,34 +898,67 @@ bool WifiPreConnectConditionForEAP() int nRet = wifi_is_activated(&bIsActive); if ( bIsActive != true ) { - g_bCheckCb = false; nRet = wifi_activate(WifiActivatedCallback, NULL); if ( nRet != WIFI_ERROR_NONE ) { FPRINTF("[Line : %d][%s] wifi_activate failed, error returned = %s\\n", __LINE__, API_NAMESPACE, WifiGetError(nRet)); - //Done to avoid disconnect after complete execution + //Done to avoid disconnect after complete execution + g_bWifiCb = false; wifi_connect(g_pWifiAPHandle, WifiConnectedCallback, NULL); - + RUN_POLLING_LOOP; + if ( !g_bWifiCb ) + { + FPRINTF("[Line : %d][%s] WifiConnectedCallback = callback function not invoked\\n", __LINE__, API_NAMESPACE); + //Done to avoid disconnect after complete execution + } return false; } - } - + RUN_POLLING_LOOP; + if ( !g_bCheckCb ) + { + FPRINTF("[Line : %d][%s] WifiActivatedCallback = callback function not invoked\\n", __LINE__, API_NAMESPACE); + //Done to avoid disconnect after complete execution + g_bWifiCb = false; + wifi_connect(g_pWifiAPHandle, WifiConnectedCallback, NULL); + RUN_POLLING_LOOP; + if ( !g_bWifiCb ) + { + FPRINTF("[Line : %d][%s] WifiConnectedCallback = callback function not invoked\\n", __LINE__, API_NAMESPACE); + //Done to avoid disconnect after complete execution + } + return false; + } + } + g_bCheckCb = false; nRet = wifi_scan(WifiScanRequestCallback, NULL); RUN_POLLING_LOOP; if ( nRet != WIFI_ERROR_NONE ) { FPRINTF("[Line : %d][%s] wifi_scan failed, error returned = %s\\n", __LINE__, API_NAMESPACE, WifiGetError(nRet)); - //Done to avoid disconnect after complete execution + //Done to avoid disconnect after complete execution + g_bWifiCb = false; wifi_connect(g_pWifiAPHandle, WifiConnectedCallback, NULL); - + RUN_POLLING_LOOP; + if ( !g_bWifiCb ) + { + FPRINTF("[Line : %d][%s] WifiConnectedCallback = callback function not invoked\\n", __LINE__, API_NAMESPACE); + //Done to avoid disconnect after complete execution + } + return false; + } + if ( !g_bCheckCb ) + { + FPRINTF("[Line : %d][%s] wifi_scan failed inside WifiPreConnectConditionForEAP, error returned = callback function not invoked\\n", __LINE__, API_NAMESPACE); return false; } + g_bCheckCb = false; //Done to avoid disconnect after complete execution wifi_connect(g_pWifiAPHandle, WifiConnectedCallback, NULL); - + RUN_POLLING_LOOP; if ( !g_bCheckCb ) { - FPRINTF("[Line : %d][%s] wifi_scan failed inside WifiPreConnectConditionForEAP, error returned = callback function not invoked\\n", __LINE__, API_NAMESPACE); + FPRINTF("[Line : %d][%s] WifiConnectedCallback = callback function not invoked\\n", __LINE__, API_NAMESPACE); + //Done to avoid disconnect after complete execution return false; } g_bForEachCb = false; diff --git a/src/itc/wifi/ITs-wifi-common.h b/src/itc/wifi/ITs-wifi-common.h index 0a790ef9a..9d5e5a00d 100755 --- a/src/itc/wifi/ITs-wifi-common.h +++ b/src/itc/wifi/ITs-wifi-common.h @@ -31,6 +31,7 @@ GMainLoop *g_pMainLoop; bool g_bCheckCb; +bool g_bWifiCb; #define CERTIFICATION_PATH "cert.crt" #define KEYFILE "testing.pem" diff --git a/src/itc/wifi/ITs-wifi-monitor.c b/src/itc/wifi/ITs-wifi-monitor.c index ee7834452..ba0ec2a02 100755 --- a/src/itc/wifi/ITs-wifi-monitor.c +++ b/src/itc/wifi/ITs-wifi-monitor.c @@ -429,6 +429,12 @@ int ITc_wifi_set_unset_connection_state_changed_cb_p(void) { g_bCheckCb = false; result = wifi_activate(WifiActivatedCallback, NULL); + RUN_POLLING_LOOP; + if ( !g_bCheckCb ) + { + FPRINTF("[Line : %d][%s] wifi_activate failed, error returned = callback not invoked\\n", __LINE__, API_NAMESPACE); + return 1; + } if ( result != WIFI_ERROR_NONE ) { FPRINTF("[Line : %d][%s] wifi_activate failed, error returned = %s\\n", __LINE__, API_NAMESPACE, WifiGetError(result)); @@ -502,7 +508,7 @@ int ITc_wifi_set_unset_rssi_level_changed_cb_p(void) nRet = wifi_connect(g_pWifiAPHandle, NULL, NULL); PRINT_RESULT(WIFI_ERROR_NONE, nRet, "wifi_connect", WifiGetError(nRet)); - RUN_POLLING_LOOP; + RUN_POLLING_LOOP; PRINT_RESULT(WIFI_ERROR_NONE, nRet, "wifi_set_rssi_level_changed_cb", WifiGetError(nRet)); if ( !g_bCheckCb ) { -- 2.34.1