HBufC8* CAgentPosition::GetWiFiBufferL(TLocationAdditionalData* additionalData) { CBufBase* buffer = CBufFlat::NewL(50); CleanupStack::PushL(buffer); CWlanScanInfo* scanInfo=CWlanScanInfo::NewL(); CleanupStack::PushL(scanInfo); CWlanMgmtClient* client=CWlanMgmtClient::NewL(); CleanupStack::PushL(client); client->GetScanResults(*scanInfo); for(scanInfo->First(); !scanInfo->IsDone(); scanInfo->Next() ) { TWiFiInfo wifiInfo; Mem::FillZ(&wifiInfo,sizeof(wifiInfo)); //Retrieve BSSID TWlanBssid bssid; scanInfo->Bssid( bssid ); //wifiInfo.macAddress.Zero(); //wifiInfo.macAddress.Copy(bssid); for(TInt k = 0; k < bssid.Length(); k++) wifiInfo.macAddress[k] = bssid[k]; //Retrieve transmision level TInt8 rxLevel = scanInfo->RXLevel(); wifiInfo.rssi = rxLevel; //Retrieve SSID TBuf8<36> ssid; TInt err; err = GetSSID(scanInfo, ssid); if(err == KErrNone) { wifiInfo.ssidLen = ssid.Length(); for(TInt i=0; i<wifiInfo.ssidLen; i++) wifiInfo.ssid[i] = ssid[i]; } else { wifiInfo.ssidLen = 0; } additionalData->uStructNum += 1; buffer->InsertL(buffer->Size(), &wifiInfo, sizeof(TWiFiInfo)); } CleanupStack::PopAndDestroy(client); CleanupStack::PopAndDestroy(scanInfo); HBufC8* result = buffer->Ptr(0).AllocL(); CleanupStack::PopAndDestroy(buffer); return result; }
void CNetSettingPage_Tools_PingView::PingThread() { DWORD dwTotalCount = 0; DWORD dwSuccessCount = 0; DWORD dwFailedCount = 0; int nRSSI = 0; TCHAR tszSSID[64] = {0,}; while( m_bIsPingOperating == TRUE ) { if( m_ping.StartPing(&m_pingResult) == TRUE ) { m_strResult.Format(_T("[%d] Size(%d),Time(%dms),TTL(%d)\r\n"),dwTotalCount, m_pingResult.dwDataSize, m_pingResult.dwTime, m_pingResult.ucTtl ); dwSuccessCount++; } else { if( m_pingResult.dwErrCode == 11010 ) { m_strResult.Format(_T("Request timed out.\r\n") ); } else { m_strResult.Format(_T("Error (%d) \r\n"), m_pingResult.dwErrCode); } dwFailedCount++; } m_editPingResult.ReplaceSel(m_strResult, TRUE); dwTotalCount = dwSuccessCount + dwFailedCount; GetSSID(m_adapterInfo.tszAdapterName, tszSSID); if( _tcslen(tszSSID) != 0) { GetRSSI(m_adapterInfo.tszAdapterName, &nRSSI); } SetDlgItemInt(IDC_STATIC_RSSI, nRSSI); SetDlgItemText(IDC_STATIC_SSID, tszSSID); Sleep(1000); } m_strResult.Format(_T("Total/Success/Failed(%d/%d/%d) \r\n"),dwTotalCount, dwSuccessCount, dwFailedCount ); m_editPingResult.ReplaceSel(m_strResult, TRUE); }