wlan_bearer/wlanengine/wlan_symbian/wlanengine_symbian_3.1/inc/wlancontrolimpl.h
changeset 0 c40eb8fe8501
--- /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<TWlanBssid>& 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