equal
deleted
inserted
replaced
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 } |