--- a/wlanutilities/wlansniffer/model/inc/wsfmodel.h Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,541 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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: Class header for CWsfModel
-*
-*/
-
-
-#ifndef C_WSFMODEL_H
-#define C_WSFMODEL_H
-
-
-// EXTERNAL INCLUDES
-#include <e32base.h>
-#include <ictsclientinterface.h>
-
-// INTERNAL INCLUDES
-#include "wsfsession.h"
-#include "wsfbrowserlaunchobserver.h"
-#include "wsfscreensaverstateobserver.h"
-#include "wsfbrowserlaunchadapter.h"
-#include "wsfwlaninfo.h"
-
-
-// FORWARD DECLARATIONS
-class CWsfAppLauncher;
-class MWsfModelObserver;
-class CWsfWlanInfoArray;
-class MWsfStateChangeObserver;
-class CEikonEnv;
-class CWsfScreenSaverWatcher;
-class CWsfAsyncOperationQueue;
-
-
-// CLASS DEFINITION
-/**
- * Class acts as an application level model and is also entry point to the
- * application engine which is implemented as server
- *
- * @lib wsfmodel.lib
- * @since S60 5.0
- */
-NONSHARABLE_CLASS( CWsfModel ): public CBase,
- public MWsfBrowserLaunchObserver,
- public MWsfScreenSaverStateObserver,
- public MWsfBrowserLaunchAdapter,
- public MIctsObserver
- {
- public: // Constructors and destructor
-
- /**
- * Factory function.
- * @since S60 5.0
- * @param aObserver The object to notify about server events
- * @param aScreenSaverAware Whether to react to screensaver events
- * @return Model instance
- */
- IMPORT_C static CWsfModel* NewL( MWsfStateChangeObserver& aObserver,
- const TBool aScreenSaverAware );
-
- /**
- * Factory function.
- * @since S60 5.0
- * @param aObserver The object to notify about server events
- * @param aScreenSaverAware Whether to react to screensaver events
- * @return Model instance
- */
- IMPORT_C static CWsfModel* NewLC( MWsfStateChangeObserver& aObserver,
- const TBool aScreenSaverAware );
-
- IMPORT_C ~CWsfModel();
-
- private: // Constructors
- CWsfModel();
-
- /**
- * Factory function.
- * @since S60 5.0
- * @param aObserver The object to notify about server events
- * @param aScreenSaverAware Whether to react to screensaver events
- */
- void ConstructL( MWsfStateChangeObserver& aObserver,
- const TBool aScreenSaverAware );
-
- public: // New methods
-
- /**
- * Attach model observer
- * @since S60 5.0
- * @param aObserver Pointer to the model observer
- */
- IMPORT_C void SetEngineObserver( MWsfModelObserver* aObserver );
-
- /**
- * Return the latest list of found WLANs. Ownership not passed.
- * @since S60 5.0
- * @return Array of WLANs
- */
- IMPORT_C CWsfWlanInfoArray* GetWlanListL();
-
- /**
- * Store active views UID
- * @since S60 5.0
- * @param aActiveViewId Active view's UID
- */
- IMPORT_C void SetActiveViewL( TInt aActiveViewId );
-
- /**
- * Get UID of the active view
- * @since S60 5.0
- * @return UID of active view
- */
- IMPORT_C TUid ActiveViewL();
-
- /**
- * Store SSID of active WLAN
- * @since S60 5.0
- * @param aSsid WLAN's name (SSID)
- */
- IMPORT_C void SetObservedWlanL( const TDesC8& aSsid );
-
- /**
- * Get SSID of active WLAN
- * @since S60 5.0
- * @return Active WLAN's name (SSID)
- */
- IMPORT_C const TDesC8& ObservedWlan();
-
- /**
- * Connects to the given WLAN IAP
- * @since S60 5.0
- * @param aIapId WLAN IAP id to connect to.
- */
- IMPORT_C int ConnectL( TUint32 aIapId );
-
- /**
- * Connects to the given WLAN IAP
- * @since S60 5.2
- * @param aIapId WLAN IAP id to connect to.
- */
- IMPORT_C int ConnectWithoutConnWaiterL( TUint32 aIapId,
- TBool aTestedAccessPoint );
- /**
- * Starts auto-disconnect timer for connected network
- * @since S60 5.2
- */
- IMPORT_C void FinalizeConnectL();
-
- /**
- * Disconnects WLAN
- * @since S60 5.0
- */
- IMPORT_C void DisconnectL();
-
- /**
- * Check if the engine is refreshing
- * @since S60 5.0
- * @return ETrue if first refreshing
- */
- IMPORT_C TBool Refreshing();
-
- /**
- * Change refreshing state
- * @since S60 5.0
- * @param aRefreshing Refreshing state
- */
- IMPORT_C void SetRefreshState( TBool aRefreshing );
-
- /**
- * Notifies server to start scanning if not scanning already
- * @since S60 5.0
- * @return ETrue on success
- */
- IMPORT_C TBool EnableScanL();
-
- /**
- * Notifies server to disable scanning
- * However, scanning will continue if some other client
- * has enabled scanning.
- * @since S60 5.0
- * @return ETrue on success
- */
- IMPORT_C TBool DisableScanL();
-
- /**
- * Checks if scanning is enabled in the server
- * @since S60 5.0
- * @return EFalse if not scanning
- */
- IMPORT_C TBool IsScanEnabledL();
-
- /**
- * Continues browsing
- * @since S60 5.0
- */
- IMPORT_C void ContinueBrowsingL();
-
- /**
- * Continues browsing (browser launched if needed)
- * @since S60 5.0
- * @param aIapId The IAP id to use with the browser
- */
- IMPORT_C void ContinueBrowsingL( TUint32 aIapId );
-
- /**
- * Creates new WLAN access point based on wlaninfo passed as parameter.
- * If aExplicitDefine is ETrue, the connection method is saved to the
- * destination selected by the user, otherwise it is put into the
- * Uncategorized folder.
- * @since S60 5.0
- * @param aWlan Reference to Wlan which is used as base
- * for new access point
- * @param aExplicitDefine Should be ETrue in case of
- * 'Define access point'
- * @return ETrue if access point creation succeeds
- */
- IMPORT_C TBool CreateAccessPointL( TWsfWlanInfo& aWlan,
- TBool aExplicitDefine );
-
- /**
- * Tests the WLAN access point and offers to save it to a destination
- * @since S60 5.0
- * @param aWlan Reference to wlaninfo to test
- * @param aKeepConnection Indicates whether to keep alive the connection.
- * @param aConnectOnly ETrue if the helper app is expected to connect
- * only, EFalse if it should also launch the browser
- * on successful connection.
- * @return KErrNone if successful, system-wide error code otherwise
- */
- IMPORT_C TInt TestAccessPointL( TWsfWlanInfo& aWlan,
- TBool aKeepConnection,
- TBool aConnectOnly );
-
- /**
- * Tests the connected WLAN access point
- * @since S60 5.0
- * @param aWlan Reference to wlaninfo to test
- * @param aConnectOnly ETrue if connect only case,
- * EFalse if launch browser case after successful connection.
- * @return KErrNone if successful, system-wide error code otherwise
- */
- IMPORT_C TInt TestConnectedAccessPointL( TWsfWlanInfo& aWlan,
- TBool aConnectOnly );
-
- /**
- * Requests a rescan for available wlans
- * @since S60 5.0
- * @return ETrue on success
- */
- IMPORT_C TBool RefreshScanL();
-
- /**
- * Launches and helper application to create an accesspoint
- * @since S60 5.0
- * @param aWlanInfo The WlanInfo object to be passed to the helper app
- * @param aConnecting ETrue if default connection is used, EFalse otherwise.
- * @param aConnectOnly ETrue if the helper app is expected to connect
- * only, EFalse if it should also launch the browser
- * on successful connection.
- */
- IMPORT_C void LaunchHelperApplicationL( TWsfWlanInfo& aWlanInfo,
- TBool aConnecting,
- TBool aConnectOnly );
-
- /**
- * Cancel notify events from server
- * @since S60 5.0
- */
- IMPORT_C void CancelNotifyEvents();
-
- /**
- * Request notify events from server
- * @since S60 5.0
- * @param aObserver Instance of MWsfStateChangeObserver to handle events
- */
- IMPORT_C void RequestNotifyEventsL(
- MWsfStateChangeObserver& aObserver );
-
- /**
- * Queries if there is an active WLAN connection.
- * @since S60 5.0
- * @return ETrue if there is an active WLAN connection,
- * EFalse otherwise.
- */
- IMPORT_C TBool IsConnectedL();
-
- /**
- * If there is an active WLAN connection, returns its WLAN info.
- * @since S60 5.0
- * @param aWlanInfo The wlaninfo object to fill
- * @return ETrue if success, EFalse otherwise.
- */
- IMPORT_C TBool GetConnectedWlanDetailsL( TWsfWlanInfo& aWlanInfo );
-
- /**
- * Queries whether a connecting process is going on
- * @since S60 5.0
- * @return ETrue if connection is in progress
- */
- inline TBool IsConnecting() const;
-
- /**
- * Sets connecting status
- * @since S60 5.0
- * @param aIsConnecting The new status of the connecting process
- */
- inline void SetConnecting( TBool aIsConnecting );
-
- /**
- * Aborts the currently ongoing connecting process
- * @since S60 5.0
- */
- IMPORT_C void AbortConnectingL();
-
- /**
- * Aborts the currently ongoing scanning process
- * @since S60 5.0
- */
- IMPORT_C void AbortScanningL();
-
- /**
- * Gets the ICTS test permission setting value
- * @since S60 5.0
- * @return The ICTS setting
- */
- IMPORT_C static TInt IctsTestPermission();
-
- /**
- * Check if Iap Id is valid
- * Leaves with system wide error code if Iap ID is
- * not valid or checking fails
- * @since S60 5.2
- * @param aIapId IAP id passed as a parameter
- */
- IMPORT_C void CheckIsIapIdValidL( TUint aIapId ) const;
-
- public: // from MWsfBrowserLaunchAdapter
- /**
- * Launches Browser application using selected iap
- * @since S60 5.0
- * @param aIapId IAP id passed as a parameter
- */
- IMPORT_C void LaunchBrowserL( TUint32 aIapId );
-
-
- /**
- * Cleans up the possibly temporary IAP after user cancelled
- * the browser launch
- * @since S60 5.0
- */
- IMPORT_C void CleanUpCancelledLaunchL();
-
-
- public: // From MWsfBrowserLaunchObserver
-
- /**
- * Called if browser launch succeeds
- * @since S60 5.0
- */
- void BrowserLaunchCompleteL();
-
- /**
- * Called if browser launch failed
- * @since S60 5.0
- * @param aError System-wide error code
- */
- void BrowserLaunchFailed( TInt aError );
-
- /**
- * Called when the previously launched browser exits
- * @since S60 5.0
- */
- void BrowserExitL();
-
-
- private: // from MWsfScreenSaverStateObserver
-
- /**
- * Called if the status of the screensaver has been changed
- * @since S60 5.0
- * @param aScreenSaverActive Current status of the screensaver
- */
- void ScreenSaverStatusChangedL( const TBool aScreenSaverActive );
-
-
- public: // from MIctsObserver
-
- /**
- * Called by ICTS during/after connectivity test
- * @since S60 5.0
- * @param aResult Result code of the connectivity test
- * @param aString Parameter to hold auxiliary data
- */
- void ConnectivityObserver( TIctsTestResult aResult, const TDesC& aString );
-
-
- private: // New methods
-
- /**
- * Starts WLAN Login application
- * @param aString Contains redirect URL
- */
- void LaunchWlanLoginL( const TDesC& aString );
-
- /**
- * Makes the temporary IAP created for ICT persistent, i.e. notifies
- * the server not to delete it when the connection terminates.
- * @since S60 5.0
- * @param aPersistence The persistence property for the IAP
- */
- void MakeIctIapPersistentL( TWsfIapPersistence aPersistence );
-
- /**
- * Moves the IAP to internet SNAP
- * @param aIapId Id of the connection method
- */
- void MoveToInternetSnapL( const TUint32 aIapId );
-
- /**
- * Check if there is disk space left
- * Leaves with KErrDiskFull is space is below CL
- * @since S60 5.0
- */
- void CheckSpaceBelowCriticalLevelL() const;
-
- /**
- * Check if access point to be created is
- * unknow and Network encryption is WAPI
- * Leaves with KErrWlanProtectedSetupSetupLocked
- * in the case of unknown WAPI AP.
- * @since S60 5.2
- */
- void CheckUnknownWapiL( TWsfWlanInfo& aWlan ) const;
-
- private: // Data
- /**
- * Reference to the current UI environment (not owned)
- */
- CEikonEnv* iEikEnv;
-
- /**
- * Reference to the model observer (not owned)
- */
- MWsfModelObserver* iObserver;
-
- /**
- * Browser launcher class. Owned.
- */
- CWsfAppLauncher* iBrowserLauncher;
-
- /**
- * Screen saver watcher class. Owned.
- */
- CWsfScreenSaverWatcher* iScreenSaverWatcher;
-
- /**
- * Client-side handle for server session
- */
- RWsfSession iSession;
-
- /**
- * Array to store WLAN scan results. Owned.
- */
- CWsfWlanInfoArray* iArray;
-
- /**
- * UID of active view
- */
- TUid iActiveView;
-
- /**
- * Name of currently observed WLAN
- */
- HBufC8* iObservedWlan;
-
- /**
- * Id of currently connected IAP (if applicable)
- */
- TUint iConnectedIapId;
-
- /**
- * Network id of currently connected IAP (if applicable)
- */
- TUint iConnectedNetId;
-
- /**
- * Refreshing status
- */
- TBool iRefreshing;
-
- /**
- * Persistent WlanInfo for ICT cleanup
- */
- TWsfWlanInfo iIctWlanInfo;
-
- /**
- * Indicates whether connection creation has been started but not
- * finished yet.
- */
- TBool iConnecting;
-
- /**
- * Waiter for ICT
- */
- CActiveSchedulerWait iIctWait;
-
- /**
- * Indicates that connectivity test if over.
- */
- TBool iIctEnded;
-
- /**
- * Indicates if connection will be kept when launching browser.
- */
- TBool iKeepConnection;
-
- /**
- * Indicates if "Connect" or "Start Web browsing" is selected.
- */
- TBool iConnectOnly;
-
- };
-
-
-#include "wsfmodel.inl"
-
-
-
-#endif // C_WSFMODEL_H
-
-// End of file