diff -r 000000000000 -r 56b72877c1cb hotspotfw/hsclient/src/hssmgmtscaninfoimpl.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/hotspotfw/hsclient/src/hssmgmtscaninfoimpl.cpp Thu Dec 17 09:20:28 2009 +0200 @@ -0,0 +1,246 @@ +/* +* Copyright (c) 2002-2005 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: Scan info +* +*/ + + + +// INCLUDE FILES +#include +#include +#include "am_debug.h" +#include "hssmgmtscaninfoimpl.h" +#include "hotspotclientserver.h" + + +// ================= MEMBER FUNCTIONS ======================= + +// C++ default constructor can NOT contain any code, that +// might leave. +// +CHssMgmtScanInfoImpl::CHssMgmtScanInfoImpl() + { + DEBUG("CHssMgmtScanInfoImpl::CHssMgmtScanInfoImpl()"); + } + +// Symbian 2nd phase constructor can leave. +void CHssMgmtScanInfoImpl::ConstructL() + { + DEBUG( "CHssMgmtScanInfoImpl::ConstructL()" ); + + iScanInfo = new(ELeave) HssScanInfo( iScanList ); + } + +// Static constructor. +CHssMgmtScanInfoImpl* CHssMgmtScanInfoImpl::NewL() + { + DEBUG( "CHssMgmtScanInfoImpl::NewL()" ); + + CHssMgmtScanInfoImpl* self = new (ELeave) CHssMgmtScanInfoImpl; + CleanupStack::PushL( self ); + self->ConstructL(); + CleanupStack::Pop( self ); + return self; + } + +// Destructor +CHssMgmtScanInfoImpl::~CHssMgmtScanInfoImpl() + { + DEBUG( "CHssMgmtScanInfoImpl::~CHssMgmtScanInfoImpl()" ); + delete iScanInfo; + } + +// --------------------------------------------------------- +// CHssMgmtScanInfoImpl::Size +// --------------------------------------------------------- +// +TUint16 CHssMgmtScanInfoImpl::Size() const + { + return iScanInfo->Size(); + } + +// --------------------------------------------------------- +// CHssMgmtScanInfoImpl::First +// --------------------------------------------------------- +// +const THssMgmtScanInfoFrame* CHssMgmtScanInfoImpl::First() + { + return iScanInfo->First(); + } + +// --------------------------------------------------------- +// CHssMgmtScanInfoImpl::Next +// --------------------------------------------------------- +// +const THssMgmtScanInfoFrame* CHssMgmtScanInfoImpl::Next() + { + return iScanInfo->Next(); + } + +// --------------------------------------------------------- +// CHssMgmtScanInfoImpl::Current +// --------------------------------------------------------- +// +const THssMgmtScanInfoFrame* CHssMgmtScanInfoImpl::Current() const + { + return iScanInfo->Current(); + } + +// --------------------------------------------------------- +// CHssMgmtScanInfoImpl::IsDone +// --------------------------------------------------------- +// +TBool CHssMgmtScanInfoImpl::IsDone() const + { + return iScanInfo->IsDone(); + } + +// --------------------------------------------------------- +// CHssMgmtScanInfoImpl::RXLevel +// --------------------------------------------------------- +// +TUint8 CHssMgmtScanInfoImpl::RXLevel() const + { + TUint8 rssiValue = 110 - ( iScanInfo->RXLevel() / 2 ); + DEBUG2( "CHssMgmtScanInfoImpl::RXLevel(): (RCP, RSS) == (%u, %u )", iScanInfo->RXLevel(), rssiValue ); + return rssiValue; + } + +// --------------------------------------------------------- +// CHssMgmtScanInfoImpl::Bssid +// --------------------------------------------------------- +// +void CHssMgmtScanInfoImpl::Bssid( THssBssid& aBssid ) const + { + TMacAddress bssid; + iScanInfo->BSSID( bssid.iMacAddress ); + aBssid.Copy( &bssid.iMacAddress[0], KMacAddressLength ); + } + +// --------------------------------------------------------- +// CHssMgmtScanInfoImpl::BeaconInterval +// --------------------------------------------------------- +// +TUint16 CHssMgmtScanInfoImpl::BeaconInterval() const + { + return iScanInfo->BeaconInterval(); + } + +// --------------------------------------------------------- +// CHssMgmtScanInfoImpl::Capability +// --------------------------------------------------------- +// +TUint16 CHssMgmtScanInfoImpl::Capability() const + { + return iScanInfo->Capability(); + } + +// --------------------------------------------------------- +// CHssMgmtScanInfoImpl::SecurityMode +// Status : Draft +// --------------------------------------------------------- +// +THssConnectionSecurityMode CHssMgmtScanInfoImpl::SecurityMode() const + { + THssConnectionSecurityMode securityMode; + + switch( iScanInfo->SecurityMode() ) + { + case EHssSecurityWep: + securityMode = EHssConnectionSecurityWep; + break; + case EHssSecurity802d1x: + securityMode = EHssConnectionSecurity802d1x; + break; + case EHssSecurityWpa: // Fallthrough on purpose + case EHssSecurityWpa2: + securityMode = EHssConnectionSecurityWpa; + break; + case EHssSecurityWpaPsk: // Fallthrough on purpose + case EHssSecurityWpa2Psk: + securityMode = EHssConnectionSecurityWpaPsk; + break; + default: + securityMode = EHssConnectionSecurityOpen; + break; + }; + + return securityMode; + } + +// --------------------------------------------------------- +// CHssMgmtScanInfoImpl::InformationElement +// --------------------------------------------------------- +// +TInt CHssMgmtScanInfoImpl::InformationElement( TUint8 aIE, + TUint8& aLength, + const TUint8** aData ) + { + return iScanInfo->InformationElement( aIE, aLength, aData ); + } + +// --------------------------------------------------------- +// CHssMgmtScanInfoImpl::WpaIE +// --------------------------------------------------------- +// +TInt CHssMgmtScanInfoImpl::WpaIE( TUint8& aLength, + const TUint8** aData ) + { + return iScanInfo->WpaIE( aLength, aData ); + } + +// --------------------------------------------------------- +// CHssMgmtScanInfoImpl::FirstIE +// --------------------------------------------------------- +// +TInt CHssMgmtScanInfoImpl::FirstIE( TUint8& aIE, + TUint8& aLength, + const TUint8** aData ) + { + return iScanInfo->FirstIE( aIE, aLength, aData ); + } + +// --------------------------------------------------------- +// CHssMgmtScanInfoImpl::NextIE +// --------------------------------------------------------- +// +TInt CHssMgmtScanInfoImpl::NextIE( TUint8& aIE, + TUint8& aLength, + const TUint8** aData ) + { + return iScanInfo->NextIE( aIE, aLength, aData ); + } + +// --------------------------------------------------------- +// CHssMgmtScanInfoImpl::GetInternalList +// --------------------------------------------------------- +// +HssScanList& CHssMgmtScanInfoImpl::GetInternalList() + { + return iScanList; + } + +// --------------------------------------------------------- +// CHssMgmtScanInfoImpl::UpdateResultsL +// --------------------------------------------------------- +// +void CHssMgmtScanInfoImpl::UpdateResultsL() + { + delete iScanInfo; + iScanInfo = NULL; + iScanInfo = new(ELeave) HssScanInfo( iScanList ); + } + +// End of File