wlanutilities/wlanwizard/inc/wlanwizardhelper.h
branchRCL_3
changeset 24 63be7eb3fc78
--- /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 <cmmanagerdefines_shim.h>
+
+// 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