/** * * roamingMngr_smInvokeScan * * \b Description: * * This procedure is called when scan should be performed in order * to select an AP to roam to. * This can be the first scan, a second scan after partail scan, * or scan after previous scan was failed. * In any case, the scan can either be: * partail, on list of channles or * full on all channels. * * \b ARGS: * * I - hRoamingMngr - roamingMngr SM context \n * * \b RETURNS: * * TI_OK if successful, TI_NOK otherwise. * * */ static void roamingMngr_smInvokeScan(TI_HANDLE hRoamingMngr) { roamingMngr_t *pRoamingMngr; scan_mngrResultStatus_e scanResult; pRoamingMngr = (roamingMngr_t*)hRoamingMngr; /* check which scan should be performed: Partial on list of channels, or full scan */ if ((pRoamingMngr->scanType == ROAMING_PARTIAL_SCAN) || (pRoamingMngr->scanType == ROAMING_PARTIAL_SCAN_RETRY)) { scanResult = scanMngr_startImmediateScan (pRoamingMngr->hScanMngr, TI_TRUE); } else { /* Scan all channels */ scanResult = scanMngr_startImmediateScan (pRoamingMngr->hScanMngr, TI_FALSE); } if (scanResult != SCAN_MRS_SCAN_RUNNING) { /* the scan failed, immitate scan complete event */ TRACE1(pRoamingMngr->hReport, REPORT_SEVERITY_INFORMATION, "roamingMngr_smInvokeScan, scanResult = %d\n", scanResult); roamingMngr_immediateScanComplete(pRoamingMngr, scanResult); } }
static void roamingMngr_smConnectedToScan (TI_HANDLE hRoamingMngr) { roamingMngr_t *pRoamingMngr = (roamingMngr_t*) hRoamingMngr; TI_STATUS status = TI_OK; status= apConn_prepareToRoaming(pRoamingMngr->hAPConnection, ROAMING_TRIGGER_NONE); if (status == TI_OK) { status = scanMngr_startImmediateScan (pRoamingMngr->hScanMngr,TI_FALSE); } else { roamingMngr_smEvent(ROAMING_MANUAL_EVENT_COMPLETE, hRoamingMngr); } }