--- /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