diff -r 63be7eb3fc78 -r f28ada11abbf wlanutilities/wpswizard/src/wpswizard_p.cpp --- a/wlanutilities/wpswizard/src/wpswizard_p.cpp Tue Aug 31 16:18:40 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,391 +0,0 @@ -/* - * 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 the "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: - * WPS Wizard: Private implementation. - * - */ - -// System includes -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -// Trace includes -#include "OstTraceDefinitions.h" -#ifdef OST_TRACE_COMPILER_IN_USE -#include "wpswizard_pTraces.h" -#endif - -// User includes -#include "wlanwizardhelper.h" -// WPS Wizard -#include "wpswizard.h" -#include "wpswizard_p.h" -// Wizard Pages -#include "wpswizardsteptwo.h" -#include "wpswizardstepthreebutton.h" -#include "wpswizardstepthreenumber.h" -#include "wpswizardstepfour.h" -#include "wpswizardstepfive.h" - -//Forward Decalrations - -// External function prototypes - -// Local constants - - -/*! - \class WpsWizardPrivate - \brief This class providesthe private class implementation for WPS wizard - */ - -// ======== LOCAL FUNCTIONS ======== - -// ======== MEMBER FUNCTIONS ======== - -/*! - Constructor for the private implementation of wps wizard - - @param [in] wizard WpsWizard* pointer to the framework object - @param [in] wizardHelper WlanWizardHelper * pointer to the wizard helpper class - - @return WpsWizardPrivate - */ -WpsWizardPrivate::WpsWizardPrivate(WpsWizard* wizard, - WlanWizardHelper *wizardHelper) : - q_ptr(wizard), - mWizardHelper(wizardHelper), - mTranslator(new HbTranslator("wpswizardplugin")), - mRandomNumber(0) -{ - OstTraceFunctionEntry1(WPSWIZARDPRIVATE_WPSWIZARDPRIVATE_ENTRY, this); - createPages(); - OstTraceFunctionExit1(WPSWIZARDPRIVATE_WPSWIZARDPRIVATE_EXIT, this); -} - -/*! - Destructor - */ -WpsWizardPrivate::~WpsWizardPrivate() -{ - OstTraceFunctionEntry1(WPSWIZARDPRIVATE_WPSWIZARDPRIVATE_DESTRUCTOR_ENTRY, this); - // have to delete the memory that was allocated in this object - mIapList.clear(); - OstTraceFunctionExit1(WPSWIZARDPRIVATE_WPSWIZARDPRIVATE_DESTRUCTOR_EXIT, this); -} - -/*! - Provides the caller with the functionality to enable/disable the 'Next' button - - @param [in] enable bool to indicate whether to enable or disable the 'next button' - */ -void WpsWizardPrivate::enableNextButton(bool enable) -{ - OstTraceFunctionEntry1(WPSWIZARDPRIVATE_ENABLENEXTBUTTON_ENTRY, this); - mWizardHelper->enableNextButton(enable); - OstTraceFunctionExit1(WPSWIZARDPRIVATE_ENABLENEXTBUTTON_EXIT, this); -} - -/*! - Provides the functionality to automatically move to the next page. - */ -void WpsWizardPrivate::nextPage() -{ - OstTraceFunctionEntry1(WPSWIZARDPRIVATE_NEXTPAGE_ENTRY, this); - mWizardHelper->nextPage(); - OstTraceFunctionExit1(WPSWIZARDPRIVATE_NEXTPAGE_EXIT, this); -} - -/*! - Provides access to the main window - - @return HbMainWindow* An instance of HbMainWindow. - */ -HbMainWindow* WpsWizardPrivate::mainWindow() -{ - return mWizardHelper->mainWindow(); -} - -/*! - Provides the functionality to store the received settings - - @param [in] index int indicates the index in the array of received - settings to be stored - */ -void WpsWizardPrivate::storeSettings(int index) -{ - OstTraceFunctionEntry1(WPSWIZARDPRIVATE_STORESETTINGS_ENTRY, this); - - if (mIapList.count() > index) - { - mWpsAttr = mIapList[index]; - - // SSID - QString ssid = QString::fromUtf8(reinterpret_cast (mWpsAttr.iSsid.Ptr()), - mWpsAttr.iSsid.Length()); - mWizardHelper->setConfiguration(WlanWizardHelper::ConfSsid, ssid); - // WEP Key1 - QString str = QString::fromUtf8(reinterpret_cast(mWpsAttr.iWepKey1.Ptr()), - mWpsAttr.iWepKey1.Length()); - mWizardHelper->setConfiguration(WlanWizardHelper::ConfKeyWep1, str); - // WEP Key2 - str = QString::fromUtf8(reinterpret_cast (mWpsAttr.iWepKey2.Ptr()), - mWpsAttr.iWepKey2.Length()); - mWizardHelper->setConfiguration(WlanWizardHelper::ConfKeyWep2, str); - // WEP Key3 - str = QString::fromUtf8(reinterpret_cast (mWpsAttr.iWepKey3.Ptr()), - mWpsAttr.iWepKey3.Length()); - mWizardHelper->setConfiguration(WlanWizardHelper::ConfKeyWep3, str); - // WEP Key4 - str = QString::fromUtf8(reinterpret_cast (mWpsAttr.iWepKey4.Ptr()), - mWpsAttr.iWepKey4.Length()); - mWizardHelper->setConfiguration(WlanWizardHelper::ConfKeyWep4, str); - //Default WEP key in use - mWizardHelper->setConfiguration(WlanWizardHelper::ConfKeyWepDefault, - convertDefaultWepKey(mWpsAttr.iWepDefaultKey)); - //Key WPA - str = QString::fromUtf8(reinterpret_cast (mWpsAttr.iWpaPreSharedKey.Ptr()), - mWpsAttr.iWpaPreSharedKey.Length()); - mWizardHelper->setConfiguration(WlanWizardHelper::ConfKeyWpa, str); - // security mode - mWizardHelper->setConfiguration(WlanWizardHelper::ConfSecurityMode, - convertSecurityModes(mWpsAttr.iSecurityMode)); - // Network Mode - mWizardHelper->setConfiguration(WlanWizardHelper::ConfNetworkMode, - convertNetworkModes(mWpsAttr.iOperatingMode)); - - mWizardHelper->setConfiguration(WlanWizardHelper::ConfUsePsk, true); - } - - OstTraceFunctionExit1(WPSWIZARDPRIVATE_STORESETTINGS_EXIT, this); -} - -/*! - Provides the functionality to retrieve the ssid of the network to connect - - @return returns the SSID as a QString - */ -QString WpsWizardPrivate::getSsid() -{ - OstTraceFunctionEntry1(WPSWIZARDPRIVATE_GETSSID_ENTRY, this); - QString ssid; - ssid = mWizardHelper->configuration(WlanWizardHelper::ConfSsid).toString(); - OstTraceFunctionExit1(WPSWIZARDPRIVATE_GETSSID_EXIT, this); - return ssid; -} - -/*! - Provides functionality for the caller to store the array of - recieved settings from AP - - @param [in] credentials QList& - received settings from wps enabled AP - */ -void WpsWizardPrivate::storeSettingsArray(QList< - TWlanProtectedSetupCredentialAttribute>& credentials) -{ - OstTraceFunctionEntry1(WPSWIZARDPRIVATE_STORESETTINGSARRAY_ENTRY, this); - mIapList = credentials; - OstTraceFunctionExit1(WPSWIZARDPRIVATE_STORESETTINGSARRAY_EXIT, this); -} - -/*! - Returns the array of settings received from the AP - - @return Array containing the settings - */ -QList WpsWizardPrivate::getSettingsArray() -{ - OstTraceFunctionEntry1(WPSWIZARDPRIVATE_GETSETTINGSARRAY_ENTRY, this); - OstTraceFunctionExit1(WPSWIZARDPRIVATE_GETSETTINGSARRAY_EXIT, this); - return mIapList; -} - -/*! - Creates the required pages for WPS setup - */ -void WpsWizardPrivate::createPages() -{ - OstTraceFunctionEntry1(WPSWIZARDPRIVATE_CREATEPAGES_ENTRY, this); - - mWizardHelper->addPage(WpsWizardPage::PageWpsWizardStep2, - new WpsPageStepTwo(this)); - - mWizardHelper->addPage(WpsWizardPage::PageWpsWizardStep3_Button, - new WpsPageStepThreeButton(this)); - - mWizardHelper->addPage(WpsWizardPage::PageWpsWizardStep3_Number, - new WpsPageStepThreeNumber(this)); - - mWizardHelper->addPage(WpsWizardPage::PageWpsWizardStep4, - new WpsPageStepFour(this)); - - mWizardHelper->addPage(WpsWizardPage::PageWpsWizardStep5, - new WpsPageStepFive(this)); - - OstTraceFunctionExit1(WPSWIZARDPRIVATE_CREATEPAGES_EXIT, this); -} - -/*! - Converts enums between wlan security mode to cm manager enums. - - @param [in] securityMode Security operating mode from wlanmgmt api - - @return int converted CMManagerShim::WlanSecMode codes - */ -int WpsWizardPrivate::convertSecurityModes(TWlanIapSecurityMode securityMode) -{ - CMManagerShim::WlanSecMode cmManagerSecurityMode; - switch(securityMode) { - case EWlanIapSecurityModeWep: - cmManagerSecurityMode = CMManagerShim::WlanSecModeWep; - break; - - case EWlanIapSecurityModeWpa: - cmManagerSecurityMode = CMManagerShim::WlanSecModeWpa; - break; - - case EWlanIapSecurityModeWpa2Only: - cmManagerSecurityMode = CMManagerShim::WlanSecModeWpa2; - break; - - default: - // invalid securityMode. - // Not possible to get EWlanIapSecurityMode802d1x here. Since not - // supported with wps - Q_ASSERT(EWlanIapSecurityModeAllowUnsecure == securityMode); - cmManagerSecurityMode = CMManagerShim::WlanSecModeOpen; - break; - } - - return cmManagerSecurityMode; -} - -/*! - Converts enums between wlan wep key index to cm manager enums. - - @param [in] defaultWepKey Default wep key used in wlanmgmt api - - @return int converted CMManagerShim::WlanWepKeyIndex codes - */ -int WpsWizardPrivate::convertDefaultWepKey(TWlanDefaultWepKey defaultWepKey) -{ - int cmManagerWepKeyIndex; - - switch (defaultWepKey) { - case EWlanDefaultWepKey2: - cmManagerWepKeyIndex = CMManagerShim::WepKeyIndex2; - break; - - case EWlanDefaultWepKey3: - cmManagerWepKeyIndex = CMManagerShim::WepKeyIndex3; - break; - - case EWlanDefaultWepKey4: - cmManagerWepKeyIndex = CMManagerShim::WepKeyIndex4; - break; - - case EWlanDefaultWepKey1: - default: - // It is possible that the value of defaultWepKey is not initialized - // when security mode is Open. That's why we cannot assert here. - cmManagerWepKeyIndex = CMManagerShim::WepKeyIndex1; - break; - } - return cmManagerWepKeyIndex; -} - -/*! - Converts enums between wlan network mode to cm manager enums. - - @param [in] networkMode Networking operating mode from wlanmgmt api - - @return int converted CMManagerShim::WlanConnMode codes - */ -int WpsWizardPrivate::convertNetworkModes(TWlanOperatingMode networkMode) -{ - CMManagerShim::WlanConnMode wlanConnMode; - switch (networkMode) { - case EWlanOperatingModeAdhoc: - wlanConnMode = CMManagerShim::Adhoc; - break; - - default: - Q_ASSERT(EWlanOperatingModeInfrastructure == networkMode); - wlanConnMode = CMManagerShim::Infra; - break; - } - return wlanConnMode; -} - -/*! - Provides with the functionality to store the PIN generated - - @param [in] random The generated PIN code to be used in succesive steps - - */ -void WpsWizardPrivate::setPin(int random) -{ - OstTraceFunctionEntry1(WPSWIZARDPRIVATE_SETPIN_ENTRY, this); - mRandomNumber = random; - OstTraceFunctionExit1(WPSWIZARDPRIVATE_SETPIN_EXIT, this); -} - -/*! - Returns the PIN code stored in one of the WPS Pages - - @return PIN code to be used in the WPS operation. - */ -int WpsWizardPrivate::getPin() -{ - OstTraceFunctionEntry1(WPSWIZARDPRIVATE_GETPIN_ENTRY, this); - OstTraceFunctionExit1(WPSWIZARDPRIVATE_GETPIN_EXIT, this); - return mRandomNumber; -} - -/*! - Returns page id when manual configuration is chosen - - @param [in] useWps is WPS used or not? - - @return new page id - */ -int WpsWizardPrivate::nextPageId(bool useWps) -{ - OstTraceFunctionEntry1(WPSWIZARDPRIVATE_NEXTPAGEID_ENTRY, this); - OstTraceFunctionExit1(WPSWIZARDPRIVATE_NEXTPAGEID_EXIT, this); - return mWizardHelper->nextPageId(useWps); -} - -/*! - 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. - */ -void WpsWizardPrivate::setConfiguration( - WlanWizardHelper::ConfigurationId confId, - const QVariant &value) -{ - mWizardHelper->setConfiguration(confId, value); -}