wlanutilities/wlanqtutilities/stubs/wlanmgmtclient.h
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Tue, 31 Aug 2010 16:18:40 +0300
branchRCL_3
changeset 24 63be7eb3fc78
permissions -rw-r--r--
Revision: 201029 Kit: 201035

/*
* Copyright (c) 2010 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:
* WLAN Management API stubbing for WLAN Qt Utilities use in emulator.
*/

#ifndef WLANMGMTCLIENT_H
#define WLANMGMTCLIENT_H

#include "wlanmgmtcommon.h"
#include "wlanscaninfo.h"

// CLASS DECLARATION

class CWlanMgmtClient : public CBase
    {
    public:  // Methods

        // Constructors and destructor

        /**
         * Static constructor.
         * @return Pointer to the constructed object.
         */
        static CWlanMgmtClient* NewL();

        /**
         * Destructor.
         */
        ~CWlanMgmtClient();

        /**
         * Perform a broadcast scan and return the detected WLAN networks.
         *
         * @param aStatus Status of the calling active object. On successful
         *                completion contains KErrNone, otherwise one of the
         *                system-wide error codes.
         * @param aResults Results of the scan.
         */
        void GetScanResults(
            TRequestStatus& aStatus,
            CWlanScanInfo& aResults );

        /**
         * Perform a direct scan for an SSID and return the detected WLAN networks.
         * If the SSID has zero length, a broadcast scan will be done.
         *
         * @param aSsid name of the WLAN network
         * @param aStatus Status of the calling active object. On successful
         *                completion contains KErrNone, otherwise one of the
         *                system-wide error codes.
         * @param aResults Results of the scan.
         */
        void GetScanResults(
            TWlanSsid& aSsid,
            TRequestStatus& aStatus,
            CWlanScanInfo& aResults );
        
        /**
         * Cancel an outstanding scan request.
         */
        void CancelGetScanResults();

        /**
         * Get the available WLAN IAPs.
         *
         * @param aCacheLifetime Defines how many seconds old cached results the client
         *                       is willing to accept. The valid is range is from 0 to
         *                       60 seconds. The value of -1 means the system default will
         *                       be used. The aCacheLifetime parameter has a meaning only
         *                       when the aMaxDelay parameter is zero.
         *                       Value will be changed to the actual value used by the
         *                       system.
         * @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 or KWlanInfiniteScanDelay. KWlanInfiniteScanDelay
         *                  will never cause a scan, but the request will be
         *                  completed when any other broadcast scan request is completed.
         *                  Value will be changed to the actual value used by the system.
         * @param aFilteredResults Whether availability is filtered based on signal strength.
         *                  ETrue if filtering is allowed, EFalse if not.
         * @param aStatus Status of the calling active object. On successful
         *                completion contains KErrNone, otherwise one of the
         *                system-wide error codes.
         * @param aAvailableIaps Array of IAPs available.
         */
        void GetAvailableIaps(
            TInt& aCacheLifetime,
            TUint& aMaxDelay,
            TBool aFilteredResults,
            TRequestStatus& aStatus,
            RArray<TWlanIapAvailabilityData>& aAvailableIaps );

        /**
         * Cancel an outstanding IAP availability request.
         */
        void CancelGetAvailableIaps();
        
    private: // Data
        
        CWlanMgmtClient();
    };

#endif // WLANMGMTCLIENT_H