wlanutilities/wlansniffer/engine/server/inc/wsfict.h
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Mon, 21 Jun 2010 16:55:05 +0300
branchRCL_3
changeset 20 a9524956f6b5
permissions -rw-r--r--
Revision: 201023 Kit: 2010125

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



#ifndef C_WSFICT_H
#define C_WSFICT_H


//  EXTERNAL INCLUDES
#include <e32base.h>
#include <ictsclientinterface.h>


//  FORWARD DECLARATIONS


//  CLASS DEFINITION
/**
 * Class to monitor and control ICT interface
 *
 * @lib wsfserver.exe
 * @since S60 5.2
 */
NONSHARABLE_CLASS( CWsfIct ): public CBase,
                              public MIctsObserver
    {
    public:     // Constructors and destructor

        /**
        * Factory function.
        * @since S60 5.2
        * @return CWsfIct instance
        */
        IMPORT_C static CWsfIct* NewL();

        /**
        * Factory function.
        * @since S60 5.2
        * @return CWsfIct instance
        */
        IMPORT_C static CWsfIct* NewLC();

        IMPORT_C ~CWsfIct();

    private:    // Constructors
        CWsfIct();

        /**
        * Factory function.
        * @since S60 5.2
        */
        void ConstructL();

    public:     // New methods
        
        /**
        * Tests the connected WLAN access point
        * @since S60 5.2
        * @param aIapId Id of the connection method
        */
        void TestConnectedAccessPointL( TUint aIapId );
        
        /**
        * Initializes ICT parameters
        * @since S60 5.2
        * @param ETrue if ICT needs to be executed
        * @param aIapId Id of the connection method
        * @param aConnectOnly ETrue if connect only case, 
        * EFalse if browser is launched after successful connection.
        */
        void InitializeIctL( TBool aTestAccessPoint,
                             TUint aIapId,
                             TBool aConnectOnly );

    public: // from MIctsObserver

        /**
        * Called by ICTS during/after connectivity test
        * @since S60 5.2
        * @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 );
        
        /**
        * Moves the IAP to internet SNAP
        * @param aIapId Id of the connection method
        */  
        void MoveToInternetSnapL( const TUint32 aIapId );


    private:    // Data

        /**
        * Id of currently connected IAP (if applicable)
        */
        TUint iIapId;
        
        /**
        * Network id of currently connected IAP (if applicable)
        */
        TUint iNetId;
        
        /**
        * Indicates if "Connect" or "Start Web browsing" is selected.
        */
        TBool iConnectOnly;
        
        /**
        * ICT class. Owned.
        */
        CIctsClientInterface* iIct;

    };

#endif      //  C_WSFICT_H

// End of file