wlan_bearer/wlanengine/wlan_symbian/wlanengine_symbian_3.1/inc/wlanscanproviderinterface.h
changeset 0 c40eb8fe8501
child 3 6524e815f76f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlan_bearer/wlanengine/wlan_symbian/wlanengine_symbian_3.1/inc/wlanscanproviderinterface.h	Tue Feb 02 02:03:13 2010 +0200
@@ -0,0 +1,141 @@
+/*
+* Copyright (c) 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:  This abstract class defines WLAN scan provider interface.
+*
+*/
+
+/*
+* %version: 4 %
+*/
+
+
+#ifndef WLANSCANPROVIDERINTERFACE_H
+#define WLANSCANPROVIDERINTERFACE_H
+
+/**
+ * @brief Interface definition for WLAN Scan Result Provider API.
+ *
+ * This class defines the methods used for issuing and cancelling Scan requests.
+ *
+ * @since S60 v5.2
+ */
+class MWlanScanResultProvider
+    {
+
+public:
+
+    /**
+     * Issue scan request.
+     *
+     * @since S60 v5.2
+     * @param aMaxDelay Maximum amount of seconds the client is willing to wait for
+     *                  the availability results. The valid range is from 0 to 1200
+     *                  seconds.
+     */
+    virtual void Scan( const TUint& aMaxDelay ) = 0;
+
+    /**
+     * Cancel pending scan request.
+     *
+     * @since S60 v5.2
+     */        
+    virtual void CancelScan() = 0;
+
+    };
+
+
+
+/**
+ * @brief Interface definition for WLAN Background Scan Provider API.
+ *
+ * This class defines the methods WLAN engine uses to communicate with 
+ * WLAN Background Scan provider.
+ *
+ * @since S60 v5.2
+ */
+class MWlanBgScanProvider
+    {
+
+public:
+    
+    struct TWlanBgScanSettings
+        {
+        TUint32 backgroundScanInterval;
+        TUint psmServerMode;
+        TUint bgScanPeakStartTime;
+        TUint bgScanPeakEndTime;
+        TUint32 bgScanIntervalPeak;
+        TUint32 bgScanIntervalOffPeak;
+        
+        TWlanBgScanSettings() :
+            backgroundScanInterval( 0 ),
+            psmServerMode( 0 ),
+            bgScanPeakStartTime( 0),
+            bgScanPeakEndTime( 0 ),
+            bgScanIntervalPeak( 0 ),
+            bgScanIntervalOffPeak( 0 )
+            { }
+        
+        TWlanBgScanSettings( TUint32 aBackgroundScanInterval,
+                            TUint aPsmServerMode,
+                            TUint aBgScanPeakStartTime,
+                            TUint aBgScanPeakEndTime,
+                            TUint32 aBgScanIntervalPeak,
+                            TUint32 aBgScanIntervalOffPeak ) :
+            backgroundScanInterval( aBackgroundScanInterval ),
+            psmServerMode( aPsmServerMode ),
+            bgScanPeakStartTime( aBgScanPeakStartTime),
+            bgScanPeakEndTime( aBgScanPeakEndTime ),
+            bgScanIntervalPeak( aBgScanIntervalPeak ),
+            bgScanIntervalOffPeak( aBgScanIntervalOffPeak )
+            { }
+        
+        };
+
+    /**
+     * Called when Scan is complete.
+     *
+     * @since S60 v5.2
+     */
+    virtual void ScanComplete() = 0;
+        
+    /**
+     * Issued when WLAN is disconnected.
+     *
+     * @since S60 v5.2
+     */
+    virtual void NotConnected() = 0;
+    
+    /**
+     * Whether background scan is enabled.
+     *
+     * @since S60 v5.2
+     * @return True if background scan is enabled,
+     *         False otherwise.
+     */
+    virtual TBool IsBgScanEnabled() = 0;
+    
+    /**
+     * Notification about changed settings.
+     *
+     * @since S60 v5.2
+     * 
+     * @param aSettings new settings to be taken into use
+     */
+    virtual void NotifyChangedSettings( TWlanBgScanSettings& aSettings ) = 0;
+
+    };
+
+
+#endif // WLANSCANPROVIDERINTERFACE_H