wlan_bearer/wlanldd/wlan_common/umac_common/src/UmacDot11InfrastructureMode.cpp
changeset 35 5e6ba967244f
parent 0 c40eb8fe8501
equal deleted inserted replaced
27:debc621e0d58 35:5e6ba967244f
     1 /*
     1 /*
     2 * Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies).
     2 * Copyright (c) 2002-2010 Nokia Corporation and/or its subsidiary(-ies).
     3 * All rights reserved.
     3 * All rights reserved.
     4 * This component and the accompanying materials are made available
     4 * This component and the accompanying materials are made available
     5 * under the terms of the License "Eclipse Public License v1.0"
     5 * under the terms of the License "Eclipse Public License v1.0"
     6 * which accompanies this distribution, and is available
     6 * which accompanies this distribution, and is available
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
    14 * Description:   Implementation of the WlanDot11InfrastructureMode class
    14 * Description:   Implementation of the WlanDot11InfrastructureMode class
    15 *
    15 *
    16 */
    16 */
    17 
    17 
    18 /*
    18 /*
    19 * %version: 63 %
    19 * %version: 64 %
    20 */
    20 */
    21 
    21 
    22 #include "config.h"
    22 #include "config.h"
    23 #include "UmacDot11InfrastructureMode.h"
    23 #include "UmacDot11InfrastructureMode.h"
    24 #include "UmacWsaAddKey.h"
    24 #include "UmacWsaAddKey.h"
   786 
   786 
   787 // ---------------------------------------------------------------------------
   787 // ---------------------------------------------------------------------------
   788 // 
   788 // 
   789 // ---------------------------------------------------------------------------
   789 // ---------------------------------------------------------------------------
   790 //
   790 //
   791 void WlanDot11InfrastructureMode::DoPsModeErrorIndication( 
       
   792     WlanContextImpl& aCtxImpl )
       
   793     {
       
   794     OsTracePrint( KWlmIndication, (TUint8*)
       
   795         ("UMAC: WlanDot11InfrastructureMode::DoPsModeErrorIndication") ); 
       
   796     
       
   797     OnInDicationEvent( aCtxImpl, EPsModeError );    
       
   798     }
       
   799 
       
   800 // ---------------------------------------------------------------------------
       
   801 // 
       
   802 // ---------------------------------------------------------------------------
       
   803 //
       
   804 TBool WlanDot11InfrastructureMode::OnVoiceCallEntryTimerTimeout( 
   791 TBool WlanDot11InfrastructureMode::OnVoiceCallEntryTimerTimeout( 
   805     WlanContextImpl& aCtxImpl )
   792     WlanContextImpl& aCtxImpl )
   806     {
   793     {
   807     aCtxImpl.OnVoiceCallEntryTimerTimeout();
   794     aCtxImpl.OnVoiceCallEntryTimerTimeout();
   808 
   795 
   923 
   910 
   924     TBool status ( ETrue );
   911     TBool status ( ETrue );
   925     
   912     
   926     TUint32 lengthOfFrame( 0 );
   913     TUint32 lengthOfFrame( 0 );
   927     T802Dot11FrameControlTypeMask frameType( E802Dot11FrameTypeDataNull );
   914     T802Dot11FrameControlTypeMask frameType( E802Dot11FrameTypeDataNull );
       
   915     WHA::TQueueId queue_id( WHA::ELegacy );
   928 
   916 
   929     // copy Null Data frame to tx-buffer to correct offset
   917     // copy Null Data frame to tx-buffer to correct offset
   930     // client doesn't need to take care of the tx buffer header space
   918     // client doesn't need to take care of the tx buffer header space
   931     // as the method below does it by itself
   919     // as the method below does it by itself
   932     TUint8* start_of_frame = aCtxImpl.TxBuffer();
   920     TUint8* start_of_frame = aCtxImpl.TxBuffer();
   970                 &(aCtxImpl.NullDataFrame()), 
   958                 &(aCtxImpl.NullDataFrame()), 
   971                 lengthOfFrame );
   959                 lengthOfFrame );
   972             }
   960             }
   973 
   961 
   974         // determine Tx queue
   962         // determine Tx queue
   975         const WHA::TQueueId queue_id( QueueId( aCtxImpl, start_of_frame ) );
   963         queue_id = QueueId( aCtxImpl, start_of_frame );
   976         
   964         
   977         // send the Null Data frame by pushing it to packet scheduler
   965         // send the Null Data frame by pushing it to packet scheduler
   978         aCtxImpl.PushPacketToPacketScheduler( 
   966         aCtxImpl.PushPacketToPacketScheduler( 
   979                 start_of_frame, 
   967                 start_of_frame, 
   980                 lengthOfFrame, 
   968                 lengthOfFrame, 
   981                 queue_id,
   969                 queue_id,
   982                 frameType,
   970                 frameType,
   983                 NULL,
   971                 NULL,
   984                 EFalse,
   972                 EFalse,
   985                 EFalse );
   973                 EFalse,
       
   974                 ETrue );
   986         }                
   975         }                
   987     else
   976     else
   988         {
   977         {
   989         // we didn't get a Tx buffer so we can't submit a frame send request.
   978         // we didn't get a Tx buffer so we can't submit a frame send request.
   990         status = EFalse;
   979         status = EFalse;
   991         }
   980         }
   992         
   981 
       
   982     TUint16 KetherType( 0 ); // N/A in this case
       
   983     // check if we need to change power mgmt mode; no matter whether we 
       
   984     // actually managed to send a frame or not
       
   985     const TPowerMgmtModeChange KPowerMgmtModeChange ( 
       
   986         aCtxImpl.OnFrameTx( queue_id, KetherType, frameType ) );
       
   987     
       
   988     // if any change is needed regarding our power mgmt mode,
       
   989     // proceed with it
       
   990     PowerMgmtModeChange( aCtxImpl, KPowerMgmtModeChange );
       
   991     
   993     return status;                
   992     return status;                
   994     }
   993     }