diff -r dbe86d96ce5b -r 2dc6da6fb431 wlanutilities/wlanqtutilities/base/inc/wlanqtutils.h --- a/wlanutilities/wlanqtutilities/base/inc/wlanqtutils.h Thu May 27 13:59:00 2010 +0300 +++ b/wlanutilities/wlanqtutilities/base/inc/wlanqtutils.h Fri Jun 11 14:43:07 2010 +0300 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2009-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" @@ -12,151 +12,162 @@ * Contributors: * * Description: +* WLAN Qt Utilities interface. */ #ifndef WLANQTUTILS_H #define WLANQTUTILS_H -#include +// System includes -#include "wlanqtutilscommon.h" +#include +#include +#include + +// User includes + +// Forward declarations class WlanQtUtilsIap; -class WlanQtUtilsWlanIap; -class WlanQtUtilsWlanAp; +class WlanQtUtilsAp; class WlanQtUtilsPrivate; -const int WlanQtUtilsInvalidIapId = -1; +// External data types + +// Constants -/** - * Wlan Qt Utilities. - * - * This class provides a Qt API to UI components for retrieving different kind of information - * related to WLAN functionality. - */ -class WLANQTUTILITIESDLL_EXPORT WlanQtUtils : public QObject +//! Library interface export macro +#ifdef BUILD_WLANQTUTILITIES_DLL +#define WLANQTUTILS_EXPORT Q_DECL_EXPORT +#else +#define WLANQTUTILS_EXPORT Q_DECL_IMPORT +#endif + +// Class declaration + +class WLANQTUTILS_EXPORT WlanQtUtils : public QObject { Q_OBJECT public: + + // Data types + + //! "None" IAP ID value (e.g. for "not found" cases) + static const int IapIdNone = -1; + + /*! + WLAN connection status. + Remember to update traces/trace.properties when modifying this enum. + */ + enum ConnStatus { + ConnStatusNone = 0, //!< Reserved. + ConnStatusConnecting, //!< Connecting. + ConnStatusConnected, //!< Connected. + ConnStatusDisconnected //!< Disconnected. + }; - /** - * Constructor. - */ WlanQtUtils(); - /** - * Destructor. - */ ~WlanQtUtils(); - /** - * Function to request details of available WLAN networks. Can be called at any time, calling right - * after wlanScanReady() signal ensures you get the most recent results. - * - * @param[out] wlanIapList List of available WLAN IAPs. - * @param[out] wlanApList List of unknown WLAN APs. - */ - void availableWlanAps( - QList &wlanIapList, - QList &wlanApList); + void scanWlans(); + + void scanWlanAps(); + + void scanWlanDirect(const QString &ssid); + + void stopWlanScan(); + + void availableWlans( + QList< QSharedPointer > &wlanIapList, + QList< QSharedPointer > &wlanApList) const; - /** - * Function to create an IAP from the given WLAN access point. - * - * @param[in] wlanAp Access point containing parameters to include in the new IAP. - * @return ID of the newly created IAP. - */ - int createWlanIap(const WlanQtUtilsWlanAp *wlanAp); + void availableWlanAps( + QList< QSharedPointer > &wlanApList) const; + + int createIap(const WlanQtUtilsAp *wlanAp); - /** - * Function to start connection creation for the given IAP. connectionStatus() signal will be emitted - * when connection creation succeeds or fails. - * - * @param[in] iapId ID of the IAP to be connected. - */ - void connectIap(int iapId); + bool updateIap(int iapId, const WlanQtUtilsAp *wlanAp); - /** - * Function to disconnect the given IAP. - * - * @param[in] iapId ID of the IAP to be disconnected. - */ + void deleteIap(int iapId); + + void connectIap(int iapId, bool runIct = false); + void disconnectIap(int iapId); - /** - * Function to retrieve a pointer to the IAP with the given ID. - * - * @param[in] iapId ID of the requested IAP. - * @return Pointer to the found IAP, NULL if not found. - */ - WlanQtUtilsIap *iap(int iapId) const; + ConnStatus connectionStatus() const; + + int activeIap() const; + + QString iapName(int iapId) const; + +signals: + + /*! + Signal indicating that WLAN scan results are available. + */ + void wlanScanReady(); - /** - * Function for getting the master WLAN status. - * - * @return Master WLAN status: true if enabled, otherwise false. - */ - bool masterWlan() const; + /*! + Signal indicating that WLAN scan results are available when scanning + is requested with scanWlanAps() method. + */ + void wlanScanApReady(); - /** - * Function for switching the master WLAN status ON or OFF. - * - * @param[in] enabled If set to true, WLAN is switched ON, and vice versa. - */ - void setMasterWlan(bool enabled); + /*! + Signal indicating that WLAN scan results are available when scanning + is requested with scanWlanDirect() method. + */ + void wlanScanDirectReady(); - /** - * Function for getting the ID of the (possibly) connected WLAN IAP. - * - * @return ID of the connected IAP, WlanQtUtilsInvalidIapId if not valid. - */ - int connectedWlanId() const; + /*! + Signal indicating that new WLAN network has been opened. + + @param [in] iapId ID of the opened IAP. + */ + void wlanNetworkOpened(int iapId); + + /*! + Signal indicating that a WLAN network has been closed. - /** - * Function for requesting a WLAN scan to be triggered. Currently triggers - * only a single scan, but can be extended to perform also periodic scans, - * if needed in the future. - * - * Signal wlanScanReady() is emitted when new scan results are available. - */ - void scanWlans(); + @param [in] iapId ID of the closed IAP. + @param [in] reason RConnection::Start() error code. + This is the reason of the closure if user requested + connection creation and it failed. + Otherwise KErrNone. + */ + void wlanNetworkClosed(int iapId, int reason); + + /*! + Signal indicating result of finished ICT run. + + @param [in] iapId ID of IAP ICT was run for. + @param [in] result True: ICT passed, False: ICT failed. + */ + void ictResult(int iapId, bool result); -signals: - - /** - * Signal indicating that WLAN scan results are available. - */ - void wlanScanReady(); +public slots: - /** - * Signal indicating that new WLAN network has been opened. - * - * @param[in] iapId ID of the opened IAP. - */ - void wlanNetworkOpened(int iapId); +protected: + +protected slots: - /** - * Signal indicating that a WLAN network has been closed. - * - * @param[in] iapId ID of the closed IAP. - */ - void wlanNetworkClosed(int iapId); +private: + + Q_DISABLE_COPY(WlanQtUtils) + +private slots: - /** - * Signal indicating that the WLAN master status has changed. - */ - void masterWlanStatus(bool enabled); - -private: // Data +private: // data + + //! Pointer to private implementation + QScopedPointer d_ptr; - /** Pointer to private implementation */ - WlanQtUtilsPrivate *d_ptr; - -private: // Friend classes - - // This is defined as a friend class in order to be able to emit public signals - // directly from private implementation code. + // Friend classes + + // This is defined as a friend class in order to be able to emit public + // signals directly from private implementation code. friend class WlanQtUtilsPrivate; // This is defined as a friend class in order to be able to @@ -164,6 +175,4 @@ friend class TestWlanQtUtils; }; -#endif /* WLANQTUTILS_H */ - -// End of File +#endif // WLANQTUTILS_H