--- a/wlanutilities/wlansniffer/mainapplication/src/wsfdetailsviewmodel.cpp Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,721 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Implementation of CWsfDetailsViewModel.
-*
-*/
-
-// EXTERNAL INCLUDES
-#include <badesca.h>
-#include <StringLoader.h>
-#include <AknUtils.h>
-#include <wlansniffer.rsg>
-#include <coemain.h>
-#include <avkon.rsg>
-#include <cmpluginwlandef.h>
-#include <cmmanager.h>
-#include <cmconnectionmethod.h>
-#include <rconnmon.h>
-
-// INTERNAL INCLUDES
-#include "wsfwlaninfo.h"
-#include "wsfdetailsviewmodel.h"
-#include "wsfwlaninfoarray.h"
-#include "wsflogger.h"
-
-// LOCAL DEFINITIONS
-using namespace CMManager;
-
-#ifdef _DEBUG
- _LIT( KDetailsViewModelPanic, "CWsfDetailsViewModel" );
- #define _ASSERTD( cond ) __ASSERT_DEBUG( (cond), \
- User::Panic( KDetailsViewModelPanic, __LINE__) )
-#else
- #define _ASSERTD( cond ) {}
-#endif //_DEBUG
-
-// the size of the Details Listbox's array
-const TInt KWlanInfoGranularity = 8;
-// the size of the numbers in the NaviPane
-const TInt KNumberLegth = 5;
-// Listbox elements format string
-_LIT( KListItemFormat, "%S\t%S" );
-// NaviPane elements format string
-_LIT( KPaneFormater, "%i/%i" );
-
-// ---------------------------------------------------------------------------
-// CWsfDetailsViewModel::CWsfDetailsViewModel()
-// ---------------------------------------------------------------------------
-//
-CWsfDetailsViewModel::CWsfDetailsViewModel():iCoeEnv( CCoeEnv::Static() )
- {
- }
-
-// ---------------------------------------------------------------------------
-// CWsfDetailsViewModel::ConstructL()
-// ---------------------------------------------------------------------------
-//
-void CWsfDetailsViewModel::ConstructL()
- {
- LOG_ENTERFN( "CWsfDetailsViewModel::ConstructL" );
- iFormattedWlanInfo = new (ELeave) CDesCArrayFlat( KWlanInfoGranularity );
- }
-
-// ---------------------------------------------------------------------------
-// CWsfDetailsViewModel::NewL()
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CWsfDetailsViewModel* CWsfDetailsViewModel::NewL()
- {
- LOG_ENTERFN( "CWsfDetailsViewModel::NewL" );
- CWsfDetailsViewModel* self = CWsfDetailsViewModel::NewLC();
- CleanupStack::Pop( self );
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// CWsfDetailsViewModel::NewLC()
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CWsfDetailsViewModel* CWsfDetailsViewModel::NewLC()
- {
- LOG_ENTERFN( "CWsfDetailsViewModel::NewLC" );
- CWsfDetailsViewModel* self = new( ELeave ) CWsfDetailsViewModel;
- CleanupStack::PushL( self );
- self->ConstructL();
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// CWsfDetailsViewModel::~CWsfDetailsViewModel()
-// ---------------------------------------------------------------------------
-//
-CWsfDetailsViewModel::~CWsfDetailsViewModel()
- {
- LOG_ENTERFN( "CWsfDetailsViewModel::~CWsfDetailsViewModel" );
- delete iFormattedWlanInfo;
- }
-
-// ---------------------------------------------------------------------------
-// CWsfDetailsViewModel::FormatWlanInfoL()
-// ---------------------------------------------------------------------------
-//
-CDesCArrayFlat* CWsfDetailsViewModel::FormatWlanInfoL(
- TWsfWlanInfo* aWlanInfo,
- CWsfWlanInfoArray* aWlanArray )
- {
- LOG_ENTERFN( "CWsfDetailsViewModel::FormatWlanInfoL" );
- _ASSERTD( aWlanArray );
-
- for( TInt i = 0; i < iFormattedWlanInfo->MdcaCount(); i++)
- {
- TPtrC temp = iFormattedWlanInfo->MdcaPoint( i );
- TBuf<100> tempElement = temp;
- LOG_WRITEF( "(1)iFormattedWlanInfo: %S", &tempElement );
- }
-
- iWlanArray = aWlanArray;
- iFormattedWlanInfo->Reset();
-
- TInt visibleWlans = VisibleWlans( *iWlanArray );
- if ( aWlanInfo && visibleWlans )
- {
- iWlanInfo = *aWlanInfo;
- TWsfWlanInfo* temp = iWlanArray->Match( aWlanInfo->iSsid,
- visibleWlans );
- if ( temp )
- {
- iIndex = iWlanArray->GetArrayIndex( temp );
- }
- else
- {
- iIndex = iWlanArray->GetArrayIndex( &iWlanInfo );
- }
-
- // create array of not-connected WLAN data
- FormatAndAppenWlanIapNameL();
- FormatAndAppenWlanSsidL();
- FormatAndAppenSingnalL();
- FormatAndAppenModeL();
- FormatAndAppenSecurityL();
- FormatAndAppenCoverageL();
- FormatAndAppenSpeedL();
- }
- else if ( !aWlanInfo )// Current Wlan info has no signal
- {
- iWlanInfo.iStrengthLevel = EWlanSignalUnavailable;
- FormatAndAppenWlanIapNameL();
- FormatAndAppenWlanSsidL();
- FormatAndAppenSingnalL();
- }
-
- for( TInt i = 0; i < iFormattedWlanInfo->MdcaCount(); i++)
- {
- TPtrC temp = iFormattedWlanInfo->MdcaPoint( i );
- TBuf<100> tempElement = temp;
- LOG_WRITEF( "(2)iFormattedWlanInfo: %S", &tempElement );
- }
-
- return iFormattedWlanInfo;
- }
-
-// ---------------------------------------------------------------------------
-// CWsfDetailsViewModel::FormatNextWlanInfoL()
-// ---------------------------------------------------------------------------
-//
-
-CDesCArrayFlat* CWsfDetailsViewModel::FormatNextWlanInfoL()
- {
- LOG_ENTERFN( "CWsfDetailsViewModel::FormatNextWlanInfoL" );
- _ASSERTD( iWlanArray );
-
- TInt visibleWlans = VisibleWlans( *iWlanArray );
-
- if( iIndex < visibleWlans - 1 )
- {
- iFormattedWlanInfo->Reset();
- iIndex++;
-
- if( iIndex >= visibleWlans - 1 )
- {
- // Set the index to point to the last visible in the array.
- iIndex = visibleWlans - 1;
- }
- else if ( iWlanInfo.SignalStrength() == ENoSignal )
- {
- iIndex = 0;
- }
-
- // (Array bounds check is done in the first if sentence.)
- iWlanInfo = *(iWlanArray->At( iIndex ) );
- FormatAndAppenWlanIapNameL();
- FormatAndAppenWlanSsidL();
- FormatAndAppenSingnalL();
- FormatAndAppenModeL();
- FormatAndAppenSecurityL();
- FormatAndAppenCoverageL();
- FormatAndAppenSpeedL();
- }
-
- return iFormattedWlanInfo;
- }
-
-
-
-// ---------------------------------------------------------------------------
-// CWsfDetailsViewModel::FormatPreviousWlanInfoL()
-// ---------------------------------------------------------------------------
-//
-
-CDesCArrayFlat* CWsfDetailsViewModel::FormatPreviousWlanInfoL()
- {
- LOG_ENTERFN( "CWsfDetailsViewModel::FormatPreviousWlanInfoL" );
- _ASSERTD( iWlanArray );
-
- if( VisibleWlans( *iWlanArray ) )
- {
- iFormattedWlanInfo->Reset();
- iIndex--;
-
- if ( iIndex < 0 || iWlanInfo.SignalStrength() == ENoSignal )
- {
- iIndex = 0;
- }
-
- // Just in case the iIndex would somehow point out of iWlanArray...
- if( iIndex >= (TInt)iWlanArray->Count() )
- {
- iIndex = 0;
- }
- iWlanInfo = *(iWlanArray->At( iIndex ) );
- FormatAndAppenWlanIapNameL();
- FormatAndAppenWlanSsidL();
- FormatAndAppenSingnalL();
- FormatAndAppenModeL();
- FormatAndAppenSecurityL();
- FormatAndAppenCoverageL();
- FormatAndAppenSpeedL();
- }
- return iFormattedWlanInfo;
- }
-
-// ---------------------------------------------------------------------------
-// CWsfDetailsViewModel::FormatPaneTextLC()
-// ---------------------------------------------------------------------------
-//
-HBufC* CWsfDetailsViewModel::FormatPaneTextLC()
- {
- LOG_ENTERFN( "CWsfDetailsViewModel::FormatPaneTextLC" );
-
- HBufC* paneText = NULL;
-
- if ( iWlanInfo.SignalStrength() == ENoSignal )
- {
- paneText = KNullDesC().AllocLC();
- }
- else
- {
- TInt visibleWlans = VisibleWlans( *iWlanArray );
- if( visibleWlans )
- {
- paneText = HBufC::NewLC( KPaneFormater().Length() +
- KNumberLegth +
- KNumberLegth );
-
- TPtr paneTextPrt = paneText->Des();
-
- // Format string ( KListItemFormat = %i/%i )
- paneTextPrt.Format( KPaneFormater,
- iIndex + 1,
- visibleWlans );
- }
- else
- {
- paneText = KNullDesC().AllocLC();
- }
- }
-
- return paneText;
- }
-
-// ---------------------------------------------------------------------------
-// CWsfDetailsViewModel::FormatLeftScrollButton()
-// ---------------------------------------------------------------------------
-//
-TBool CWsfDetailsViewModel::FormatLeftScrollButton()
- {
- LOG_ENTERFN( "CWsfDetailsViewModel::FormatLeftScrollButton" );
- TBool leftButton( EFalse );
-
- if ( iIndex == 0 )
- {
- leftButton = ETrue;
- }
-
- return leftButton;
- }
-
-// ---------------------------------------------------------------------------
-// CWsfDetailsViewModel::FormatRightScrollButton()
-// ---------------------------------------------------------------------------
-//
-TBool CWsfDetailsViewModel::FormatRightScrollButton()
- {
- LOG_ENTERFN( "CWsfDetailsViewModel::FormatRightScrollButton" );
- TBool rightButton( EFalse );
- TInt count = iWlanArray->Count();
-
- if ( iIndex + 1 >= count )
- {
- rightButton = ETrue;
- }
-
- return rightButton;
- }
-
-// ---------------------------------------------------------------------------
-// CWsfDetailsViewModel::GetWlanDetails()
-// ---------------------------------------------------------------------------
-//
-CDesCArrayFlat* CWsfDetailsViewModel::GetWlanDetails()
- {
- return iFormattedWlanInfo;
- }
-
-// ---------------------------------------------------------------------------
-// CWsfDetailsViewModel::WlanSsid()
-// ---------------------------------------------------------------------------
-//
-const TDesC8& CWsfDetailsViewModel::WlanSsid() const
- {
- return iWlanInfo.iSsid;
- }
-
-// ---------------------------------------------------------------------------
-// CWsfDetailsViewModel::FormatListBoxItemLC
-// ---------------------------------------------------------------------------
-//
-HBufC* CWsfDetailsViewModel::FormatListBoxItemLC(
- const TUint aResourceId,
- const TDesC& aValueText ) const
- {
- LOG_ENTERFN( "CWsfDetailsViewModel::FormatListBoxItemLC" );
- // hold the column name on list item
- HBufC* columnName = NULL;
-
- if ( aResourceId )
- {
- columnName = StringLoader::LoadLC( aResourceId );
- }
- else
- {
- columnName = KNullDesC().AllocLC();
- }
-
-
- // Holds the list box item
- HBufC* listBoxItem = HBufC::NewL( KListItemFormat().Length()+
- columnName->Length() +
- aValueText.Length() );
-
- // For formating needs
- TPtr listBoxItemPrt = listBoxItem->Des();
-
- // Format string ( KListItemFormat = %S\t%S )
- listBoxItemPrt.Format( KListItemFormat, columnName, &aValueText );
- CleanupStack::PopAndDestroy( columnName );
- CleanupStack::PushL( listBoxItem );
- return listBoxItem;
- }
-
-// ---------------------------------------------------------------------------
-// CWsfDetailsViewModel::FormatAndAppenWlanIapNameL()
-// ---------------------------------------------------------------------------
-//
-void CWsfDetailsViewModel::FormatAndAppenWlanIapNameL()
- {
- LOG_ENTERFN( "CWsfDetailsViewModel::FormatAndAppenWlanIapNameL" );
- if ( iWlanInfo.iNetworkName.Length() )
- {
- HBufC* wlanIapName = iWlanInfo.GetIapNameAsUnicodeLC();
- HBufC* listBoxItem = FormatListBoxItemLC(
- R_QTN_CMON_HEADING_CONN_NAME,
- *wlanIapName );
-
- iFormattedWlanInfo->AppendL( *listBoxItem );
- CleanupStack::PopAndDestroy( listBoxItem );
- CleanupStack::PopAndDestroy( wlanIapName );
- }
- }
-
-// ---------------------------------------------------------------------------
-// CWsfDetailsViewModel::FormatAndAppenWlanSsidL()
-// ---------------------------------------------------------------------------
-//
-void CWsfDetailsViewModel::FormatAndAppenWlanSsidL()
- {
- LOG_ENTERFN( "CWsfDetailsViewModel::FormatAndAppenWlanSsidL" );
- HBufC* wlanSsid = iWlanInfo.GetSsidAsUnicodeLC();
- HBufC* listBoxItem = FormatListBoxItemLC(
- R_QTN_SNIFFER_HEADING_WLAN_NETWORK_NAME,
- *wlanSsid );
-
- iFormattedWlanInfo->AppendL( *listBoxItem );
- CleanupStack::PopAndDestroy( listBoxItem );
- CleanupStack::PopAndDestroy( wlanSsid );
- }
-
-// ---------------------------------------------------------------------------
-// CWsfDetailsViewModel::FormatAndAppenSingnalL()
-// ---------------------------------------------------------------------------
-//
-void CWsfDetailsViewModel::FormatAndAppenSingnalL()
- {
- LOG_ENTERFN( "CWsfDetailsViewModel::FormatAndAppenSingnalL" );
- HBufC* singnalStrength = FormatSingnalStrenghtLC();
- HBufC* listBoxItem = FormatListBoxItemLC(
- R_QTN_SNIFFER_HEADING_WLAN_SIGNAL_STRENGTH,
- *singnalStrength );
-
- iFormattedWlanInfo->AppendL( *listBoxItem );
- CleanupStack::PopAndDestroy( listBoxItem );
- CleanupStack::PopAndDestroy( singnalStrength );
- }
-
-// ---------------------------------------------------------------------------
-// CWsfDetailsViewModel::FormatAndAppenModeL()
-// ---------------------------------------------------------------------------
-//
-void CWsfDetailsViewModel::FormatAndAppenModeL()
- {
- LOG_ENTERFN( "CWsfDetailsViewModel::FormatAndAppenModeL" );
- HBufC* mode = FormatModeLC();
- HBufC* listBoxItem = FormatListBoxItemLC(
- R_QTN_SNIFFER_HEADING_WLAN_NETWORK_MODE,
- *mode );
-
- iFormattedWlanInfo->AppendL( *listBoxItem );
- CleanupStack::PopAndDestroy( listBoxItem );
- CleanupStack::PopAndDestroy( mode );
- }
-
-// ---------------------------------------------------------------------------
-// CWsfDetailsViewModel::FormatAndAppenSecurityL()
-// ---------------------------------------------------------------------------
-//
-void CWsfDetailsViewModel::FormatAndAppenSecurityL()
- {
- LOG_ENTERFN( "CWsfDetailsViewModel::FormatAndAppenSecurityL" );
- HBufC* security = FormatSecurityLC();
- HBufC* listBoxItem = FormatListBoxItemLC(
- R_QTN_SNIFFER_HEADING_WLAN_SECURITY_MODE,
- *security );
-
- iFormattedWlanInfo->AppendL( *listBoxItem );
- CleanupStack::PopAndDestroy( listBoxItem );
- CleanupStack::PopAndDestroy( security );
- }
-
-// ---------------------------------------------------------------------------
-// CWsfDetailsViewModel::FormatAndAppenCoverageL()
-// ---------------------------------------------------------------------------
-//
-void CWsfDetailsViewModel::FormatAndAppenCoverageL()
- {
- LOG_ENTERFN( "CWsfDetailsViewModel::FormatAndAppenCoverageL" );
- HBufC* coverage = FormatCoverageLC();
- HBufC* listBoxItem = FormatListBoxItemLC(
- R_QTN_SNIFFER_HEADING_WLAN_NW_AP_AMOUNT,
- *coverage );
-
- iFormattedWlanInfo->AppendL( *listBoxItem );
- CleanupStack::PopAndDestroy( listBoxItem );
- CleanupStack::PopAndDestroy( coverage );
- }
-
-// ---------------------------------------------------------------------------
-// CWsfDetailsViewModel::FormatAndAppenSpeedL()
-// ---------------------------------------------------------------------------
-//
-void CWsfDetailsViewModel::FormatAndAppenSpeedL()
- {
- LOG_ENTERFN( "CWsfDetailsViewModel::FormatAndAppenSpeedL" );
- HBufC* speed = FormatTechnologyLC();
- HBufC* listBoxItem = FormatListBoxItemLC(
- R_QTN_SNIFFER_HEADING_WLAN_NW_MAX_RATE,
- *speed );
-
- iFormattedWlanInfo->AppendL( *listBoxItem );
- CleanupStack::PopAndDestroy( listBoxItem );
- CleanupStack::PopAndDestroy( speed );
- }
-
-// ---------------------------------------------------------------------------
-// CWsfDetailsViewModel::FormatSingnalStrenghtLC()
-// ---------------------------------------------------------------------------
-//
-HBufC* CWsfDetailsViewModel::FormatSingnalStrenghtLC()
- {
- LOG_ENTERFN( "CWsfDetailsViewModel::FormatSingnalStrenghtLC" );
- // Holds the showed signal strenth string
- HBufC* singnalStrengthString = NULL;
-
- // Get string
- switch( iWlanInfo.SignalStrength() )
- {
- case ENoSignal:
- {
- singnalStrengthString = StringLoader::LoadLC(
- R_QTN_SNIFFER_WLAN_SIGNAL_STRENGTH_NO_SIGNAL, iCoeEnv );
- break;
- }
- case EPoor:
- {
- singnalStrengthString = StringLoader::LoadLC (
- R_QTN_SNIFFER_WLAN_SIGNAL_STRENGTH_LOW,
- iWlanInfo.SignalStrengthPercentage(),
- iCoeEnv );
- break;
- }
- case EAverage:
- {
- singnalStrengthString = StringLoader::LoadLC (
- R_QTN_SNIFFER_WLAN_SIGNAL_STRENGTH_MEDIUM,
- iWlanInfo.SignalStrengthPercentage(),
- iCoeEnv );
- break;
- }
- case EExcelent:
- {
- singnalStrengthString = StringLoader::LoadLC (
- R_QTN_SNIFFER_WLAN_SIGNAL_STRENGTH_STRONG,
- iWlanInfo.SignalStrengthPercentage(),
- iCoeEnv );
- break;
- }
- default:
- {
- return KNullDesC().AllocLC();
- }
-
- }
- return singnalStrengthString;
- }
-
-// ---------------------------------------------------------
-// CWsfDetailsViewModel::FormatModeLC
-// ---------------------------------------------------------
-//
-HBufC* CWsfDetailsViewModel::FormatModeLC()
- {
- LOG_ENTERFN( "CWsfDetailsViewModel::FormatModeLC" );
- TInt resourceId(0);
-
- switch( iWlanInfo.iNetMode )
- {
- case EAdhoc:
- {
- resourceId = R_QTN_SNIFFER_WLAN_SETT_NEWTWORK_MODE_ADHOC;
- break;
- }
-
- case EInfra:
- {
- resourceId = R_QTN_SNIFFER_WLAN_SETT_NEWTWORK_MODE_INFRA;
- break;
- }
- default:
- {
- return KNullDesC().AllocLC();
- }
-
- }
-
- return StringLoader::LoadLC( resourceId );
- }
-
-// ---------------------------------------------------------
-// CWsfDetailsViewModel::FormatSecurityLC
-// ---------------------------------------------------------
-//
-HBufC* CWsfDetailsViewModel::FormatSecurityLC()
- {
- LOG_ENTERFN( "CWsfDetailsViewModel::FormatSecurityLC" );
- TInt resourceId(0);
-
- switch( iWlanInfo.iSecurityMode )
- {
-
- case EWlanSecModeOpen:
- {
- resourceId = R_QTN_SNIFFER_WLAN_SETT_SECURITY_MODE_OPEN;
- break;
- }
- case EWlanSecModeWep:
- {
- resourceId = R_QTN_SNIFFER_WLAN_SETT_SECURITY_MODE_WEP;
- break;
- }
- case EWlanSecMode802_1x:
- {
- resourceId = R_QTN_SNIFFER_WLAN_SETT_SECURITY_MODE_802_1X;
- break;
- }
- case EWlanSecModeWpa:
- case EWlanSecModeWpa2:
- {
- resourceId = R_QTN_SNIFFER_WLAN_SETT_SECURITY_MODE_WPA;
- break;
- }
- case EWlanSecModeWAPI:
- {
- resourceId = R_QTN_SNIFFER_WLAN_SETT_SECURITY_MODE_WAPI;
- break;
- }
- default:
- {
- return KNullDesC().AllocLC();
- }
- }
-
- return StringLoader::LoadLC( resourceId );
- }
-
-// ---------------------------------------------------------------------------
-// CWsfDetailsViewModel::FormatCoverageLC
-// ---------------------------------------------------------------------------
-//
-HBufC* CWsfDetailsViewModel::FormatCoverageLC()
- {
- LOG_ENTERFN( "CWsfDetailsViewModel::FormatCoverageLC" );
- if ( iWlanInfo.iCoverage == 1)
- {
- return StringLoader::LoadLC(
- R_QTN_SNIFFER_WLAN_AP_AMOUNT_IN_RANGE, iCoeEnv );
- }
- else
- {
- return StringLoader::LoadLC(
- R_QTN_SNIFFER_WLAN_AP_AMOUNT_IN_RANGE_MANY,
- iWlanInfo.iCoverage, iCoeEnv );
- }
- }
-
-// ---------------------------------------------------------
-// CWsfDetailsViewModel::FormatTechnologyLC
-// ---------------------------------------------------------
-//
-HBufC* CWsfDetailsViewModel::FormatTechnologyLC()
- {
- LOG_ENTERFN( "CWsfDetailsViewModel::FormatTechnologyLC" );
- TInt resourceId( 0 );
-
- switch( iWlanInfo.iTransferRate )
- {
-
- case 1:
- {
- resourceId = R_QTN_SNIFFER_WLAN_SETT_TECHNOLOGY_802_11B;
- break;
- }
- case 2:
- {
- resourceId = R_QTN_SNIFFER_WLAN_SETT_TECHNOLOGY_802_11G;
- break;
- }
- case 4:
- {
- resourceId = R_QTN_SNIFFER_WLAN_SETT_TECHNOLOGY_802_11BG;
- break;
- }
- case 8:
- {
- resourceId = R_QTN_SNIFFER_WLAN_SETT_TECHNOLOGY_802_11N;
- break;
- }
- default:
- {
- return KNullDesC().AllocLC();
- }
- }
-
- return StringLoader::LoadLC( resourceId );
- }
-
-// ---------------------------------------------------------------------------
-// CWsfDetailsViewModel::VisibleWlans
-// ---------------------------------------------------------------------------
-//
-TInt CWsfDetailsViewModel::VisibleWlans( CWsfWlanInfoArray& aArray )
- {
- LOG_ENTERFN( "CWsfDetailsViewModel::VisibleWlans" );
- TUint i = 0;
- TWsfWlanInfo* wlanInfo;
- LOG_WRITEF( "Number of Wlans: %d", aArray.Count() );
- // The hidden WLAN should be in the end of the aArray.
- while ( i < aArray.Count() )
- {
- wlanInfo = aArray[i];
- if ( wlanInfo->Hidden() && !wlanInfo->Known() )
- {
- break; // Hidden was found. Break to exit the while-loop.
- }
- ++i;
- }
-
- LOG_WRITEF( "VisibleWlans: %d", i );
- return i;
- }
-
-// END OF FILE
-