diff -r 000000000000 -r c40eb8fe8501 wlan_bearer/wlanengine/wlan_symbian/wlanengine_symbian_3.1/inc/wlancontrolimpl.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlan_bearer/wlanengine/wlan_symbian/wlanengine_symbian_3.1/inc/wlancontrolimpl.h Tue Feb 02 02:03:13 2010 +0200 @@ -0,0 +1,195 @@ +/* +* Copyright (c) 2006-2008 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: The class implementing MWlanControlInterface. +* +*/ + + +#ifndef WLANCONTROLIMPL_H +#define WLANCONTROLIMPL_H + +#include "rwlmserver.h" +#include "wlancontrolclient.h" + +/** + * Implementation for MWlanControlInterface interface. + * + * @lib wlancontrolimpl.dll + * @since S60 v3.2 + */ +class CWlanControlImpl : public CWlanControlClient + { + +public: + + /** + * Static constructor. + */ + static CWlanControlImpl* NewL(); + + /** + * Destructor. + */ + virtual ~CWlanControlImpl(); + +// from base class CWlanControlClient + + /** + * From CWlanControlImpl. + * Get packet statistics of the current connection. + * + * @since S60 v3.2 + * @param aStatistics Packet statistics of the current connection. + * @return KErrNone if statistics were read successfully, an error otherwise. + */ + virtual TInt GetPacketStatistics( + TWlanPacketStatistics& aStatistics ); + + /** + * From CWlanControlImpl. + * Clear packet statistics of the current connection. + * + * @since S60 v3.2 + */ + virtual void ClearPacketStatistics(); + + /** + * From CWlanControlImpl. + * Get the current U-APSD settings. + * + * @since S60 v3.2 + * @param aSettings Current U-APSD settings. + * @return KErrNone if settings were read successfully, an error otherwise. + */ + virtual TInt GetUapsdSettings( + TWlanUapsdSettings& aSettings ); + + /** + * From CWlanControlImpl. + * Set the U-APSD settings. + * + * @since S60 v3.2 + * @param aSettings Current U-APSD settings to be set. + * @return KErrNone if settings were set successfully, an error otherwise. + */ + virtual TInt SetUapsdSettings( + const TWlanUapsdSettings& aSettings ); + + /** + * Get the current power save settings. + * + * @since S60 v3.2 + * @param aSettings power save settings. + * @return KErrNone if settings were read successfully, an error otherwise. + */ + virtual TInt GetPowerSaveSettings( + TWlanPowerSaveSettings& aSettings ); + + /** + * Set the power save settings. + * + * @since S60 v3.2 + * @param aSettings Current power save settings to be set. + * @return KErrNone if settings were set successfully, an error otherwise. + */ + virtual TInt SetPowerSaveSettings( + const TWlanPowerSaveSettings& aSettings ); + + /** + * Get information about the current AP. + * + * @since S60 v3.2 + * @param aInfo Information about the current AP. + * @return KErrNone if information is available, an error otherwise. + */ + virtual TInt GetAccessPointInfo( + TWlanAccessPointInfo& aInfo ); + + /** + * Get roam metrics of the current connection. + * + * @since S60 v3.2 + * @param aRoamMetrics Roam metrics of the current connection. + * @return KErrNone if settings were read successfully, an error otherwise. + */ + virtual TInt GetRoamMetrics( + TWlanRoamMetrics& aRoamMetrics ); + + /** + * Get a list of BSSIDs on the rogue list. + * + * @since S60 v3.2 + * @param aRogueList List of BSSIDs on the rogue list. + * @return KErrNone if list were read successfully, an error otherwise. + */ + virtual TInt GetRogueList( + CArrayFixSeg& aRogueList ); + + /** + * Get the current regulatory domain. + * + * @since S60 v3.2 + * @param aRegion current region. + * @return KErrNone if value was read successfully, an error otherwise. + */ + virtual TInt GetRegulatoryDomain( + TWlanRegion& aRegion ); + + /** + * Get the current power save mode. + * + * @since S60 v3.2 + * @param aPowerSaveMode current power save mode. + * @return KErrNone if value was read successfully, an error otherwise. + */ + virtual TInt GetPowerSaveMode( + TWlanPowerSave& aPowerSaveMode ); + + /** + * Set the power save mode. + * + * @note This method is meant for overriding the dynamic power save mode selection + * for testing purposes. Overriding the power save mode may have an adverse + * effect on throughput and/or power consumption. Dynamic selection can be + * re-enabled by setting the mode to EWlanPowerSaveModeAutomatic. + * + * @since S60 v5.0.1 + * @param aMode Power save mode to be set. + * @return KErrNone if the mode was set successfully, an error otherwise. + */ + virtual TInt SetPowerSaveMode( + TWlanPowerSaveMode aMode ); + +private: + + /** + * C++ default constructor. + */ + CWlanControlImpl(); + + /** + * Symbian 2nd phase constructor. + */ + void ConstructL(); + +private: // data + + /** + * Handle to WLAN engine. + */ + RWLMServer iServer; + + }; + +#endif // WLANCONTROLIMPL_H