diff -r 000000000000 -r c40eb8fe8501 wlan_bearer/wlanldd/wlan_common/umac_common/inc/umacdeeppsmodepowermodemgr.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlan_bearer/wlanldd/wlan_common/umac_common/inc/umacdeeppsmodepowermodemgr.h Tue Feb 02 02:03:13 2010 +0200 @@ -0,0 +1,103 @@ +/* +* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of the License "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: Declaration of the WlanDeepPsModePowerModeMgr class +* +*/ + +/* +* %version: 3 % +*/ + +#ifndef WLAN_DEEP_PS_MODE_POWER_MODE_MGR +#define WLAN_DEEP_PS_MODE_POWER_MODE_MGR + +#include "umacpowermodemgrbase.h" + +class WlanContextImpl; + +/** +* Class implementing infrastructure mode dynamic power mode management +* algorithm for Deep PS mode +*/ +class WlanDeepPsModePowerModeMgr : public WlanPowerModeMgrBase + { + +public: + + /** Ctor */ + WlanDeepPsModePowerModeMgr(); + + /** Dtor */ + virtual ~WlanDeepPsModePowerModeMgr(); + + /** + * To be called when transmitting a frame + * + * @since S60 5.1 + * Determines the need to make a power mode transition + * @param aCtxImpl global statemachine context + * @param aQueueId Id of the queue/AC via which the frame will be transmitted + * @param aEtherType Ethernet type of the frame + * @param aIgnoreThisFrame shall this frame be ignored from dynamic power + * mode management perspective + * @return To which power management mode to change; if any at all + */ + virtual TPowerMgmtModeChange OnFrameTx( + WlanContextImpl& aCtxImpl, + WHA::TQueueId aQueueId, + TUint16 aEtherType, + TBool aIgnoreThisFrame ); + + /** + * To be called when accepting an Rx frame + * + * @since S60 5.1 + * @param aCtxImpl global statemachine context + * @param aAccessCategory AC/Queue via which the frame has beeen transmitted + * @param aEtherType Ethernet type of the received frame + * @param aIgnoreThisFrame shall this frame be ignored from dynamic power + * mode management perspective + * @param aPayloadLength length of the ethernet frame payload + * @param aDaType DA type (Unicast, Multicast or Broadcast) of the frame + * @return To which power management mode to change; if any at all + */ + virtual TPowerMgmtModeChange OnFrameRx( + WlanContextImpl& aCtxImpl, + WHA::TQueueId aAccessCategory, + TUint16 aEtherType, + TBool aIgnoreThisFrame, + TUint aPayloadLength, + TDaType aDaType ); + + /** + * From WlanPowerModeMgrBase + * Resets the state of the object + * + * @since S60 5.1 + */ + virtual void DoReset() {}; + +private: // Methods + + // Prohibit copy constructor + WlanDeepPsModePowerModeMgr( const WlanDeepPsModePowerModeMgr& ); + // Prohibit assigment operator + WlanDeepPsModePowerModeMgr& operator= ( + const WlanDeepPsModePowerModeMgr& ); + +private: // Data + +}; + +#endif // WLAN_DEEP_PS_MODE_POWER_MODE_MGR