wlan_bearer/wlanldd/wlan_common/umac_common/inc/UmacContextImpl.inl
changeset 0 c40eb8fe8501
child 3 6524e815f76f
equal deleted inserted replaced
-1:000000000000 0:c40eb8fe8501
       
     1 /*
       
     2 * Copyright (c) 2002-2009 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 the License "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:   Implementation of WlanContextImpl inline methods.
       
    15 *
       
    16 */
       
    17 
       
    18 /*
       
    19 * %version: 75 %
       
    20 */
       
    21 
       
    22 #include "umacconnectcontext.h"
       
    23 
       
    24 // ---------------------------------------------------------------------------
       
    25 // 
       
    26 // ---------------------------------------------------------------------------
       
    27 //
       
    28 inline WlanMacState& WlanContextImpl::CurrentState()
       
    29     {
       
    30     return *iCurrentMacState;
       
    31     }
       
    32 
       
    33 // ---------------------------------------------------------------------------
       
    34 // 
       
    35 // ---------------------------------------------------------------------------
       
    36 //
       
    37 inline WHA::SSettings& WlanContextImpl::WHASettings()
       
    38     {
       
    39     return iWHASettings;
       
    40     }
       
    41 
       
    42 // ---------------------------------------------------------------------------
       
    43 // 
       
    44 // ---------------------------------------------------------------------------
       
    45 //
       
    46 inline const WHA::SSettings& WlanContextImpl::WHASettings() const
       
    47     {
       
    48     return iWHASettings;
       
    49     }
       
    50 
       
    51 // ---------------------------------------------------------------------------
       
    52 // 
       
    53 // ---------------------------------------------------------------------------
       
    54 //
       
    55 inline void WlanContextImpl::WHASettings( 
       
    56     const WHA::SSettings& aSSettings )
       
    57     {
       
    58     iWHASettings = aSSettings;
       
    59     }
       
    60 
       
    61 // ---------------------------------------------------------------------------
       
    62 // 
       
    63 // ---------------------------------------------------------------------------
       
    64 //
       
    65 inline SAuthenticationFrame& WlanContextImpl::GetAuthenticationFrame()
       
    66     {
       
    67     return iManagementFrameTemplates.iAuthenticationFrame;
       
    68     }
       
    69 
       
    70 // ---------------------------------------------------------------------------
       
    71 // 
       
    72 // ---------------------------------------------------------------------------
       
    73 //
       
    74 inline SHtAuthenticationFrame& WlanContextImpl::GetHtAuthenticationFrame()
       
    75     {
       
    76     return iManagementFrameTemplates.iHtAuthenticationFrame;
       
    77     }
       
    78 
       
    79 // ---------------------------------------------------------------------------
       
    80 // 
       
    81 // ---------------------------------------------------------------------------
       
    82 //
       
    83 inline SAssociationRequestFrame& 
       
    84 WlanContextImpl::GetAssociationRequestFrame() 
       
    85     {
       
    86     return  iManagementFrameTemplates.iAssociationRequestFrame;
       
    87     }
       
    88 
       
    89 // ---------------------------------------------------------------------------
       
    90 // 
       
    91 // ---------------------------------------------------------------------------
       
    92 //
       
    93 inline SHtAssociationRequestFrame& 
       
    94 WlanContextImpl::GetHtAssociationRequestFrame() 
       
    95     {
       
    96     return  iManagementFrameTemplates.iHtAssociationRequestFrame;
       
    97     }
       
    98 
       
    99 // ---------------------------------------------------------------------------
       
   100 // 
       
   101 // ---------------------------------------------------------------------------
       
   102 //
       
   103 inline SDeauthenticateFrame& WlanContextImpl::GetDeauthenticateFrame() 
       
   104     {
       
   105     return iManagementFrameTemplates.iDeauthenticateFrame;
       
   106     }
       
   107 
       
   108 // ---------------------------------------------------------------------------
       
   109 // 
       
   110 // ---------------------------------------------------------------------------
       
   111 //
       
   112 inline SHtDeauthenticateFrame& WlanContextImpl::GetHtDeauthenticateFrame() 
       
   113     {
       
   114     return iManagementFrameTemplates.iHtDeauthenticateFrame;
       
   115     }
       
   116 
       
   117 // ---------------------------------------------------------------------------
       
   118 // 
       
   119 // ---------------------------------------------------------------------------
       
   120 //
       
   121 inline SDisassociateFrame& WlanContextImpl::GetDisassociationFrame()
       
   122     {
       
   123     return iManagementFrameTemplates.iDisassociationFrame;
       
   124     }
       
   125 
       
   126 // ---------------------------------------------------------------------------
       
   127 // 
       
   128 // ---------------------------------------------------------------------------
       
   129 //
       
   130 inline SHtDisassociateFrame& WlanContextImpl::GetHtDisassociationFrame()
       
   131     {
       
   132     return iManagementFrameTemplates.iHtDisassociationFrame;
       
   133     }
       
   134 
       
   135 // ---------------------------------------------------------------------------
       
   136 // 
       
   137 // ---------------------------------------------------------------------------
       
   138 //
       
   139 inline SReassociationRequestFrame& WlanContextImpl::GetReassociationRequestFrame()
       
   140     {
       
   141     return iManagementFrameTemplates.iReassociationRequestFrame;
       
   142     }
       
   143 
       
   144 // ---------------------------------------------------------------------------
       
   145 // 
       
   146 // ---------------------------------------------------------------------------
       
   147 //
       
   148 inline SHtReassociationRequestFrame& 
       
   149 WlanContextImpl::GetHtReassociationRequestFrame()
       
   150     {
       
   151     return iManagementFrameTemplates.iHtReassociationRequestFrame;
       
   152     }
       
   153 
       
   154 // ---------------------------------------------------------------------------
       
   155 // 
       
   156 // ---------------------------------------------------------------------------
       
   157 //
       
   158 inline SNullDataFrame& WlanContextImpl::NullDataFrame()
       
   159     {
       
   160     return iNullDataFrame;
       
   161     }
       
   162 
       
   163 // ---------------------------------------------------------------------------
       
   164 // 
       
   165 // ---------------------------------------------------------------------------
       
   166 //
       
   167 inline SHtQosNullDataFrame& WlanContextImpl::QosNullDataFrame()
       
   168     {
       
   169     return iQosNullDataFrame;
       
   170     }
       
   171 
       
   172 // ---------------------------------------------------------------------------
       
   173 // 
       
   174 // ---------------------------------------------------------------------------
       
   175 //
       
   176 inline TUint16 WlanContextImpl::QosNullDataFrameLength() const
       
   177     {
       
   178     return ( HtSupportedByNw() ? 
       
   179                 sizeof( SHtQosNullDataFrame ) :
       
   180                 sizeof( SQosNullDataFrame ) );
       
   181     }
       
   182 
       
   183 // ---------------------------------------------------------------------------
       
   184 // 
       
   185 // ---------------------------------------------------------------------------
       
   186 //
       
   187 inline SDataFrameHeader& WlanContextImpl::GetDataFrameHeader() 
       
   188     {
       
   189     return iDataFrameHeader;
       
   190     }
       
   191 
       
   192 // ---------------------------------------------------------------------------
       
   193 // 
       
   194 // ---------------------------------------------------------------------------
       
   195 //
       
   196 inline TWlanUserTxDataCntx& WlanContextImpl::GetTxDataCntx()
       
   197     {
       
   198     return iTxDataCntx;
       
   199     }
       
   200 
       
   201 // ---------------------------------------------------------------------------
       
   202 // 
       
   203 // ---------------------------------------------------------------------------
       
   204 //
       
   205 inline const TWlanUserTxDataCntx& WlanContextImpl::GetTxDataCntx() const
       
   206     {
       
   207     return iTxDataCntx;
       
   208     }
       
   209 
       
   210 // ---------------------------------------------------------------------------
       
   211 // 
       
   212 // ---------------------------------------------------------------------------
       
   213 //
       
   214 inline TWlanUserTxDataCntx& WlanContextImpl::GetMgmtTxDataCntx()
       
   215     {
       
   216     return iMgmtTxDataCntx;
       
   217     }
       
   218 
       
   219 // ---------------------------------------------------------------------------
       
   220 // 
       
   221 // ---------------------------------------------------------------------------
       
   222 //
       
   223 inline void WlanContextImpl::ResetAuthSeqNmbrExpected()
       
   224     {
       
   225     iAuthSeqNmbrExpected.Reset();
       
   226     }
       
   227 
       
   228 // ---------------------------------------------------------------------------
       
   229 // 
       
   230 // ---------------------------------------------------------------------------
       
   231 //
       
   232 inline void WlanContextImpl::TxRatePolicy(
       
   233     WHA::TQueueId aQueueId,
       
   234     TBool aUseSpecialRatePolicy,
       
   235     WHA::TRate& aRate, 
       
   236     TUint8& aPolicyId ) const
       
   237     {
       
   238     return iTxRateAdaptation.RatePolicy( 
       
   239         *this, 
       
   240         aQueueId, 
       
   241         aUseSpecialRatePolicy, 
       
   242         aRate, 
       
   243         aPolicyId );
       
   244     }
       
   245 
       
   246 // ---------------------------------------------------------------------------
       
   247 // 
       
   248 // ---------------------------------------------------------------------------
       
   249 //
       
   250 inline TMacAddress& WlanContextImpl::GetBssId() 
       
   251     {
       
   252     return iConnectContext.iBSSID;
       
   253     }
       
   254 
       
   255 // ---------------------------------------------------------------------------
       
   256 // 
       
   257 // ---------------------------------------------------------------------------
       
   258 //
       
   259 inline void WlanContextImpl::Aid( const TUint32 aAid )
       
   260     {
       
   261     iConnectContext.iAid = aAid;
       
   262     }
       
   263 
       
   264 // ---------------------------------------------------------------------------
       
   265 // 
       
   266 // ---------------------------------------------------------------------------
       
   267 //
       
   268 inline TUint32 WlanContextImpl::Aid() const
       
   269     {
       
   270     return iConnectContext.iAid;
       
   271     }
       
   272 
       
   273 // ---------------------------------------------------------------------------
       
   274 // 
       
   275 // ---------------------------------------------------------------------------
       
   276 //
       
   277 inline void WlanContextImpl::AtimWindow( const TUint32 aAtimWindow )
       
   278     {
       
   279     iConnectContext.iAtim = aAtimWindow;
       
   280     }
       
   281 
       
   282 // ---------------------------------------------------------------------------
       
   283 // 
       
   284 // ---------------------------------------------------------------------------
       
   285 //
       
   286 inline TUint32 WlanContextImpl::AtimWindow() const
       
   287     {
       
   288     return iConnectContext.iAtim;
       
   289     }
       
   290 
       
   291 // ---------------------------------------------------------------------------
       
   292 // 
       
   293 // ---------------------------------------------------------------------------
       
   294 //
       
   295 inline TSSID& WlanContextImpl::GetSsId()
       
   296     {
       
   297     return iConnectContext.iSSID;
       
   298     }
       
   299 
       
   300 // ---------------------------------------------------------------------------
       
   301 // 
       
   302 // ---------------------------------------------------------------------------
       
   303 //
       
   304 inline TEncryptionStatus& WlanContextImpl::EncryptionStatus() 
       
   305     {
       
   306     return iConnectContext.iEncryptionStatus;
       
   307     }
       
   308 
       
   309 // ---------------------------------------------------------------------------
       
   310 // 
       
   311 // ---------------------------------------------------------------------------
       
   312 //
       
   313 inline TUint16& WlanContextImpl::AuthenticationAlgorithmNumber()
       
   314     {
       
   315     return iConnectContext.iAuthAlgorithmNbr;
       
   316     }
       
   317 
       
   318 // ---------------------------------------------------------------------------
       
   319 // 
       
   320 // ---------------------------------------------------------------------------
       
   321 //
       
   322 inline void WlanContextImpl::OnTxCompleted( 
       
   323     const TUint32 aRate, 
       
   324     const TBool aSuccess,
       
   325     WHA::TQueueId aQueueId,
       
   326     WHA::TRate aRequestedRate )
       
   327     {
       
   328     if ( !( WHASettings().iCapability & 
       
   329          WHA::SSettings::KAutonomousRateAdapt ) )
       
   330         {
       
   331         // as autonomous rate adaptation is not being used, inform our own
       
   332         // rate adaptation object about Tx completion
       
   333         iTxRateAdaptation.OnTxCompleted( aRate, aSuccess, aQueueId, 
       
   334             aRequestedRate );        
       
   335         }
       
   336     }
       
   337 
       
   338 // ---------------------------------------------------------------------------
       
   339 // 
       
   340 // ---------------------------------------------------------------------------
       
   341 //
       
   342 inline void WlanContextImpl::CancelTimer()
       
   343     {
       
   344     iUmac.CancelTimeout();
       
   345     }
       
   346 
       
   347 // ---------------------------------------------------------------------------
       
   348 // 
       
   349 // ---------------------------------------------------------------------------
       
   350 //
       
   351 inline TUint8 WlanContextImpl::GetAuthSeqNmbrExpected() const
       
   352     {
       
   353     return iAuthSeqNmbrExpected.GetAuthSeqNmbrExpected();
       
   354     }
       
   355 
       
   356 // ---------------------------------------------------------------------------
       
   357 // 
       
   358 // ---------------------------------------------------------------------------
       
   359 //
       
   360 inline SSupportedRatesIE& WlanContextImpl::GetOurSupportedRatesIE()
       
   361     {
       
   362     return iConnectContext.iOurSupportedRates;
       
   363     }
       
   364 
       
   365 // ---------------------------------------------------------------------------
       
   366 // 
       
   367 // ---------------------------------------------------------------------------
       
   368 //
       
   369 inline SExtendedSupportedRatesIE& WlanContextImpl::GetOurExtendedSupportedRatesIE()
       
   370     {
       
   371     return iConnectContext.iOurExtendedSupportedRates;
       
   372     }
       
   373 
       
   374 // ---------------------------------------------------------------------------
       
   375 // 
       
   376 // ---------------------------------------------------------------------------
       
   377 //
       
   378 inline void WlanContextImpl::SetScanResponseFrameBody( const TUint8* aBody )
       
   379     {
       
   380     iConnectContext.iScanResponseFrameBody = aBody;
       
   381     }
       
   382 
       
   383 // ---------------------------------------------------------------------------
       
   384 // 
       
   385 // ---------------------------------------------------------------------------
       
   386 //
       
   387 inline const TUint8* WlanContextImpl::ScanResponseFrameBody() const
       
   388     {
       
   389     return iConnectContext.iScanResponseFrameBody;
       
   390     }
       
   391 
       
   392 // ---------------------------------------------------------------------------
       
   393 // 
       
   394 // ---------------------------------------------------------------------------
       
   395 //
       
   396 inline void WlanContextImpl::SetScanResponseFrameBodyLength( TUint16 aLength )
       
   397     {
       
   398     iConnectContext.iScanResponseFrameBodyLength = aLength;
       
   399     }
       
   400 
       
   401 // ---------------------------------------------------------------------------
       
   402 // 
       
   403 // ---------------------------------------------------------------------------
       
   404 //
       
   405 inline const TUint16 WlanContextImpl::ScanResponseFrameBodyLength() const
       
   406     {
       
   407     return iConnectContext.iScanResponseFrameBodyLength;
       
   408     }
       
   409 
       
   410 // ---------------------------------------------------------------------------
       
   411 // 
       
   412 // ---------------------------------------------------------------------------
       
   413 //
       
   414 inline void WlanContextImpl::IeData( const TUint8* aIeData )
       
   415     {
       
   416     iConnectContext.iIeData = aIeData;
       
   417     }
       
   418 
       
   419 // ---------------------------------------------------------------------------
       
   420 // 
       
   421 // ---------------------------------------------------------------------------
       
   422 //
       
   423 inline const TUint8* WlanContextImpl::IeData() const
       
   424     {
       
   425     return iConnectContext.iIeData;
       
   426     }
       
   427 
       
   428 // ---------------------------------------------------------------------------
       
   429 // 
       
   430 // ---------------------------------------------------------------------------
       
   431 //
       
   432 inline void WlanContextImpl::IeDataLength( TUint16 aIeDataLength )
       
   433     {
       
   434     iConnectContext.iIeDataLength = aIeDataLength;    
       
   435     }
       
   436 
       
   437 // ---------------------------------------------------------------------------
       
   438 // 
       
   439 // ---------------------------------------------------------------------------
       
   440 //
       
   441 inline TBool WlanContextImpl::RadioMeasurement() const
       
   442     {
       
   443     return iConnectContext.iRadioMeasurement;
       
   444     }
       
   445 
       
   446 // ---------------------------------------------------------------------------
       
   447 // 
       
   448 // ---------------------------------------------------------------------------
       
   449 //
       
   450 inline void WlanContextImpl::RadioMeasurement( TBool aRadioMeasurement )
       
   451     {
       
   452     iConnectContext.iRadioMeasurement = aRadioMeasurement;    
       
   453     }
       
   454 // ---------------------------------------------------------------------------
       
   455 // 
       
   456 // ---------------------------------------------------------------------------
       
   457 //
       
   458 inline TUint16 WlanContextImpl::IeDataLength() const
       
   459     {
       
   460     return iConnectContext.iIeDataLength;
       
   461     }
       
   462 
       
   463 // ---------------------------------------------------------------------------
       
   464 // 
       
   465 // ---------------------------------------------------------------------------
       
   466 //
       
   467 inline void WlanContextImpl::SetActivePrivacyModeFilter(
       
   468     WlanContextImpl& /*aCtxImpl*/,                                                            
       
   469     TEncryptionStatus aEncryptionStatus )
       
   470     {
       
   471     iPrivacyModeFilters.SetActiveFilter( aEncryptionStatus );
       
   472     }
       
   473 
       
   474 // ---------------------------------------------------------------------------
       
   475 // 
       
   476 // ---------------------------------------------------------------------------
       
   477 //
       
   478 inline TBool WlanContextImpl::ExecuteActivePrivacyModeFilter(
       
   479     const SDataFrameHeader& aFrameheader, 
       
   480     TBool aUserDataEnabled, 
       
   481     TUint16 aEthernetType,
       
   482     TBool aUnicastKeyExists, 
       
   483     TBool aAesOrTkipOrWapiEncrypted ) const
       
   484     {
       
   485     return iPrivacyModeFilters.ExecuteFilter(
       
   486         aFrameheader, 
       
   487         aUserDataEnabled, 
       
   488         aEthernetType,
       
   489         aUnicastKeyExists, 
       
   490         aAesOrTkipOrWapiEncrypted );    
       
   491     }
       
   492 
       
   493 // ---------------------------------------------------------------------------
       
   494 // 
       
   495 // ---------------------------------------------------------------------------
       
   496 //
       
   497 inline SCapabilityInformationField& 
       
   498 WlanContextImpl::GetCapabilityInformation() 
       
   499     {
       
   500     return iConnectContext.iCapabilityInformation;
       
   501     }
       
   502 
       
   503 // ---------------------------------------------------------------------------
       
   504 // 
       
   505 // ---------------------------------------------------------------------------
       
   506 //
       
   507 inline TBool WlanContextImpl::OnConsecutiveBeaconsLost()
       
   508     {
       
   509     TBool ret( EFalse );
       
   510 
       
   511     if ( !iConsecutiveBeaconsLostIndicated )
       
   512         {
       
   513         iConsecutiveBeaconsLostIndicated = ETrue;
       
   514         ret = ETrue;        
       
   515         }
       
   516 
       
   517     return ret;
       
   518     }
       
   519 
       
   520 // ---------------------------------------------------------------------------
       
   521 // 
       
   522 // ---------------------------------------------------------------------------
       
   523 //
       
   524 inline TBool WlanContextImpl::OnConsecutiveTxFailures()
       
   525     {
       
   526     TBool ret( EFalse );
       
   527 
       
   528     if ( !iConsecutiveTxFailuresIndicated )
       
   529         {
       
   530         iConsecutiveTxFailuresIndicated = ETrue;
       
   531         ret = ETrue;        
       
   532         }
       
   533 
       
   534     return ret;
       
   535     }
       
   536 
       
   537 // ---------------------------------------------------------------------------
       
   538 // 
       
   539 // ---------------------------------------------------------------------------
       
   540 //
       
   541 inline TBool WlanContextImpl::OnConsecutivePwrModeSetFailures()
       
   542     {
       
   543     TBool ret( EFalse );
       
   544 
       
   545     if ( !iConsecutivePwrModeSetFailuresIndicated )
       
   546         {
       
   547         iConsecutivePwrModeSetFailuresIndicated = ETrue;
       
   548         ret = ETrue;        
       
   549         }
       
   550 
       
   551     return ret;
       
   552     }
       
   553 
       
   554 // ---------------------------------------------------------------------------
       
   555 // 
       
   556 // ---------------------------------------------------------------------------
       
   557 //
       
   558 inline void WlanContextImpl::ResetBssLossIndications()
       
   559     {
       
   560     iConsecutiveBeaconsLostIndicated = EFalse;
       
   561     iConsecutiveTxFailuresIndicated = EFalse;
       
   562     iConsecutivePwrModeSetFailuresIndicated = EFalse;
       
   563     }
       
   564 
       
   565 // ---------------------------------------------------------------------------
       
   566 // 
       
   567 // ---------------------------------------------------------------------------
       
   568 //
       
   569 inline SSupportedRatesIE& WlanContextImpl::GetApSupportedRatesIE() 
       
   570     {
       
   571     return iConnectContext.iApSupportedRates;
       
   572     }
       
   573 
       
   574 // ---------------------------------------------------------------------------
       
   575 // 
       
   576 // ---------------------------------------------------------------------------
       
   577 //
       
   578 inline SExtendedSupportedRatesIE& WlanContextImpl::GetApExtendedSupportedRatesIE() 
       
   579     {
       
   580     return iConnectContext.iApExtendedSupportedRates;
       
   581     }
       
   582 
       
   583 // ---------------------------------------------------------------------------
       
   584 // 
       
   585 // ---------------------------------------------------------------------------
       
   586 //
       
   587 inline void WlanContextImpl::ResetTxRateAdaptation()
       
   588     {
       
   589     iTxRateAdaptation.Reset();
       
   590     }
       
   591 
       
   592 // ---------------------------------------------------------------------------
       
   593 // 
       
   594 // ---------------------------------------------------------------------------
       
   595 //
       
   596 inline TUint32& WlanContextImpl::GetMinBasicRate()
       
   597     {
       
   598     return iConnectContext.iNwsaMinBasicRate;
       
   599     }
       
   600 
       
   601 // ---------------------------------------------------------------------------
       
   602 // 
       
   603 // ---------------------------------------------------------------------------
       
   604 //
       
   605 inline TUint32& WlanContextImpl::GetMaxBasicRate()
       
   606     {
       
   607     return iConnectContext.iNwsaMaxBasicRate;
       
   608     }
       
   609 
       
   610 // ---------------------------------------------------------------------------
       
   611 // 
       
   612 // ---------------------------------------------------------------------------
       
   613 //
       
   614 inline void WlanContextImpl::ClearBasicRateSet()
       
   615     {
       
   616     iConnectContext.iNwsaBasicRateSet = 0;
       
   617     }
       
   618 
       
   619 // ---------------------------------------------------------------------------
       
   620 // 
       
   621 // ---------------------------------------------------------------------------
       
   622 //
       
   623 inline void WlanContextImpl::BasicRateSetBitSet( 
       
   624     const TUint32 aRateBitToSet )
       
   625     {
       
   626     iConnectContext.iNwsaBasicRateSet |= aRateBitToSet;
       
   627     }
       
   628 
       
   629 // ---------------------------------------------------------------------------
       
   630 // 
       
   631 // ---------------------------------------------------------------------------
       
   632 //
       
   633 inline TUint32 WlanContextImpl::BasicRateSet() const
       
   634     {
       
   635     return iConnectContext.iNwsaBasicRateSet;
       
   636     }
       
   637 
       
   638 // ---------------------------------------------------------------------------
       
   639 // 
       
   640 // ---------------------------------------------------------------------------
       
   641 //
       
   642 inline WHA::TOperationMode WlanContextImpl::NetworkOperationMode() const
       
   643     {
       
   644     return iConnectContext.iOperationMode;
       
   645     }
       
   646 
       
   647 // ---------------------------------------------------------------------------
       
   648 // 
       
   649 // ---------------------------------------------------------------------------
       
   650 //
       
   651 inline void WlanContextImpl::NetworkOperationMode( 
       
   652     WHA::TOperationMode aOperationMode )
       
   653     {
       
   654     iConnectContext.iOperationMode = aOperationMode;
       
   655     }
       
   656 
       
   657 // ---------------------------------------------------------------------------
       
   658 // 
       
   659 // ---------------------------------------------------------------------------
       
   660 //
       
   661 inline void WlanContextImpl::GroupKeyType( 
       
   662     WHA::TKeyType aKeyType )
       
   663     {
       
   664     iConnectContext.iGroupKeyType = aKeyType;
       
   665     }
       
   666 
       
   667 // ---------------------------------------------------------------------------
       
   668 // 
       
   669 // ---------------------------------------------------------------------------
       
   670 //
       
   671 inline WHA::TKeyType WlanContextImpl::GroupKeyType() const
       
   672     {
       
   673     return iConnectContext.iGroupKeyType;
       
   674     }
       
   675 
       
   676 // ---------------------------------------------------------------------------
       
   677 // 
       
   678 // ---------------------------------------------------------------------------
       
   679 //
       
   680 inline void WlanContextImpl::PairWiseKeyType( 
       
   681     WHA::TKeyType aKeyType )
       
   682     {
       
   683     iConnectContext.iPairWiseKeyType = aKeyType;
       
   684     }
       
   685 
       
   686 // ---------------------------------------------------------------------------
       
   687 // 
       
   688 // ---------------------------------------------------------------------------
       
   689 //
       
   690 inline WHA::TKeyType WlanContextImpl::PairWiseKeyType() const
       
   691     {
       
   692     return iConnectContext.iPairWiseKeyType;
       
   693     }
       
   694 
       
   695 // ---------------------------------------------------------------------------
       
   696 // 
       
   697 // ---------------------------------------------------------------------------
       
   698 //
       
   699 inline void WlanContextImpl::PairwiseCipher( TWlanCipherSuite aCipherSuite )
       
   700     {
       
   701     iConnectContext.iPairwiseCipher = aCipherSuite;
       
   702     }
       
   703 
       
   704 // ---------------------------------------------------------------------------
       
   705 // 
       
   706 // ---------------------------------------------------------------------------
       
   707 //
       
   708 inline TWlanCipherSuite WlanContextImpl::PairwiseCipher() const
       
   709     {
       
   710     return iConnectContext.iPairwiseCipher;
       
   711     }
       
   712 
       
   713 // ---------------------------------------------------------------------------
       
   714 // 
       
   715 // ---------------------------------------------------------------------------
       
   716 //
       
   717 inline WHA::TChannelNumber WlanContextImpl::NetworkChannelNumeber() const
       
   718     {
       
   719     return iConnectContext.iChannelNumber;
       
   720     }
       
   721 
       
   722 // ---------------------------------------------------------------------------
       
   723 // 
       
   724 // ---------------------------------------------------------------------------
       
   725 //
       
   726 inline void WlanContextImpl::NetworkChannelNumeber( 
       
   727     WHA::TChannelNumber aChannelNumber )
       
   728     {
       
   729     iConnectContext.iChannelNumber = aChannelNumber;
       
   730     }
       
   731 
       
   732 // ---------------------------------------------------------------------------
       
   733 // 
       
   734 // ---------------------------------------------------------------------------
       
   735 //
       
   736 inline TUint32 WlanContextImpl::NetworkBeaconInterval() const
       
   737     {
       
   738     return iConnectContext.iBeaconInterval;
       
   739     }
       
   740 
       
   741 // ---------------------------------------------------------------------------
       
   742 // 
       
   743 // ---------------------------------------------------------------------------
       
   744 //
       
   745 inline void WlanContextImpl::NetworkBeaconInterval( 
       
   746     TUint32 aBeaconInterval )
       
   747     {
       
   748     iConnectContext.iBeaconInterval = aBeaconInterval;
       
   749     }
       
   750 
       
   751 // ---------------------------------------------------------------------------
       
   752 // 
       
   753 // ---------------------------------------------------------------------------
       
   754 //
       
   755 inline WHA::TPsMode WlanContextImpl::DesiredDot11PwrMgmtMode() const
       
   756     {
       
   757     return iConnectContext.iDesiredDot11PwrMgmtMode;
       
   758     }
       
   759 
       
   760 // ---------------------------------------------------------------------------
       
   761 // 
       
   762 // ---------------------------------------------------------------------------
       
   763 //
       
   764 inline void WlanContextImpl::DesiredDot11PwrMgmtMode( 
       
   765     WHA::TPsMode aPsMode )
       
   766     {
       
   767     iConnectContext.iDesiredDot11PwrMgmtMode = aPsMode;
       
   768     }
       
   769 
       
   770 // ---------------------------------------------------------------------------
       
   771 // 
       
   772 // ---------------------------------------------------------------------------
       
   773 //
       
   774 inline WHA::TPsMode WlanContextImpl::CurrentDot11PwrMgmtMode() const
       
   775     {
       
   776     return iConnectContext.iCurrentDot11PwrMgmtMode;
       
   777     }
       
   778 
       
   779 // ---------------------------------------------------------------------------
       
   780 // 
       
   781 // ---------------------------------------------------------------------------
       
   782 //
       
   783 inline void WlanContextImpl::CurrentDot11PwrMgmtMode( 
       
   784     WHA::TPsMode aPsMode )
       
   785     {
       
   786     iConnectContext.iCurrentDot11PwrMgmtMode = aPsMode;
       
   787     }
       
   788 
       
   789 // ---------------------------------------------------------------------------
       
   790 // 
       
   791 // ---------------------------------------------------------------------------
       
   792 //
       
   793 inline const TDot11PsModeWakeupSetting& 
       
   794     WlanContextImpl::DesiredPsModeConfig() const
       
   795     {
       
   796     return iConnectContext.iDesiredPsModeConfig;
       
   797     }
       
   798 
       
   799 // ---------------------------------------------------------------------------
       
   800 // 
       
   801 // ---------------------------------------------------------------------------
       
   802 //
       
   803 inline void WlanContextImpl::SetDesiredPsModeConfig(
       
   804     const TDot11PsModeWakeupSetting& aPsModeWakeupSetting )
       
   805     {
       
   806     iConnectContext.iDesiredPsModeConfig = aPsModeWakeupSetting;
       
   807     }
       
   808 
       
   809 // ---------------------------------------------------------------------------
       
   810 // 
       
   811 // ---------------------------------------------------------------------------
       
   812 //
       
   813 inline WHA::TPsMode WlanContextImpl::ClientDot11PwrMgmtMode() const
       
   814     {
       
   815     return iConnectContext.iClientDesiredDot11PwrMgtMode;
       
   816     }
       
   817 
       
   818 // ---------------------------------------------------------------------------
       
   819 // 
       
   820 // ---------------------------------------------------------------------------
       
   821 //
       
   822 inline void WlanContextImpl::ClientDot11PwrMgmtMode( 
       
   823     TPowerMode aPsMode )
       
   824     {
       
   825     iConnectContext.iClientDesiredDot11PwrMgtMode = 
       
   826         static_cast<WHA::TPsMode>(aPsMode);
       
   827     }
       
   828 
       
   829 // ---------------------------------------------------------------------------
       
   830 // 
       
   831 // ---------------------------------------------------------------------------
       
   832 //
       
   833 inline const TDot11PsModeWakeupSetting& 
       
   834     WlanContextImpl::ClientLightPsModeConfig() const
       
   835     {
       
   836     return iConnectContext.iClientLightPsModeConfig;
       
   837     }
       
   838 
       
   839 // ---------------------------------------------------------------------------
       
   840 // 
       
   841 // ---------------------------------------------------------------------------
       
   842 //
       
   843 inline void WlanContextImpl::SetClientLightPsModeConfig( 
       
   844     TWlanWakeUpInterval aWakeupMode, 
       
   845     TUint8 aListenInterval )
       
   846     {
       
   847     iConnectContext.iClientLightPsModeConfig.iWakeupMode = aWakeupMode;
       
   848     iConnectContext.iClientLightPsModeConfig.iListenInterval = aListenInterval;
       
   849     }
       
   850 
       
   851 // ---------------------------------------------------------------------------
       
   852 // 
       
   853 // ---------------------------------------------------------------------------
       
   854 //
       
   855 inline const TDot11PsModeWakeupSetting&
       
   856     WlanContextImpl::ClientDeepPsModeConfig() const
       
   857     {
       
   858     return iConnectContext.iClientDeepPsModeConfig;
       
   859     }
       
   860 
       
   861 // ---------------------------------------------------------------------------
       
   862 // 
       
   863 // ---------------------------------------------------------------------------
       
   864 //
       
   865 inline void WlanContextImpl::SetClientDeepPsModeConfig( 
       
   866     TWlanWakeUpInterval aWakeupMode, 
       
   867     TUint8 aListenInterval )
       
   868     {
       
   869     iConnectContext.iClientDeepPsModeConfig.iWakeupMode = aWakeupMode;
       
   870     iConnectContext.iClientDeepPsModeConfig.iListenInterval = aListenInterval;
       
   871     }
       
   872 
       
   873 // ---------------------------------------------------------------------------
       
   874 // 
       
   875 // ---------------------------------------------------------------------------
       
   876 //
       
   877 inline TBool WlanContextImpl::DynamicPwrModeMgtDisabled() const
       
   878     {
       
   879     return ( iConnectContext.iFlags & 
       
   880              WlanConnectContext::KDynamicPwrModeMgmtDisabled );
       
   881     }
       
   882 
       
   883 // ---------------------------------------------------------------------------
       
   884 // 
       
   885 // ---------------------------------------------------------------------------
       
   886 //
       
   887 inline TBool WlanContextImpl::UseShortPreamble() const
       
   888     {
       
   889     return (iConnectContext.iFlags & WlanConnectContext::KUseShortPreamble);
       
   890     }
       
   891 
       
   892 // ---------------------------------------------------------------------------
       
   893 // 
       
   894 // ---------------------------------------------------------------------------
       
   895 //
       
   896 inline TBool WlanContextImpl::Reassociate() const
       
   897     {
       
   898     return (iConnectContext.iFlags & WlanConnectContext::KReassociate);
       
   899     }
       
   900 
       
   901 // ---------------------------------------------------------------------------
       
   902 // 
       
   903 // ---------------------------------------------------------------------------
       
   904 //
       
   905 inline TBool WlanContextImpl::UseShortSlotTime() const
       
   906     {
       
   907     return (iConnectContext.iFlags & WlanConnectContext::KUseShortSlotTime);
       
   908     }
       
   909 
       
   910 // ---------------------------------------------------------------------------
       
   911 // 
       
   912 // ---------------------------------------------------------------------------
       
   913 //
       
   914 inline TBool WlanContextImpl::ProtectionBitSet() const
       
   915     {
       
   916     return (iConnectContext.iFlags & WlanConnectContext::KProtectionBitSet);
       
   917     }
       
   918 
       
   919 // ---------------------------------------------------------------------------
       
   920 // 
       
   921 // ---------------------------------------------------------------------------
       
   922 //
       
   923 inline TBool WlanContextImpl::QosEnabled() const
       
   924     {
       
   925     return (iConnectContext.iFlags & WlanConnectContext::KQosEnabled);
       
   926     }
       
   927     
       
   928 // ---------------------------------------------------------------------------
       
   929 // 
       
   930 // ---------------------------------------------------------------------------
       
   931 //
       
   932 inline TBool WlanContextImpl::UapsdEnabled() const
       
   933     {
       
   934     return (iConnectContext.iFlags & WlanConnectContext::KUapsdEnabled);
       
   935     }
       
   936 
       
   937 // ---------------------------------------------------------------------------
       
   938 // 
       
   939 // ---------------------------------------------------------------------------
       
   940 //
       
   941 inline TBool WlanContextImpl::MulticastFilteringDisAllowed() const
       
   942     {
       
   943     return (iConnectContext.iFlags & WlanConnectContext::KMulticastFilteringDisAllowed);    
       
   944     }
       
   945 
       
   946 // ---------------------------------------------------------------------------
       
   947 // 
       
   948 // ---------------------------------------------------------------------------
       
   949 //
       
   950 inline TBool WlanContextImpl::ErpIePresent() const
       
   951     {
       
   952     return (iConnectContext.iFlags & WlanConnectContext::KErpIePresent);
       
   953     }
       
   954 
       
   955 // ---------------------------------------------------------------------------
       
   956 // 
       
   957 // ---------------------------------------------------------------------------
       
   958 //
       
   959 inline TBool WlanContextImpl::DisassociatedByAp() const
       
   960     {
       
   961     return (iConnectContext.iFlags & WlanConnectContext::KDisassociatedByAp);
       
   962     }
       
   963 
       
   964 // ---------------------------------------------------------------------------
       
   965 // 
       
   966 // ---------------------------------------------------------------------------
       
   967 //
       
   968 inline TBool WlanContextImpl::UapsdRequestedForVoice() const
       
   969     {
       
   970     return ( iConnectContext.iFlags & 
       
   971              WlanConnectContext::KUapsdRequestedForVoice );
       
   972     }
       
   973 
       
   974 // ---------------------------------------------------------------------------
       
   975 // 
       
   976 // ---------------------------------------------------------------------------
       
   977 //
       
   978 inline TBool WlanContextImpl::UapsdRequestedForVideo() const
       
   979     {
       
   980     return ( iConnectContext.iFlags & 
       
   981              WlanConnectContext::KUapsdRequestedForVideo );
       
   982     }
       
   983 
       
   984 // ---------------------------------------------------------------------------
       
   985 // 
       
   986 // ---------------------------------------------------------------------------
       
   987 //
       
   988 inline TBool WlanContextImpl::UapsdRequestedForBestEffort() const
       
   989     {
       
   990     return ( iConnectContext.iFlags & 
       
   991              WlanConnectContext::KUapsdRequestedForBestEffort );
       
   992     }
       
   993 
       
   994 // ---------------------------------------------------------------------------
       
   995 // 
       
   996 // ---------------------------------------------------------------------------
       
   997 //
       
   998 inline TBool WlanContextImpl::UapsdRequestedForBackground() const
       
   999     {
       
  1000     return ( iConnectContext.iFlags & 
       
  1001              WlanConnectContext::KUapsdRequestedForBackground );
       
  1002     }
       
  1003 
       
  1004 // ---------------------------------------------------------------------------
       
  1005 // 
       
  1006 // ---------------------------------------------------------------------------
       
  1007 //
       
  1008 inline TBool WlanContextImpl::UapsdUsedForVoice() const
       
  1009     {
       
  1010     return ( iConnectContext.iFlags & 
       
  1011              WlanConnectContext::KUapsdUsedForVoice );
       
  1012     }
       
  1013 
       
  1014 // ---------------------------------------------------------------------------
       
  1015 // 
       
  1016 // ---------------------------------------------------------------------------
       
  1017 //
       
  1018 inline TBool WlanContextImpl::UapsdUsedForVideo() const
       
  1019     {
       
  1020     return ( iConnectContext.iFlags & 
       
  1021              WlanConnectContext::KUapsdUsedForVideo );
       
  1022     }
       
  1023 
       
  1024 // ---------------------------------------------------------------------------
       
  1025 // 
       
  1026 // ---------------------------------------------------------------------------
       
  1027 //
       
  1028 inline TBool WlanContextImpl::UapsdUsedForBestEffort() const
       
  1029     {
       
  1030     return ( iConnectContext.iFlags & 
       
  1031              WlanConnectContext::KUapsdUsedForBestEffort );
       
  1032     }
       
  1033 
       
  1034 // ---------------------------------------------------------------------------
       
  1035 // 
       
  1036 // ---------------------------------------------------------------------------
       
  1037 //
       
  1038 inline TBool WlanContextImpl::UapsdUsedForBackground() const
       
  1039     {
       
  1040     return ( iConnectContext.iFlags & 
       
  1041              WlanConnectContext::KUapsdUsedForBackground );
       
  1042     }
       
  1043 
       
  1044 // ---------------------------------------------------------------------------
       
  1045 // 
       
  1046 // ---------------------------------------------------------------------------
       
  1047 //
       
  1048 inline TBool WlanContextImpl::ApTestOpportunitySeekStarted() const
       
  1049     {
       
  1050     return ( iConnectContext.iFlags & 
       
  1051              WlanConnectContext::KApTestOpportunitySeekStarted );
       
  1052     }
       
  1053 
       
  1054 // ---------------------------------------------------------------------------
       
  1055 // 
       
  1056 // ---------------------------------------------------------------------------
       
  1057 //
       
  1058 inline TBool WlanContextImpl::ApTestOpportunityIndicated() const
       
  1059     {
       
  1060     return ( iConnectContext.iFlags & 
       
  1061              WlanConnectContext::KApTestOpportunityIndicated );
       
  1062     }
       
  1063 
       
  1064 // ---------------------------------------------------------------------------
       
  1065 // 
       
  1066 // ---------------------------------------------------------------------------
       
  1067 //
       
  1068 inline TBool WlanContextImpl::HtSupportedByNw() const
       
  1069     {
       
  1070     return ( iConnectContext.iFlags & 
       
  1071              WlanConnectContext::KHtSupportedByNw );    
       
  1072     }
       
  1073 
       
  1074 // ---------------------------------------------------------------------------
       
  1075 // 
       
  1076 // ---------------------------------------------------------------------------
       
  1077 //
       
  1078 inline TUint8 WlanContextImpl::WmmParameterSetCount() const
       
  1079     {
       
  1080     return iConnectContext.iWmmParamSetCount;
       
  1081     }
       
  1082 
       
  1083 // ---------------------------------------------------------------------------
       
  1084 // 
       
  1085 // ---------------------------------------------------------------------------
       
  1086 //
       
  1087 inline void WlanContextImpl::WmmParameterSetCount( TUint8 aValue )
       
  1088     {
       
  1089     iConnectContext.iWmmParamSetCount = aValue;
       
  1090     }
       
  1091 
       
  1092 // ---------------------------------------------------------------------------
       
  1093 // 
       
  1094 // ---------------------------------------------------------------------------
       
  1095 //
       
  1096 inline TUint32 WlanContextImpl::RateBitMask() const
       
  1097     {
       
  1098     return iConnectContext.iRateBitMask;
       
  1099     }
       
  1100     
       
  1101 // ---------------------------------------------------------------------------
       
  1102 // 
       
  1103 // ---------------------------------------------------------------------------
       
  1104 //
       
  1105 inline void WlanContextImpl::RateBitMask( TUint32 aValue )
       
  1106     {
       
  1107     iConnectContext.iRateBitMask = aValue;
       
  1108     }
       
  1109     
       
  1110 // ---------------------------------------------------------------------------
       
  1111 // 
       
  1112 // ---------------------------------------------------------------------------
       
  1113 //
       
  1114 inline TCwMinVector& WlanContextImpl::CwMinVector()
       
  1115     {
       
  1116     return iConnectContext.iCwMin;
       
  1117     }
       
  1118 
       
  1119 // ---------------------------------------------------------------------------
       
  1120 // 
       
  1121 // ---------------------------------------------------------------------------
       
  1122 //
       
  1123 inline TCwMaxVector& WlanContextImpl::CwMaxVector()
       
  1124     {
       
  1125     return iConnectContext.iCwMax;    
       
  1126     }
       
  1127 
       
  1128 // ---------------------------------------------------------------------------
       
  1129 // 
       
  1130 // ---------------------------------------------------------------------------
       
  1131 //
       
  1132 inline TAifsVector& WlanContextImpl::AifsVector()
       
  1133     {
       
  1134     return iConnectContext.iAIFS;
       
  1135     }
       
  1136 
       
  1137 // ---------------------------------------------------------------------------
       
  1138 // 
       
  1139 // ---------------------------------------------------------------------------
       
  1140 //
       
  1141 inline TTxOplimitVector& WlanContextImpl::TxOplimitVector()
       
  1142     {
       
  1143     return iConnectContext.iTxOplimit;
       
  1144     }
       
  1145 
       
  1146 // ---------------------------------------------------------------------------
       
  1147 // 
       
  1148 // ---------------------------------------------------------------------------
       
  1149 //
       
  1150 inline TAcmVector& WlanContextImpl::AcmVector()
       
  1151     {
       
  1152     return iConnectContext.iAdmCtrlMandatory;
       
  1153     }
       
  1154 
       
  1155 // ---------------------------------------------------------------------------
       
  1156 // 
       
  1157 // ---------------------------------------------------------------------------
       
  1158 //
       
  1159 inline STxWmmIE& WlanContextImpl::OurWmmIe()
       
  1160     {
       
  1161     return iConnectContext.iOurWmmIe;
       
  1162     }
       
  1163 
       
  1164 // ---------------------------------------------------------------------------
       
  1165 // 
       
  1166 // ---------------------------------------------------------------------------
       
  1167 //
       
  1168 inline TTxRatePolicy& WlanContextImpl::RatePolicy()
       
  1169     {
       
  1170     return iConnectContext.iRatePolicy;
       
  1171     }
       
  1172 
       
  1173 // ---------------------------------------------------------------------------
       
  1174 // 
       
  1175 // ---------------------------------------------------------------------------
       
  1176 //
       
  1177 inline TQueue2RateClass& WlanContextImpl::Queue2RateClass()
       
  1178     {
       
  1179     return iConnectContext.iQueue2RateClass;
       
  1180     }
       
  1181 
       
  1182 // ---------------------------------------------------------------------------
       
  1183 // 
       
  1184 // ---------------------------------------------------------------------------
       
  1185 //
       
  1186 inline TInitialMaxTxRate4RateClass& 
       
  1187 WlanContextImpl::InitialMaxTxRate4RateClass()
       
  1188     {
       
  1189     return iConnectContext.iInitialMaxTxRate4RateClass;
       
  1190     }
       
  1191 
       
  1192 // ---------------------------------------------------------------------------
       
  1193 // 
       
  1194 // ---------------------------------------------------------------------------
       
  1195 //
       
  1196 inline TTxAutoRatePolicy& WlanContextImpl::AutoRatePolicy()
       
  1197     {
       
  1198     return iConnectContext.iAutoRatePolicy;
       
  1199     }
       
  1200 
       
  1201 // ---------------------------------------------------------------------------
       
  1202 // 
       
  1203 // ---------------------------------------------------------------------------
       
  1204 //
       
  1205 inline TUint8 WlanContextImpl::SpecialTxAutoRatePolicy() const
       
  1206     {
       
  1207     return iConnectContext.iSpecialTxRatePolicyId;
       
  1208     }
       
  1209 
       
  1210 // ---------------------------------------------------------------------------
       
  1211 // 
       
  1212 // ---------------------------------------------------------------------------
       
  1213 //
       
  1214 inline void WlanContextImpl::SpecialTxAutoRatePolicy( TUint8 aPolicyId )
       
  1215     {
       
  1216     iConnectContext.iSpecialTxRatePolicyId = aPolicyId;
       
  1217     }
       
  1218 
       
  1219 // ---------------------------------------------------------------------------
       
  1220 // 
       
  1221 // ---------------------------------------------------------------------------
       
  1222 //
       
  1223 inline THtMcsPolicy& WlanContextImpl::HtMcsPolicy()
       
  1224     {
       
  1225     return iConnectContext.iHtMcsPolicy;
       
  1226     }
       
  1227 
       
  1228 // ---------------------------------------------------------------------------
       
  1229 // 
       
  1230 // ---------------------------------------------------------------------------
       
  1231 //
       
  1232 inline TQosInfoUapsdMaxSpLen& WlanContextImpl::UapsdMaxSpLen()
       
  1233     {
       
  1234     return iConnectContext.iUapsdMaxSpLen;
       
  1235     }
       
  1236 
       
  1237 // ---------------------------------------------------------------------------
       
  1238 // 
       
  1239 // ---------------------------------------------------------------------------
       
  1240 //
       
  1241 inline TBool WlanContextImpl::WsaCmdActive() const
       
  1242     {
       
  1243     return iWsaCmdActive;
       
  1244     }
       
  1245 
       
  1246 // ---------------------------------------------------------------------------
       
  1247 // 
       
  1248 // ---------------------------------------------------------------------------
       
  1249 //
       
  1250 inline void WlanContextImpl::ActivateWsaCmd()
       
  1251     {
       
  1252     iWsaCmdActive = ETrue;
       
  1253     }
       
  1254 
       
  1255 // ---------------------------------------------------------------------------
       
  1256 // 
       
  1257 // ---------------------------------------------------------------------------
       
  1258 //
       
  1259 inline void WlanContextImpl::DeActivateWsaCmd()
       
  1260     {
       
  1261     iWsaCmdActive = EFalse;
       
  1262     }
       
  1263 
       
  1264 // ---------------------------------------------------------------------------
       
  1265 // 
       
  1266 // ---------------------------------------------------------------------------
       
  1267 //
       
  1268 inline void WlanContextImpl::IncrementAuthSeqNmbrExpected()
       
  1269     {
       
  1270     ++iAuthSeqNmbrExpected;
       
  1271     }
       
  1272 
       
  1273 // ---------------------------------------------------------------------------
       
  1274 // 
       
  1275 // ---------------------------------------------------------------------------
       
  1276 //
       
  1277 inline TBool WlanContextImpl::SetTxRateAdaptationRates( 
       
  1278     TUint8 aPolicyId,
       
  1279     WHA::TRate aRateBitmask )
       
  1280     {
       
  1281     return iTxRateAdaptation.SetRates( aPolicyId, aRateBitmask );
       
  1282     }
       
  1283 
       
  1284 // ---------------------------------------------------------------------------
       
  1285 // 
       
  1286 // ---------------------------------------------------------------------------
       
  1287 //
       
  1288 inline void WlanContextImpl::SetTxRatePolicy( WHA::TQueueId aQueueId, TUint8 aPolicyId )
       
  1289     {
       
  1290     iTxRateAdaptation.SetPolicy( aQueueId, aPolicyId );
       
  1291     }
       
  1292 
       
  1293 // ---------------------------------------------------------------------------
       
  1294 // 
       
  1295 // ---------------------------------------------------------------------------
       
  1296 //
       
  1297 inline void WlanContextImpl::SetCurrentMaxTxRate( 
       
  1298     TUint8 aPolicyId, 
       
  1299     WHA::TRate aRate )
       
  1300     {
       
  1301     iTxRateAdaptation.SetCurrentMaxTxRate( aPolicyId, aRate );
       
  1302     }
       
  1303 
       
  1304 // ---------------------------------------------------------------------------
       
  1305 // 
       
  1306 // ---------------------------------------------------------------------------
       
  1307 //
       
  1308 inline void WlanContextImpl::SetTxRateAdaptationAlgorithmParams( 
       
  1309     TUint8 aMinStepUpCheckpoint,
       
  1310     TUint8 aMaxStepUpCheckpoint,
       
  1311     TUint8 aStepUpCheckpointFactor,
       
  1312     TUint8 aStepDownCheckpoint,
       
  1313     TUint8 aMinStepUpThreshold,
       
  1314     TUint8 aMaxStepUpThreshold,
       
  1315     TUint8 aStepUpThresholdIncrement,
       
  1316     TUint8 aStepDownThreshold,
       
  1317     TBool aDisableProbeHandling )
       
  1318     {
       
  1319     iTxRateAdaptation.SetAlgorithmParameters(
       
  1320         aMinStepUpCheckpoint,
       
  1321         aMaxStepUpCheckpoint,
       
  1322         aStepUpCheckpointFactor,
       
  1323         aStepDownCheckpoint,
       
  1324         aMinStepUpThreshold,
       
  1325         aMaxStepUpThreshold,
       
  1326         aStepUpThresholdIncrement,
       
  1327         aStepDownThreshold,
       
  1328         aDisableProbeHandling );
       
  1329     }
       
  1330 
       
  1331 // ---------------------------------------------------------------------------
       
  1332 // 
       
  1333 // ---------------------------------------------------------------------------
       
  1334 //
       
  1335 inline TUint32 WlanContextImpl::Random()
       
  1336     {
       
  1337     return iPrnGenerator.Generate();
       
  1338     }
       
  1339 
       
  1340 // ---------------------------------------------------------------------------
       
  1341 // 
       
  1342 // ---------------------------------------------------------------------------
       
  1343 //
       
  1344 inline TUint32 WlanContextImpl::WhaCommandAct() const
       
  1345     {
       
  1346     return iWhaCommandAct;
       
  1347     }
       
  1348 
       
  1349 // ---------------------------------------------------------------------------
       
  1350 // 
       
  1351 // ---------------------------------------------------------------------------
       
  1352 //
       
  1353 inline void WlanContextImpl::WhaCommandAct( TUint32 aAct )
       
  1354     {
       
  1355     iWhaCommandAct = aAct;
       
  1356     }
       
  1357 
       
  1358 // ---------------------------------------------------------------------------
       
  1359 // 
       
  1360 // ---------------------------------------------------------------------------
       
  1361 //
       
  1362 inline void WlanContextImpl::RegisterEvent( const TOIDHeader& aOid )
       
  1363     {
       
  1364     iEventDispatcher.Register( aOid );
       
  1365     }
       
  1366 
       
  1367 // ---------------------------------------------------------------------------
       
  1368 // 
       
  1369 // ---------------------------------------------------------------------------
       
  1370 //
       
  1371 inline void WlanContextImpl::RegisterEvent( TInternalEvent aInternalEvent )
       
  1372     {
       
  1373     iEventDispatcher.Register( aInternalEvent );
       
  1374     }
       
  1375 
       
  1376 // ---------------------------------------------------------------------------
       
  1377 // 
       
  1378 // ---------------------------------------------------------------------------
       
  1379 //
       
  1380 inline TBool WlanContextImpl::ChannelEnabled( 
       
  1381     WlanEventDispatcher::TChannel aChannel ) const
       
  1382     {
       
  1383     return iEventDispatcher.ChannelEnabled( aChannel );
       
  1384     }
       
  1385 
       
  1386 // ---------------------------------------------------------------------------
       
  1387 // 
       
  1388 // ---------------------------------------------------------------------------
       
  1389 //
       
  1390 inline void WlanContextImpl::Enable( 
       
  1391     WlanEventDispatcher::TChannel aChannelMask )
       
  1392     {
       
  1393     iEventDispatcher.Enable( aChannelMask );
       
  1394     }
       
  1395 
       
  1396 // ---------------------------------------------------------------------------
       
  1397 // 
       
  1398 // ---------------------------------------------------------------------------
       
  1399 //
       
  1400 inline void WlanContextImpl::Disable( 
       
  1401     WlanEventDispatcher::TChannel aChannelMask )
       
  1402     {
       
  1403     iEventDispatcher.Disable( aChannelMask );
       
  1404     }
       
  1405 
       
  1406 // ---------------------------------------------------------------------------
       
  1407 // 
       
  1408 // ---------------------------------------------------------------------------
       
  1409 //
       
  1410 inline TBool WlanContextImpl::DispatchEvent()
       
  1411     {
       
  1412     return iEventDispatcher.Dispatch();
       
  1413     }
       
  1414 
       
  1415 // ---------------------------------------------------------------------------
       
  1416 // 
       
  1417 // ---------------------------------------------------------------------------
       
  1418 //
       
  1419 inline TBool WlanContextImpl::CommandCompletionEventRegistered( 
       
  1420     WHA::TCompleteCommandId aCommandId ) const
       
  1421     {
       
  1422     return iEventDispatcher.CommandCompletionRegistered( aCommandId );
       
  1423     }
       
  1424 
       
  1425 // ---------------------------------------------------------------------------
       
  1426 // 
       
  1427 // ---------------------------------------------------------------------------
       
  1428 //
       
  1429 inline TBool WlanContextImpl::DispatchCommandCompletionEvent()
       
  1430     {
       
  1431     return iEventDispatcher.DispatchCommandCompletionEvent();
       
  1432     }
       
  1433 
       
  1434 // ---------------------------------------------------------------------------
       
  1435 // 
       
  1436 // ---------------------------------------------------------------------------
       
  1437 //
       
  1438 inline TBool WlanContextImpl::ProtocolStackTxDataAllowed() const
       
  1439     {
       
  1440     return iEnableUserData;
       
  1441     }
       
  1442 
       
  1443 // ---------------------------------------------------------------------------
       
  1444 // 
       
  1445 // ---------------------------------------------------------------------------
       
  1446 //
       
  1447 inline TBool WlanContextImpl::PushPacketToPacketScheduler( 
       
  1448     const TAny* aPacket, 
       
  1449     TUint32 aLength, 
       
  1450     WHA::TQueueId aQueueId,
       
  1451     TUint32 aPacketId,
       
  1452     const TDataBuffer* aMetaHeader,
       
  1453     TBool aMore,
       
  1454     TBool aMulticastData,
       
  1455     TBool aUseSpecialRatePolicy )
       
  1456     {
       
  1457     return iPacketScheduler.Push( 
       
  1458         *this, 
       
  1459         aPacket, 
       
  1460         aLength,
       
  1461         aQueueId,
       
  1462         aPacketId,
       
  1463         aMetaHeader,
       
  1464         aMore,
       
  1465         aMulticastData,
       
  1466         aUseSpecialRatePolicy );
       
  1467     }
       
  1468 
       
  1469 // ---------------------------------------------------------------------------
       
  1470 // 
       
  1471 // ---------------------------------------------------------------------------
       
  1472 //
       
  1473 inline void WlanContextImpl::FlushPacketScheduler()
       
  1474     {
       
  1475     iPacketScheduler.Flush( *this );
       
  1476     }
       
  1477 
       
  1478 // ---------------------------------------------------------------------------
       
  1479 // 
       
  1480 // ---------------------------------------------------------------------------
       
  1481 //
       
  1482 inline void WlanContextImpl::SchedulePackets( TBool aMore )
       
  1483     {
       
  1484     iPacketScheduler.SchedulePackets( *this, aMore );
       
  1485     }
       
  1486 
       
  1487 // ---------------------------------------------------------------------------
       
  1488 // 
       
  1489 // ---------------------------------------------------------------------------
       
  1490 //
       
  1491 inline TBool WlanContextImpl::UnsentTxPackets() const
       
  1492     {
       
  1493     return iPacketScheduler.UnsentPackets();
       
  1494     }
       
  1495     
       
  1496 // ---------------------------------------------------------------------------
       
  1497 // 
       
  1498 // ---------------------------------------------------------------------------
       
  1499 //
       
  1500 inline void WlanContextImpl::IncrementFailedTxPacketCount()
       
  1501     {
       
  1502     ++iFailedTxPacketCount;
       
  1503     }
       
  1504 
       
  1505 // ---------------------------------------------------------------------------
       
  1506 // 
       
  1507 // ---------------------------------------------------------------------------
       
  1508 //
       
  1509 inline TUint8 WlanContextImpl::FailedTxPacketCount() const
       
  1510     {
       
  1511     return iFailedTxPacketCount;
       
  1512     }
       
  1513 
       
  1514 // ---------------------------------------------------------------------------
       
  1515 // 
       
  1516 // ---------------------------------------------------------------------------
       
  1517 //
       
  1518 inline void WlanContextImpl::ResetFailedTxPacketCount()
       
  1519     {
       
  1520     iFailedTxPacketCount = 0;
       
  1521     }
       
  1522 
       
  1523 // ---------------------------------------------------------------------------
       
  1524 // We use the failed Tx packet count threshold as the threshold value
       
  1525 // in this case, too - as informing AP about a power mgmt mode change
       
  1526 // also involves a frame Tx
       
  1527 // ---------------------------------------------------------------------------
       
  1528 //
       
  1529 inline void WlanContextImpl::InitializeSetPsModeCount()
       
  1530     {
       
  1531     iSetPsModeCount = iWlanMib.iFailedTxPacketCountThreshold;
       
  1532     }
       
  1533 
       
  1534 // ---------------------------------------------------------------------------
       
  1535 // 
       
  1536 // ---------------------------------------------------------------------------
       
  1537 //
       
  1538 inline void WlanContextImpl::DecrementSetPsModeCount()
       
  1539     {
       
  1540     --iSetPsModeCount;
       
  1541     }
       
  1542 
       
  1543 // ---------------------------------------------------------------------------
       
  1544 // 
       
  1545 // ---------------------------------------------------------------------------
       
  1546 //
       
  1547 inline TUint WlanContextImpl::SetPsModeCount() const
       
  1548     {
       
  1549     return iSetPsModeCount;
       
  1550     }
       
  1551 
       
  1552 // ---------------------------------------------------------------------------
       
  1553 // 
       
  1554 // ---------------------------------------------------------------------------
       
  1555 //
       
  1556 inline void WlanContextImpl::StartPowerModeManagement()
       
  1557     {
       
  1558     iDynamicPowerModeCntx.StartPowerModeManagement();
       
  1559     }
       
  1560 
       
  1561 // ---------------------------------------------------------------------------
       
  1562 // 
       
  1563 // ---------------------------------------------------------------------------
       
  1564 //
       
  1565 inline void WlanContextImpl::StopPowerModeManagement()
       
  1566     {
       
  1567     iDynamicPowerModeCntx.StopPowerModeManagement();
       
  1568     }
       
  1569                 
       
  1570 // ---------------------------------------------------------------------------
       
  1571 // 
       
  1572 // ---------------------------------------------------------------------------
       
  1573 //
       
  1574 inline TPowerMgmtModeChange WlanContextImpl::OnFrameTx( 
       
  1575     WHA::TQueueId aQueueId,
       
  1576     TUint16 aEtherType )
       
  1577     {
       
  1578     return iDynamicPowerModeCntx.OnFrameTx( aQueueId, aEtherType );
       
  1579     }
       
  1580 
       
  1581 // ---------------------------------------------------------------------------
       
  1582 // 
       
  1583 // ---------------------------------------------------------------------------
       
  1584 //
       
  1585 inline TPowerMgmtModeChange WlanContextImpl::OnFrameRx(
       
  1586     WHA::TQueueId aAccessCategory,
       
  1587     TUint16 aEtherType,
       
  1588     TUint aPayloadLength,
       
  1589     TDaType aDaType )
       
  1590     {
       
  1591     return iDynamicPowerModeCntx.OnFrameRx( 
       
  1592         aAccessCategory, 
       
  1593         aEtherType,
       
  1594         aPayloadLength, 
       
  1595         aDaType );
       
  1596     }
       
  1597 
       
  1598 // ---------------------------------------------------------------------------
       
  1599 // 
       
  1600 // ---------------------------------------------------------------------------
       
  1601 //
       
  1602 inline void WlanContextImpl::SetPowerModeManagementParameters(
       
  1603     TUint32 aToLightPsTimeout,
       
  1604     TUint16 aToLightPsFrameThreshold,
       
  1605     TUint32 aToActiveTimeout,
       
  1606     TUint16 aToActiveFrameThreshold,
       
  1607     TUint32 aToDeepPsTimeout,
       
  1608     TUint16 aToDeepPsFrameThreshold,
       
  1609     TUint16 aUapsdRxFrameLengthThreshold )
       
  1610     {
       
  1611     iDynamicPowerModeCntx.SetParameters(
       
  1612         aToLightPsTimeout,
       
  1613         aToLightPsFrameThreshold,
       
  1614         aToActiveTimeout,
       
  1615         aToActiveFrameThreshold,
       
  1616         aToDeepPsTimeout,
       
  1617         aToDeepPsFrameThreshold,
       
  1618         aUapsdRxFrameLengthThreshold );
       
  1619     }
       
  1620 
       
  1621 // ---------------------------------------------------------------------------
       
  1622 // 
       
  1623 // ---------------------------------------------------------------------------
       
  1624 //
       
  1625 inline void WlanContextImpl::ConfigurePwrModeMgmtTrafficOverride( 
       
  1626     TBool aStayInPsDespiteUapsdVoiceTraffic,
       
  1627     TBool aStayInPsDespiteUapsdVideoTraffic,
       
  1628     TBool aStayInPsDespiteUapsdBestEffortTraffic, 
       
  1629     TBool aStayInPsDespiteUapsdBackgroundTraffic,
       
  1630     TBool aStayInPsDespiteLegacyVoiceTraffic,
       
  1631     TBool aStayInPsDespiteLegacyVideoTraffic,
       
  1632     TBool aStayInPsDespiteLegacyBestEffortTraffic,
       
  1633     TBool aStayInPsDespiteLegacyBackgroundTraffic )
       
  1634     {
       
  1635     iDynamicPowerModeCntx.ConfigureTrafficOverride( 
       
  1636         aStayInPsDespiteUapsdVoiceTraffic,
       
  1637         aStayInPsDespiteUapsdVideoTraffic,
       
  1638         aStayInPsDespiteUapsdBestEffortTraffic, 
       
  1639         aStayInPsDespiteUapsdBackgroundTraffic,
       
  1640         aStayInPsDespiteLegacyVoiceTraffic,
       
  1641         aStayInPsDespiteLegacyVideoTraffic,
       
  1642         aStayInPsDespiteLegacyBestEffortTraffic,
       
  1643         aStayInPsDespiteLegacyBackgroundTraffic );
       
  1644     }
       
  1645 
       
  1646 // ---------------------------------------------------------------------------
       
  1647 // 
       
  1648 // ---------------------------------------------------------------------------
       
  1649 //
       
  1650 inline void WlanContextImpl::FreezePwrModeMgmtTrafficOverride()
       
  1651     {
       
  1652     iDynamicPowerModeCntx.FreezeTrafficOverride();
       
  1653     }
       
  1654                     
       
  1655 // ---------------------------------------------------------------------------
       
  1656 // 
       
  1657 // ---------------------------------------------------------------------------
       
  1658 //
       
  1659 inline TBool WlanContextImpl::OnActiveToLightPsTimerTimeout()
       
  1660     {
       
  1661     return iDynamicPowerModeCntx.OnActiveToLightPsTimerTimeout();
       
  1662     }
       
  1663 
       
  1664 // ---------------------------------------------------------------------------
       
  1665 // 
       
  1666 // ---------------------------------------------------------------------------
       
  1667 //
       
  1668 inline TBool WlanContextImpl::OnLightPsToActiveTimerTimeout()
       
  1669     {
       
  1670     return iDynamicPowerModeCntx.OnLightPsToActiveTimerTimeout();
       
  1671     }
       
  1672 
       
  1673 // ---------------------------------------------------------------------------
       
  1674 // 
       
  1675 // ---------------------------------------------------------------------------
       
  1676 //
       
  1677 inline TBool WlanContextImpl::OnLightPsToDeepPsTimerTimeout()
       
  1678     {
       
  1679     return iDynamicPowerModeCntx.OnLightPsToDeepPsTimerTimeout();
       
  1680     }
       
  1681 
       
  1682 // ---------------------------------------------------------------------------
       
  1683 // 
       
  1684 // ---------------------------------------------------------------------------
       
  1685 //
       
  1686 inline WlanContextImpl::TGroupAddStatus WlanContextImpl::AddMulticastAddress( 
       
  1687         const TMacAddress& aMacAddress )
       
  1688     {
       
  1689     return iJoinedMulticastGroups.AddGroup( aMacAddress );
       
  1690     }
       
  1691 
       
  1692 // ---------------------------------------------------------------------------
       
  1693 // 
       
  1694 // ---------------------------------------------------------------------------
       
  1695 //
       
  1696 inline TBool WlanContextImpl::RemoveMulticastAddress( const TMacAddress& aMacAddress )
       
  1697     {
       
  1698     return iJoinedMulticastGroups.RemoveGroup( aMacAddress );    
       
  1699     }
       
  1700 
       
  1701 // ---------------------------------------------------------------------------
       
  1702 // 
       
  1703 // ---------------------------------------------------------------------------
       
  1704 //
       
  1705 inline TUint8 WlanContextImpl::MulticastAddressCount() const
       
  1706     {
       
  1707     return iJoinedMulticastGroups.Count();
       
  1708     }
       
  1709 
       
  1710 // ---------------------------------------------------------------------------
       
  1711 // 
       
  1712 // ---------------------------------------------------------------------------
       
  1713 //
       
  1714 inline TUint8 WlanContextImpl::GetMulticastAddresses( 
       
  1715     const TMacAddress*& aMacAddresses ) const
       
  1716     {
       
  1717     return iJoinedMulticastGroups.GetGroups( aMacAddresses );
       
  1718     }
       
  1719 
       
  1720 // ---------------------------------------------------------------------------
       
  1721 // 
       
  1722 // ---------------------------------------------------------------------------
       
  1723 //
       
  1724 inline void WlanContextImpl::ResetMulticastAddresses()
       
  1725     {
       
  1726     iJoinedMulticastGroups.Reset();
       
  1727     }
       
  1728 
       
  1729 // ---------------------------------------------------------------------------
       
  1730 // 
       
  1731 // ---------------------------------------------------------------------------
       
  1732 //
       
  1733 inline void WlanContextImpl::MarkInternalTxBufFree()
       
  1734     {
       
  1735     iInternalTxBufFree = ETrue;
       
  1736 
       
  1737     OsTracePrint( KUmacDetails, (TUint8*)
       
  1738         ("UMAC: WlanContextImpl::MarkInternalTxBufFree: buffer free again"));
       
  1739     }
       
  1740 
       
  1741 // ---------------------------------------------------------------------------
       
  1742 // 
       
  1743 // ---------------------------------------------------------------------------
       
  1744 //
       
  1745 inline TBool WlanContextImpl::InternalTxBufBeingWaited() const
       
  1746     {
       
  1747     return iInternalTxBufBeingWaited;
       
  1748     }
       
  1749 
       
  1750 // ---------------------------------------------------------------------------
       
  1751 // 
       
  1752 // ---------------------------------------------------------------------------
       
  1753 //
       
  1754 inline void WlanContextImpl::ClearInternalTxBufBeingWaitedFlag()
       
  1755     {
       
  1756     iInternalTxBufBeingWaited = EFalse;
       
  1757     }
       
  1758 
       
  1759 // ---------------------------------------------------------------------------
       
  1760 // 
       
  1761 // ---------------------------------------------------------------------------
       
  1762 //
       
  1763 inline void WlanContextImpl::ResetFrameStatistics()
       
  1764     {
       
  1765     os_memset( &iFrameStatistics, 0, sizeof( iFrameStatistics ) );    
       
  1766     }
       
  1767 
       
  1768 
       
  1769 // ---------------------------------------------------------------------------
       
  1770 // 
       
  1771 // ---------------------------------------------------------------------------
       
  1772 //
       
  1773 inline void WlanContextImpl::IncrementRxUnicastDataFrameCount( 
       
  1774     WHA::TQueueId aAccessCategory )
       
  1775     {
       
  1776     ++iFrameStatistics.acSpecific[aAccessCategory].rxUnicastDataFrameCount;
       
  1777     }
       
  1778 
       
  1779 // ---------------------------------------------------------------------------
       
  1780 // 
       
  1781 // ---------------------------------------------------------------------------
       
  1782 //
       
  1783 inline void WlanContextImpl::IncrementTxUnicastDataFrameCount(
       
  1784     WHA::TQueueId aAccessCategory )
       
  1785     {
       
  1786     ++iFrameStatistics.acSpecific[aAccessCategory].txUnicastDataFrameCount;
       
  1787     }
       
  1788 
       
  1789 // ---------------------------------------------------------------------------
       
  1790 // 
       
  1791 // ---------------------------------------------------------------------------
       
  1792 //
       
  1793 inline void WlanContextImpl::IncrementRxMulticastDataFrameCount(
       
  1794     WHA::TQueueId aAccessCategory )
       
  1795     {
       
  1796     ++iFrameStatistics.acSpecific[aAccessCategory].rxMulticastDataFrameCount;
       
  1797     }
       
  1798 
       
  1799 // ---------------------------------------------------------------------------
       
  1800 // 
       
  1801 // ---------------------------------------------------------------------------
       
  1802 //
       
  1803 inline void WlanContextImpl::IncrementTxMulticastDataFrameCount(
       
  1804     WHA::TQueueId aAccessCategory)
       
  1805     {
       
  1806     ++iFrameStatistics.acSpecific[aAccessCategory].txMulticastDataFrameCount;
       
  1807     }
       
  1808 
       
  1809 // ---------------------------------------------------------------------------
       
  1810 // 
       
  1811 // ---------------------------------------------------------------------------
       
  1812 //
       
  1813 inline void WlanContextImpl::IncrementTxRetryCount( 
       
  1814     WHA::TQueueId aAccessCategory,
       
  1815     TUint aCount )
       
  1816     {
       
  1817     iFrameStatistics.acSpecific[aAccessCategory].txRetryCount += aCount;
       
  1818     }
       
  1819 
       
  1820 // ---------------------------------------------------------------------------
       
  1821 // 
       
  1822 // ---------------------------------------------------------------------------
       
  1823 //
       
  1824 inline void WlanContextImpl::IncrementTxErrorCount( 
       
  1825     WHA::TQueueId aAccessCategory )
       
  1826     {
       
  1827     ++iFrameStatistics.acSpecific[aAccessCategory].txErrorCount;
       
  1828     }
       
  1829 
       
  1830 // ---------------------------------------------------------------------------
       
  1831 // Note! We use the Tx Media Delay field first to collect the
       
  1832 // cumulative Media Delay. The average Media Delay is then calculated at the 
       
  1833 // point of reporting the frame statistics results to WLAN Mgmt client
       
  1834 // ---------------------------------------------------------------------------
       
  1835 //
       
  1836 inline void WlanContextImpl::IncrementTxMediaDelay( 
       
  1837     WHA::TQueueId aAccessCategory,
       
  1838     TUint aDelay )
       
  1839     {
       
  1840     iFrameStatistics.acSpecific[aAccessCategory].txMediaDelay += aDelay;
       
  1841     }
       
  1842 
       
  1843 // ---------------------------------------------------------------------------
       
  1844 // Note! We use the Total Tx Delay field first to collect the
       
  1845 // cumulative Total Tx Delay. The average Total Tx Delay is then calculated 
       
  1846 // at the point of reporting the frame statistics results to WLAN Mgmt client
       
  1847 // ---------------------------------------------------------------------------
       
  1848 //
       
  1849 inline void WlanContextImpl::IncrementTotalTxDelay( 
       
  1850     WHA::TQueueId aAccessCategory,
       
  1851     TUint aDelay )
       
  1852     {
       
  1853     iFrameStatistics.acSpecific[aAccessCategory].totalTxDelay += aDelay;
       
  1854     }
       
  1855 
       
  1856 // ---------------------------------------------------------------------------
       
  1857 // 
       
  1858 // ---------------------------------------------------------------------------
       
  1859 //
       
  1860 inline void WlanContextImpl::StoreFcsErrorCount( TUint aCount )
       
  1861     {
       
  1862     iFrameStatistics.fcsErrorCount = aCount;
       
  1863     }
       
  1864 
       
  1865 // ---------------------------------------------------------------------------
       
  1866 // 
       
  1867 // ---------------------------------------------------------------------------
       
  1868 //
       
  1869 inline const TStatisticsResponse& WlanContextImpl::FrameStatistics() const
       
  1870     {
       
  1871     return iFrameStatistics;
       
  1872     }
       
  1873 
       
  1874 // ---------------------------------------------------------------------------
       
  1875 // 
       
  1876 // ---------------------------------------------------------------------------
       
  1877 //
       
  1878 inline void WlanContextImpl::SetNullSendControllerParameters(
       
  1879     TUint32 aVoiceCallEntryTimeout,
       
  1880     TUint32 aVoiceCallEntryTxThreshold,
       
  1881     TUint32 aNullTimeout,
       
  1882     TUint32 aNoVoiceTimeout,
       
  1883     TUint32 aKeepAliveTimeout )
       
  1884     {
       
  1885     iNullSendController.SetParameters( 
       
  1886         aVoiceCallEntryTimeout,
       
  1887         aVoiceCallEntryTxThreshold,
       
  1888         aNullTimeout, 
       
  1889         aNoVoiceTimeout, 
       
  1890         aKeepAliveTimeout );
       
  1891     }
       
  1892 
       
  1893 // ---------------------------------------------------------------------------
       
  1894 // 
       
  1895 // ---------------------------------------------------------------------------
       
  1896 //
       
  1897 inline void WlanContextImpl::StartVoiceOverWlanCallMaintenance()
       
  1898     {
       
  1899     iNullSendController.StartVoiceOverWlanCallMaintenance();
       
  1900     }
       
  1901 
       
  1902 // ---------------------------------------------------------------------------
       
  1903 // 
       
  1904 // ---------------------------------------------------------------------------
       
  1905 //
       
  1906 inline void WlanContextImpl::StopVoiceOverWlanCallMaintenance()
       
  1907     {
       
  1908     iNullSendController.StopVoiceOverWlanCallMaintenance();
       
  1909     }
       
  1910 
       
  1911 // ---------------------------------------------------------------------------
       
  1912 // 
       
  1913 // ---------------------------------------------------------------------------
       
  1914 //
       
  1915 inline void WlanContextImpl::TerminateVoiceOverWlanCallMaintenance()
       
  1916     {
       
  1917     iNullSendController.TerminateVoiceOverWlanCallMaintenance();
       
  1918     }
       
  1919 
       
  1920 // ---------------------------------------------------------------------------
       
  1921 // 
       
  1922 // ---------------------------------------------------------------------------
       
  1923 //
       
  1924 inline void WlanContextImpl::ResumeQosNullSending()
       
  1925     {
       
  1926     iNullSendController.ResumeQosNullSending();
       
  1927     }
       
  1928 
       
  1929 // ---------------------------------------------------------------------------
       
  1930 // 
       
  1931 // ---------------------------------------------------------------------------
       
  1932 //
       
  1933 inline void WlanContextImpl::StartKeepAlive()
       
  1934     {
       
  1935     iNullSendController.StartKeepAlive();
       
  1936     }
       
  1937 
       
  1938 // ---------------------------------------------------------------------------
       
  1939 // 
       
  1940 // ---------------------------------------------------------------------------
       
  1941 //
       
  1942 inline void WlanContextImpl::StopKeepAlive()
       
  1943     {
       
  1944     iNullSendController.StopKeepAlive();
       
  1945     }
       
  1946 
       
  1947 // ---------------------------------------------------------------------------
       
  1948 // 
       
  1949 // ---------------------------------------------------------------------------
       
  1950 //
       
  1951 inline void WlanContextImpl::OnDataRxCompleted( 
       
  1952     WHA::TQueueId aQueueId,
       
  1953     TUint aPayloadLength )
       
  1954     {
       
  1955     iNullSendController.OnFrameRx( aQueueId, aPayloadLength );
       
  1956     }
       
  1957 
       
  1958 // ---------------------------------------------------------------------------
       
  1959 // 
       
  1960 // ---------------------------------------------------------------------------
       
  1961 //
       
  1962 inline void WlanContextImpl::OnDataTxCompleted( WHA::TQueueId aQueueId )
       
  1963     {
       
  1964     iNullSendController.OnFrameTx( aQueueId );
       
  1965     }
       
  1966 
       
  1967 // ---------------------------------------------------------------------------
       
  1968 // 
       
  1969 // ---------------------------------------------------------------------------
       
  1970 //
       
  1971 inline void WlanContextImpl::OnQosNullDataTxCompleted()
       
  1972     {
       
  1973     iNullSendController.OnQosNullDataTxCompleted();
       
  1974     }
       
  1975 
       
  1976 // ---------------------------------------------------------------------------
       
  1977 // 
       
  1978 // ---------------------------------------------------------------------------
       
  1979 //
       
  1980 inline void WlanContextImpl::OnNullDataTxCompleted()
       
  1981     {
       
  1982     iNullSendController.OnNullDataTxCompleted();
       
  1983     }
       
  1984 
       
  1985 // ---------------------------------------------------------------------------
       
  1986 // 
       
  1987 // ---------------------------------------------------------------------------
       
  1988 //
       
  1989 inline void WlanContextImpl::OnVoiceCallEntryTimerTimeout()
       
  1990     {
       
  1991     iNullSendController.OnVoiceCallEntryTimerTimeout();
       
  1992     }
       
  1993 
       
  1994 // ---------------------------------------------------------------------------
       
  1995 // 
       
  1996 // ---------------------------------------------------------------------------
       
  1997 //
       
  1998 inline void WlanContextImpl::OnNullTimerTimeout()
       
  1999     {
       
  2000     iNullSendController.OnNullTimerTimeout();
       
  2001     }
       
  2002 
       
  2003 // ---------------------------------------------------------------------------
       
  2004 // 
       
  2005 // ---------------------------------------------------------------------------
       
  2006 //
       
  2007 inline void WlanContextImpl::OnNoVoiceTimerTimeout()
       
  2008     {
       
  2009     iNullSendController.OnNoVoiceTimerTimeout();
       
  2010     }
       
  2011 
       
  2012 // ---------------------------------------------------------------------------
       
  2013 // 
       
  2014 // ---------------------------------------------------------------------------
       
  2015 //
       
  2016 inline void WlanContextImpl::OnKeepAliveTimerTimeout()
       
  2017     {
       
  2018     iNullSendController.OnKeepAliveTimerTimeout();
       
  2019     }
       
  2020 
       
  2021 // ---------------------------------------------------------------------------
       
  2022 // 
       
  2023 // ---------------------------------------------------------------------------
       
  2024 //
       
  2025 inline TBool WlanContextImpl::InsertNewRcpiIntoPredictor( 
       
  2026     TInt64 aTimestamp, 
       
  2027     WHA::TRcpi aRcpi )
       
  2028     {
       
  2029     return iWlanSignalPredictor.InsertNewRcpi( 
       
  2030         // this cast is ok as the predictor is prepared for the possibility 
       
  2031         // of the lower (TUint32) part of the timestamp rolling around
       
  2032         static_cast<TUint32>(aTimestamp), 
       
  2033         aRcpi );
       
  2034     }
       
  2035 
       
  2036 // ---------------------------------------------------------------------------
       
  2037 // 
       
  2038 // ---------------------------------------------------------------------------
       
  2039 //
       
  2040 inline TBool WlanContextImpl::GetLatestMedianRcpiFromPredictor( 
       
  2041     TInt64 aTimestamp,
       
  2042     WHA::TRcpi& aLatestMedian ) const
       
  2043     {
       
  2044     return iWlanSignalPredictor.GetLatestMedian( 
       
  2045         // this cast is ok as the predictor is prepared for the possibility 
       
  2046         // of the lower (TUint32) part of the timestamp rolling around
       
  2047         static_cast<TUint32>(aTimestamp),
       
  2048         aLatestMedian );
       
  2049     }
       
  2050 
       
  2051 // ---------------------------------------------------------------------------
       
  2052 // 
       
  2053 // ---------------------------------------------------------------------------
       
  2054 //
       
  2055 inline void WlanContextImpl::ConfigureWlanSignalPredictor(
       
  2056     TUint32 aTimeToWarnLevel,
       
  2057     TUint32 aTimeToNextInd,
       
  2058     WHA::TRcpi aRcpiWarnLevel)
       
  2059     {
       
  2060     iWlanSignalPredictor.ConfigureSignalPredictor( 
       
  2061         aTimeToWarnLevel,
       
  2062         aTimeToNextInd,
       
  2063         aRcpiWarnLevel );
       
  2064     }
       
  2065 
       
  2066 // ---------------------------------------------------------------------------
       
  2067 // 
       
  2068 // ---------------------------------------------------------------------------
       
  2069 //
       
  2070 inline SHtCapabilitiesIE& WlanContextImpl::GetOurHtCapabilitiesIe()
       
  2071     {
       
  2072     return iOurHtCapabilitiesIe;
       
  2073     }
       
  2074 
       
  2075 // ---------------------------------------------------------------------------
       
  2076 // 
       
  2077 // ---------------------------------------------------------------------------
       
  2078 //
       
  2079 inline SHtCapabilitiesIE& WlanContextImpl::GetNwHtCapabilitiesIe()
       
  2080     {
       
  2081     return iConnectContext.iNwHtCapabilitiesIe;
       
  2082     }
       
  2083 
       
  2084 // ---------------------------------------------------------------------------
       
  2085 // 
       
  2086 // ---------------------------------------------------------------------------
       
  2087 //
       
  2088 inline SHtOperationIE& WlanContextImpl::GetNwHtOperationIe()
       
  2089     {
       
  2090     return iConnectContext.iNwHtOperationIe;
       
  2091     }
       
  2092 
       
  2093 // ---------------------------------------------------------------------------
       
  2094 // 
       
  2095 // ---------------------------------------------------------------------------
       
  2096 //
       
  2097 inline WHA::ShtBlockAckConfigure& WlanContextImpl::GetHtBlockAckConfigure()
       
  2098     {
       
  2099     return iHtBlockAckConfigure;
       
  2100     }
       
  2101 
       
  2102 // ---------------------------------------------------------------------------
       
  2103 // 
       
  2104 // ---------------------------------------------------------------------------
       
  2105 //
       
  2106 inline SSnapHeader& WlanContextImpl::GetProprietarySnapHeader()
       
  2107     {
       
  2108     return iProprietarySnapHeader;
       
  2109     }
       
  2110 
       
  2111 // ---------------------------------------------------------------------------
       
  2112 // 
       
  2113 // ---------------------------------------------------------------------------
       
  2114 //
       
  2115 inline TBool WlanContextImpl::GetWhaTxStatus( 
       
  2116     TWhaTxQueueState& aTxQueueState ) const
       
  2117     {
       
  2118     return iPacketScheduler.GetWhaTxStatus( *this, aTxQueueState );
       
  2119     }