hotspotfw/hsclient/src/hssmgmtscaninfoimpl.cpp
changeset 0 56b72877c1cb
child 8 c2bc3f8c7777
child 19 10810c91db26
--- /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 <e32std.h>
+#include <implementationproxy.h>
+#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