diff -r b852595f5cbe -r 63be7eb3fc78 wlanutilities/wlanwizard/inc/wlanwizardhelper.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlanutilities/wlanwizard/inc/wlanwizardhelper.h Tue Aug 31 16:18:40 2010 +0300 @@ -0,0 +1,210 @@ +/* +* 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 Wizard Plugin API: Interface for plugins to wizard services. +*/ + +#ifndef WLANWIZARDHELPER_H +#define WLANWIZARDHELPER_H + +// System includes +#include + +// User includes + +// Forward declarations +class HbMainWindow; +class HbWidget; +class WlanWizardPage; + +// External data types + +// Constants + +/*! + * @addtogroup group_wlan_wizard_api_internal + * @{ + */ + +/*! + This class specifies the interface class that wizard plugins (EAP and WPS) + can use to access wizard framework services. + */ +class WlanWizardHelper +{ +public: + /*! + WLAN Wizard configuration, which are accessible by wlan wizard and it's + plugins. WLAN wizard pages uses this information to store configurations + from ui and state events. + + Please remember to update trace.properties upon changes. + */ + enum ConfigurationId { + //! QString: WLAN Network name (aka SSID) + ConfSsid = 0, + //! int: CMManagerShim::WlanConnectionMode + ConfNetworkMode = 1, + //! int: CMManagerShim::WlanSecMode + ConfSecurityMode = 2, + //! QString: WPA PSK + ConfKeyWpa = 3, + //! QString: WEP Key 1 + ConfKeyWep1 = 4, + //! QString: WEP Key 2 + ConfKeyWep2 = 5, + //! QString: WEP Key 3 + ConfKeyWep3 = 6, + //! QString: WEP Key 4 + ConfKeyWep4 = 7, + //! int: CMManagerShim:::WlanWepKeyIndex, Default WEP Key index + ConfKeyWepDefault = 8, + //! bool: Internet Connectivity Test result, true passed. + ConfIctStatus = 9, + //! int, -1 (WlanQtUtils::IapIdNone): not defined: IAP ID + ConfIapId = 10, + //! bool: true if connection was established successfully + ConfConnected = 11, + //! bool: WLAN AP explicit scanning need + ConfWlanScanSSID = 12, + //! bool: if true use psk, if false use EAP + ConfUsePsk = 13, + //! bool: if true processing connection page is required. + ConfProcessSettings = 14, + //! QString: Localized error string for WlanWizardPageGenericError + ConfGenericErrorString = 15, + //! WlanWizardScanList: Available network options + ConfAvailableNetworkOptions = 16, + //! bool: Wps supported + ConfWpsSupported = 17, + //! int: Identifies how many steps should be gone backwards from + // GenericErrorPage + ConfGenericErrorPageStepsBackwards = 18, + }; + +public: + + /*! + Reader method for wlan configurations. + + See ConfigurationId for further details about the data types in QVariant. + + @param [in] confId Defines what configuration is read. + + @return configuration value. + */ + virtual QVariant configuration(ConfigurationId confId) const = 0; + + /*! + Sets wlan configuration value for given configuration identifier. + See ConfigurationId for further details about the data types in QVariant. + + @param [in] confId Configuration Identifier do to be set + @param [in] value Value for configuration. + */ + virtual void setConfiguration( + ConfigurationId confId, + const QVariant &value) = 0; + + /*! + * Clears wlan configuration at the given configuration identifier and sets + * the configuration value to type Invalid. + * + * @param [in] confId Configuration Identifier do to be cleared + */ + virtual void clearConfiguration(ConfigurationId confId) = 0; + + /*! + * Tests whether a configuration has been set. + * + * @param [in] confId Configuration Identifier do to be tested + * @return true if configuration value != Invalid, else false. + */ + virtual bool configurationExists(ConfigurationId confId) = 0; + + /*! + Enables the next button in wizard. + + @param [in] enable to enable button set to true. + */ + virtual void enableNextButton(bool enable) = 0; + + /*! + Adds a new wizard page into the wizard framework. + + @param [in] pageId The identifier of Page. See WlanWizardPage::PageIds. + @param [in] page New wizard page. + */ + virtual void addPage(int pageId, WlanWizardPage *page) = 0; + + /*! + Triggers movement to the next page. + + @note This operation has been protected with 1.5 second timer to prevent + too short lasting pages. + + @note Must be used with WlanWizardPage::startOperation(). + */ + virtual void nextPage() = 0; + + /*! + @return the main window of wizard. + */ + virtual HbMainWindow *mainWindow() const = 0; + + /*! + Checks if provided page visualization is the current visible page. + + @param [in] page Wizard Page visualization to be checked + + @return true if the page is currently visible. + */ + virtual bool isCurrentPage(const HbWidget *page) const = 0; + + /*! + Can be used to get correct page id based on the existing configuration. + + This method can be used in so called entry points to wizards + - WLAN Wizard has been lauched and setParameters() has been called + - WLAN Wizard makes own internal scanning + - WPS Wizard uses manual configuration mode. + + @param [in] useWps true: if WPS Wizard needs to be opened, false: otherwise + + @return Page Id based on configurations: + - WEP/WPA(2) with PSK: WlanWizardPageInternal::PageKeyQuery + - Open: WlanWizardPage::PageProcessSettings + - 802.1x or WPA (2) with EAP: WlanWizardPage::PageEapStart + - UseWps: WlanWizardPage::PageWpsStart + */ + virtual int nextPageId(bool useWps) = 0; + +signals: + +public slots: + +protected: + +protected slots: + +private: + +private slots: + +private: // data +}; + +/*! @} */ + +#endif // WLANWIZARDHELPER_H