--- a/wlanutilities/wlansniffer/engine/server/inc/wsfwlanbearerconnectionmonitor.h Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,419 +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 CWsfWlanBearerConnectionMonitor
-*
-*/
-
-
-
-#ifndef C_WSFWLANBEARERCONNECTIONMONITOR_H
-#define C_WSFWLANBEARERCONNECTIONMONITOR_H
-
-
-// EXTERNAL INCLUDES
-#include <e32base.h>
-#include <rconnmon.h>
-#include <es_sock.h>
-#include <cmdefconnvalues.h>
-#include <cmmanagerext.h>
-
-// INTERNAL INCLUDES
-#include "wsfwlaninfo.h"
-#include "wsfwlanconnectiondetailsprovider.h"
-
-
-// FORWARD DECLARATIONS
-class MWsfWlanMonitorObserver;
-class MWsfServerCloserAdapter;
-class CWsfIct;
-
-
-// CLASS DEFINITION
-/**
- * Class to monitor and control all WLAN bearer related events and actions
- *
- * @since S60 5.0
- * @lib wsfserver.exe
- */
-NONSHARABLE_CLASS( CWsfWlanBearerConnectionMonitor ): public CActive,
- public MConnectionMonitorObserver,
- public MWsfWlanConnectionDetailsProvider
- {
- private:
- /**
- * Connecting states when creating an owned connection
- */
- enum TWsfConnectingState
- {
- /**
- * Not connected, neither requested
- */
- ECsIdle,
-
- /**
- * Requested to connect
- */
- ECsNotConnected,
-
- /**
- * Socket server and connection handler opened
- */
- ECsSocketOpened,
-
- /**
- * Connection has been established
- */
- ECsConnectionCreated,
-
- /**
- * Connection environment fully initialized
- */
- ECsConnected
- };
-
-
- public: // Constructors and destructor
- /**
- * Factory function.
- * @since S60 5.0
- * @param aServerCloser Reference to the server closer object.
- * Ownership not passed.
- * @return Class instance
- */
- static CWsfWlanBearerConnectionMonitor* NewL(
- MWsfServerCloserAdapter& aServerCloser );
-
- /**
- * Factory function.
- * @since S60 5.0
- * @param aServerCloser Reference to the server closer object.
- * Ownership not passed.
- * @return Class instance
- */
- static CWsfWlanBearerConnectionMonitor* NewLC(
- MWsfServerCloserAdapter& aServerCloser );
-
- /**
- * Destructor.
- */
- ~CWsfWlanBearerConnectionMonitor();
-
- private: // Constructors
- /**
- * Constructor
- * @since S60 5.0
- * @param aServerCloser Reference to the server closer object.
- * Ownership not passed.
- */
- CWsfWlanBearerConnectionMonitor(
- MWsfServerCloserAdapter& aServerCloser );
-
- /**
- * Second-phase constructor.
- * @since S60 5.0
- */
- void ConstructL();
-
- public: // New methods
-
- /**
- * Returns the name of the active wlan connection
- * @since S60 5.0
- * @return Connection name or KNullDesC if not connected
- */
- const TDesC& GetWlanBearerNameL();
-
- /*
- * Starts monitoring WLAN events through the given observer
- * @since S60 5.0
- * @param aObserver The object to use for monitoring. Ownership
- * not passed.
- */
- void StartMonitoringL( MWsfWlanMonitorObserver* aObserver );
-
- /*
- * Stops monitoring WLAN events
- * @since S60 5.0
- */
- void StopMonitoring();
-
- /*
- * Connects to the given IAP
- * @since S60 5.0
- * @param aIapId WLAN IAP id to connect to.
- * @param aConnectOnly ETrue if Connect selected
- * @param aTestAccessPoint ETrue if accesspoint needs testing
- * @return KErrNone on success, error code otherwise
- */
- TInt ConnectBearer( TUint32 aIapId,
- TBool aConnectOnly,
- TBool aTestAccessPoint );
-
- /*
- * Disconnects active connection
- * @since S60 5.0
- * @return ETrue if the was something to disconnect otherwise EFalse
- */
- TBool DisconnectBearer();
-
- /**
- * Starts to monitor Access Point
- * @since S60 5.0
- * @param aIapId Access point to be monitored
- */
- void MonitorAccessPoint( TUint32 aIapId );
-
- /**
- * Queries if there is an active WLAN connection.
- * @since S60 5.0
- * @return ETrue if there is an active WLAN connection,
- * EFalse otherwise.
- */
- TBool IsConnected();
-
- /**
- * Aborts the currently ongoing connecting process
- * @since S60 5.0
- * @return KErrNone on success, error code otherwise
- */
- TInt AbortConnecting();
-
- /**
- * Controls the auto-disconnect timer in the server
- * for owned connections
- * @since S60 5.0
- * @param aAdcCommand Command for the timer,
- * see TWsfAutoDisconnectCommand
- * @return ETrue if the timer has been started (also if it had been
- * started earlier), EFalse if the timer couldn't be started
- * (e.g. because there is no owned connection).
- */
- TBool ControlDisconnectTimer( TUint aAdcCommand );
-
-
- private: // From CActive
- /**
- * Implements cancellation of an outstanding request.
- * @since S60 5.0
- */
- void DoCancel();
-
- /**
- * Handles an active object's request completion event.
- * @since S60 5.0
- */
- void RunL();
-
- /**
- * Handles a leave occurring in RunL().
- * @since S60 5.0
- * @param aError Leave code
- * @return aError
- */
- TInt RunError( TInt aError );
-
-
- protected: // From MConnectionMonitorObserver
-
- /**
- * Event method is called every time an event occures.
- * @since S60 5.0
- * @param aConnMonEvent The event information.
- */
- void EventL( const CConnMonEventBase& aConnMonEvent );
-
-
- public: // from MWsfWlanConnectionDetailsProvider
-
- /**
- * Fills TWsfWlanInfo with the connected wlan's properties
- * @since S60 5.0
- * @param aWlanInfo The wlaninfo structure to be filled
- * @return ETrue if there is a connection and returned data is valid,
- * EFalse otherwise
- */
- TBool ConnectedWlanConnectionDetailsL( TWsfWlanInfo* aWlanInfo );
-
-
- private: // New methods
-
- /**
- * Loops through the list of current connections and searches for one
- * with wlan bearer
- * @since S60 5.0
- */
- void FindWlanBearerConnectedL();
-
- /**
- * Checks connection details and retrieves WLAN connection name
- * @since S60 5.0
- * @param aConnectionId The connection in question
- * @return ETrue on success (WLAN connection was found),
- * EFalse otherwise
- */
- TBool CheckConnectionDetailsL( TUint aConnectionId );
-
- /**
- * Shuts down the owned connection
- * @since S60 5.0
- */
- void ShutdownOwnedConnectionL();
-
- /**
- * Cleanup function to release the shutdown mutex if shutdown leaves
- * @since S60 5.0
- * @param aPtr Pointer for this class
- */
- static void ReleaseShutdownMutex( TAny* aPtr );
-
- /**
- * Callback for CPeriodic to check the client count and
- * start inactivity timer if needed.
- * @since S60 5.0
- * @param aPtr Pointer for this class
- * @return KErrNone if successful, system-wide error code otherwise.
- */
- static TInt CheckClientCount( TAny* aPtr );
-
- /**
- * Function that does actual processing in checking the client count.
- * Called by CheckClientCount().
- * @since S60 5.0
- */
- void CheckClientCountL();
-
-
- private: // Data
-
- /**
- * Reference to the observer of this class (not owned)
- */
- MWsfWlanMonitorObserver* iObserver;
-
- /**
- * Handle to the connection monitor
- */
- RConnectionMonitor iMonitor;
-
- /**
- * Name of the currently active WLAN connection
- */
- TBuf<KWlanMaxAccessPointNameLength> iWlanNetworkName;
-
- /**
- * Id of the currently active WLAN connection
- */
- TInt iConnectionId;
-
- /**
- * Indicates whether connection monitoring is on
- */
- TBool iMonitoring;
-
- /**
- * The access point to be monitored
- */
- TUint32 iMonitoredAp;
-
- /**
- * Handle to the socket server for making a connection
- */
- RSocketServ iSocketServ;
-
- /**
- * Handle to the owned connection
- */
- RConnection iConnection;
-
- /**
- * Indicates whether the connection was initiated from within Sniffer
- */
- TBool iConnectionOwned;
-
- /**
- * Default connection settings before creating an own connection
- */
- TCmDefConnValue iOriginalDefConn;
-
- /**
- * Default connection settings after the owned connection has been
- * established
- */
- TCmDefConnValue iCurrentDefConn;
-
- /**
- * Periodic polling for connection client count
- */
- CPeriodic* iClientPoll;
-
- /**
- * Indicates whether timer-based auto-disconnect is enabled
- */
- TBool iAutoDisconnect;
-
- /**
- * Count of clients using the connection
- */
- TInt iClientCount;
-
- /**
- * Timer to measure time elapsed without activity
- */
- TTime iInactivityStart;
-
- /**
- * Status of currently ongoing connecting process
- */
- TWsfConnectingState iConnectingState;
-
- /**
- * IAP id to connect to. Used by the connecting active object.
- */
- TUint32 iConnIap;
-
- /**
- * Indicates whether the connection is being aborted
- */
- TBool iAborting;
-
- /**
- * Asserts that the shutdown process is not reentered
- */
- TBool iShutdownMutex;
-
- /**
- * Asserts that the client counting process is not reentered
- */
- TBool iClientCountMutex;
-
- /**
- * Handle to the CmManager
- */
- RCmManagerExt iCmMgr;
-
- /**
- * Reference to the server closer (not owned)
- */
- MWsfServerCloserAdapter& iServerCloser;
-
- /**
- * Reference to ICT handler
- */
- CWsfIct* iIct;
-
- };
-
-
-#endif // C_WSFWLANBEARERCONNECTIONMONITOR_H
-