hotspotfw/hsclient/src/hssmgmtscaninfoimpl.cpp
changeset 0 56b72877c1cb
child 8 c2bc3f8c7777
equal deleted inserted replaced
-1:000000000000 0:56b72877c1cb
       
     1 /*
       
     2 * Copyright (c) 2002-2005 Nokia Corporation and/or its subsidiary(-ies).
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of "Eclipse Public License v1.0"
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description:   Scan info
       
    15 *
       
    16 */
       
    17 
       
    18 
       
    19 
       
    20 // INCLUDE FILES
       
    21 #include <e32std.h>
       
    22 #include <implementationproxy.h>
       
    23 #include "am_debug.h"
       
    24 #include "hssmgmtscaninfoimpl.h"
       
    25 #include "hotspotclientserver.h"
       
    26 
       
    27 
       
    28 // ================= MEMBER FUNCTIONS =======================
       
    29 
       
    30 // C++ default constructor can NOT contain any code, that
       
    31 // might leave.
       
    32 //
       
    33 CHssMgmtScanInfoImpl::CHssMgmtScanInfoImpl()
       
    34     {
       
    35     DEBUG("CHssMgmtScanInfoImpl::CHssMgmtScanInfoImpl()");
       
    36     }
       
    37 
       
    38 // Symbian 2nd phase constructor can leave.
       
    39 void CHssMgmtScanInfoImpl::ConstructL()
       
    40     {
       
    41     DEBUG( "CHssMgmtScanInfoImpl::ConstructL()" );
       
    42 
       
    43     iScanInfo = new(ELeave) HssScanInfo( iScanList );
       
    44     }
       
    45 
       
    46 // Static constructor.
       
    47 CHssMgmtScanInfoImpl* CHssMgmtScanInfoImpl::NewL()
       
    48     {
       
    49     DEBUG( "CHssMgmtScanInfoImpl::NewL()" );
       
    50 
       
    51     CHssMgmtScanInfoImpl* self = new (ELeave) CHssMgmtScanInfoImpl;
       
    52     CleanupStack::PushL( self );    
       
    53     self->ConstructL();
       
    54     CleanupStack::Pop( self );
       
    55     return self;
       
    56     }
       
    57     
       
    58 // Destructor
       
    59 CHssMgmtScanInfoImpl::~CHssMgmtScanInfoImpl()
       
    60     {
       
    61     DEBUG( "CHssMgmtScanInfoImpl::~CHssMgmtScanInfoImpl()" );
       
    62     delete iScanInfo;
       
    63     }
       
    64 
       
    65 // ---------------------------------------------------------
       
    66 // CHssMgmtScanInfoImpl::Size
       
    67 // ---------------------------------------------------------
       
    68 //
       
    69 TUint16 CHssMgmtScanInfoImpl::Size() const
       
    70     {
       
    71       return iScanInfo->Size();
       
    72     }
       
    73 
       
    74 // ---------------------------------------------------------
       
    75 // CHssMgmtScanInfoImpl::First
       
    76 // ---------------------------------------------------------
       
    77 //
       
    78 const THssMgmtScanInfoFrame* CHssMgmtScanInfoImpl::First()
       
    79     {
       
    80       return iScanInfo->First();
       
    81     }
       
    82 
       
    83 // ---------------------------------------------------------
       
    84 // CHssMgmtScanInfoImpl::Next
       
    85 // ---------------------------------------------------------
       
    86 //
       
    87 const THssMgmtScanInfoFrame* CHssMgmtScanInfoImpl::Next()
       
    88     {
       
    89       return iScanInfo->Next();
       
    90     }
       
    91 
       
    92 // ---------------------------------------------------------
       
    93 // CHssMgmtScanInfoImpl::Current
       
    94 // ---------------------------------------------------------
       
    95 //
       
    96 const THssMgmtScanInfoFrame* CHssMgmtScanInfoImpl::Current() const
       
    97     {
       
    98       return iScanInfo->Current();
       
    99     }
       
   100 
       
   101 // ---------------------------------------------------------
       
   102 // CHssMgmtScanInfoImpl::IsDone
       
   103 // ---------------------------------------------------------
       
   104 //
       
   105 TBool CHssMgmtScanInfoImpl::IsDone() const
       
   106     {
       
   107       return iScanInfo->IsDone();
       
   108     }
       
   109 
       
   110 // ---------------------------------------------------------
       
   111 // CHssMgmtScanInfoImpl::RXLevel
       
   112 // ---------------------------------------------------------
       
   113 //
       
   114 TUint8 CHssMgmtScanInfoImpl::RXLevel() const
       
   115     {
       
   116     TUint8 rssiValue = 110 - ( iScanInfo->RXLevel() / 2 );
       
   117     DEBUG2( "CHssMgmtScanInfoImpl::RXLevel(): (RCP, RSS) == (%u, %u )", iScanInfo->RXLevel(), rssiValue );
       
   118     return rssiValue;
       
   119     }
       
   120 
       
   121 // ---------------------------------------------------------
       
   122 // CHssMgmtScanInfoImpl::Bssid
       
   123 // ---------------------------------------------------------
       
   124 //
       
   125 void CHssMgmtScanInfoImpl::Bssid( THssBssid& aBssid ) const
       
   126     {
       
   127     TMacAddress bssid;
       
   128     iScanInfo->BSSID( bssid.iMacAddress );
       
   129     aBssid.Copy( &bssid.iMacAddress[0], KMacAddressLength );
       
   130     }
       
   131 
       
   132 // ---------------------------------------------------------
       
   133 // CHssMgmtScanInfoImpl::BeaconInterval
       
   134 // ---------------------------------------------------------
       
   135 //
       
   136 TUint16 CHssMgmtScanInfoImpl::BeaconInterval() const
       
   137     {
       
   138     return iScanInfo->BeaconInterval();
       
   139     }
       
   140 
       
   141 // ---------------------------------------------------------
       
   142 // CHssMgmtScanInfoImpl::Capability
       
   143 // ---------------------------------------------------------
       
   144 //
       
   145 TUint16 CHssMgmtScanInfoImpl::Capability() const
       
   146     {
       
   147     return iScanInfo->Capability();
       
   148     }
       
   149 
       
   150 // ---------------------------------------------------------
       
   151 // CHssMgmtScanInfoImpl::SecurityMode
       
   152 // Status : Draft
       
   153 // ---------------------------------------------------------
       
   154 //
       
   155 THssConnectionSecurityMode CHssMgmtScanInfoImpl::SecurityMode() const
       
   156     {
       
   157     THssConnectionSecurityMode securityMode;
       
   158     
       
   159     switch( iScanInfo->SecurityMode() )
       
   160         {
       
   161 		case EHssSecurityWep:
       
   162 			securityMode = EHssConnectionSecurityWep;
       
   163 			break;
       
   164 		case EHssSecurity802d1x:
       
   165 			securityMode = EHssConnectionSecurity802d1x;
       
   166 			break;
       
   167 		case EHssSecurityWpa: // Fallthrough on purpose
       
   168 		case EHssSecurityWpa2:
       
   169 			securityMode = EHssConnectionSecurityWpa;
       
   170 			break;
       
   171 		case EHssSecurityWpaPsk: // Fallthrough on purpose
       
   172 		case EHssSecurityWpa2Psk:
       
   173 			securityMode = EHssConnectionSecurityWpaPsk;
       
   174 			break;
       
   175 		default:
       
   176 			securityMode = EHssConnectionSecurityOpen;
       
   177 			break;
       
   178         };
       
   179         
       
   180     return securityMode;
       
   181     }
       
   182 
       
   183 // ---------------------------------------------------------
       
   184 // CHssMgmtScanInfoImpl::InformationElement
       
   185 // ---------------------------------------------------------
       
   186 //
       
   187 TInt CHssMgmtScanInfoImpl::InformationElement( TUint8 aIE, 
       
   188                                             TUint8& aLength, 
       
   189                                             const TUint8** aData )
       
   190     {
       
   191       return iScanInfo->InformationElement( aIE, aLength, aData );
       
   192     }
       
   193 
       
   194 // ---------------------------------------------------------
       
   195 // CHssMgmtScanInfoImpl::WpaIE
       
   196 // ---------------------------------------------------------
       
   197 //
       
   198 TInt CHssMgmtScanInfoImpl::WpaIE( TUint8& aLength, 
       
   199                                const TUint8** aData )
       
   200     {
       
   201       return iScanInfo->WpaIE( aLength, aData );
       
   202     }
       
   203 
       
   204 // ---------------------------------------------------------
       
   205 // CHssMgmtScanInfoImpl::FirstIE
       
   206 // ---------------------------------------------------------
       
   207 //
       
   208 TInt CHssMgmtScanInfoImpl::FirstIE( TUint8& aIE, 
       
   209                                  TUint8& aLength, 
       
   210                                  const TUint8** aData )
       
   211     {
       
   212       return iScanInfo->FirstIE( aIE, aLength, aData );
       
   213     }
       
   214 
       
   215 // ---------------------------------------------------------
       
   216 // CHssMgmtScanInfoImpl::NextIE
       
   217 // ---------------------------------------------------------
       
   218 //
       
   219 TInt CHssMgmtScanInfoImpl::NextIE( TUint8& aIE, 
       
   220                                 TUint8& aLength, 
       
   221                                 const TUint8** aData )
       
   222     {
       
   223       return iScanInfo->NextIE( aIE, aLength, aData );
       
   224     }
       
   225 
       
   226 // ---------------------------------------------------------
       
   227 // CHssMgmtScanInfoImpl::GetInternalList
       
   228 // ---------------------------------------------------------
       
   229 //
       
   230 HssScanList& CHssMgmtScanInfoImpl::GetInternalList()
       
   231     {
       
   232     return iScanList;
       
   233     }
       
   234 
       
   235 // ---------------------------------------------------------
       
   236 // CHssMgmtScanInfoImpl::UpdateResultsL
       
   237 // ---------------------------------------------------------
       
   238 //
       
   239 void CHssMgmtScanInfoImpl::UpdateResultsL()
       
   240     {
       
   241     delete iScanInfo;
       
   242     iScanInfo = NULL;
       
   243     iScanInfo = new(ELeave) HssScanInfo( iScanList );
       
   244     }
       
   245 
       
   246 //  End of File