int nWifiTimeoutId = -1;
g_bRSSICheckCb = false;
+ wifi_connection_state_e eWifiConnectionState;
+
int nRet = wifi_set_rssi_level_changed_cb(WifiRssiLevelChangesCallback, NULL);//target api
PRINT_RESULT(WIFI_ERROR_NONE, nRet, "wifi_set_rssi_level_changed_cb", WifiGetError(nRet));
+ nRet = wifi_get_connection_state(&eWifiConnectionState);
+ PRINT_RESULT(WIFI_ERROR_NONE, nRet, "wifi_get_connection_state", WifiGetError(nRet));
+
+ if(eWifiConnectionState == WIFI_CONNECTION_STATE_CONNECTED) {
+ g_bCheckCb = false;
+ nRet = wifi_deactivate(WifiDeActivatedCallback, NULL);
+ RUN_POLLING_LOOP;
+ PRINT_RESULT_CLEANUP(WIFI_ERROR_NONE, nRet, "wifi_deactivate", WifiGetError(nRet), wifi_unset_connection_state_changed_cb());
+ if ( !g_bCheckCb )
+ {
+ FPRINTF("[Line : %d][%s] wifi_deactivate failed, error returned = callback not invoked\\n", __LINE__, API_NAMESPACE);
+ return 1;
+ }
+ }
+
if ( !WifiPreConnectCondition() )
{
FPRINTF("[Line : %d][%s] WifiPreConnectCondition failed\\n", __LINE__, API_NAMESPACE);
wifi_unset_rssi_level_changed_cb();
return 1;
}
+
nRet = wifi_unset_rssi_level_changed_cb();
PRINT_RESULT(WIFI_ERROR_NONE, nRet, "wifi_unset_rssi_level_changed_cb", WifiGetError(nRet));