diff -r ff3b37722600 -r 10810c91db26 wlanutilities/wpswizard/src/wpswizardprivate.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlanutilities/wpswizard/src/wpswizardprivate.cpp Fri Apr 16 16:07:56 2010 +0300 @@ -0,0 +1,229 @@ +/* + * 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 License "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. + * + */ + +/* + * %version: 1 % + */ + +// System includes +#include +#include +#include +#include +#include +#include +#include +#include + +// Trace includes +#include "OstTraceDefinitions.h" +#ifdef OST_TRACE_COMPILER_IN_USE +#include "wpswizardprivateTraces.h" +#endif + +// User includes +#include "wlanwizardhelpper.h" +// 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" + + +class WlanWizardHelpper; + +/*! + * Constructor for the private implementation of wps wiazard + * + * \param WpsWizard* pointer to the framework object + * \param WlanWizardHelpper * pointer to the wizard helpper class + * + */ +WpsWizardPrivate::WpsWizardPrivate(WpsWizard* wizard, + WlanWizardHelpper *wizardHelpper, int bearerType, int referenceId) : + q_ptr(wizard), mBearerType(bearerType), mReferenceId(referenceId), + mWizardHelpper(wizardHelpper), mRandomNumber(0) + + { + OstTraceFunctionEntry1(WPSWIZARDPRIVATE_WPSWIZARDPRIVATE_ENTRY, this); + + // TODO: load localization file + mTranslator = new QTranslator(this); + mTranslator->load(":/loc/wpswizardplugin.qm"); + qApp->installTranslator(mTranslator); + + createPages(); + + OstTraceFunctionExit1(WPSWIZARDPRIVATE_WPSWIZARDPRIVATE_EXIT, this); + } + +/*! + * Destructor + */ +WpsWizardPrivate::~WpsWizardPrivate() + { + OstTraceFunctionEntry1(WPSWIZARDPRIVATE_WPSWIZARDPRIVATE_ENTRY, this); + // have to delete the memory that was allocated in this object + mIapList.clear(); + delete mTranslator; + OstTraceFunctionExit1(WPSWIZARDPRIVATE_WPSWIZARDPRIVATE_EXIT, this); + } + +/*! + * Provides the caller with the functionality to enable/disable the 'Next' button + * + * \param bool to indicate whether to enable or disable the 'next button' + */ +void WpsWizardPrivate::enableNextButton(bool enable) + { + OstTraceFunctionEntry1(WPSWIZARDPRIVATE_ENABLENEXTBUTTON_ENTRY, this); + mWizardHelpper->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); + mWizardHelpper->nextPage(); + OstTraceFunctionExit1(WPSWIZARDPRIVATE_NEXTPAGE_EXIT, this); + } + +/*! + * Provides the functionality to store the recieved settings + * + * \param int indicates the index in the array of received settings to be stored + */ +void WpsWizardPrivate::storeSettings(int aIndex) + { + OstTraceFunctionEntry1(WPSWIZARDPRIVATE_STORESETTINGS_ENTRY, this); + mWpsAttr = mIapList[aIndex]; + + QString ssid = QString::fromUtf8((const char*) mWpsAttr.iSsid.Ptr(), + mWpsAttr.iSsid.Length()); + + mWizardHelpper->setConfigurations(WlanWizardHelpper::ConfSsid, ssid); + mWizardHelpper->setConfigurations(WlanWizardHelpper::ConfNetworkMode, + mWpsAttr.iOperatingMode); + mWizardHelpper->setConfigurations(WlanWizardHelpper::ConfSecurityMode, + mWpsAttr.iSecurityMode); + mWizardHelpper->setConfigurations(WlanWizardHelpper::ConfKeyWepDefault, + mWpsAttr.iWepDefaultKey); + QString str = QString::fromUtf8((const char*) mWpsAttr.iWepKey1.Ptr(), + mWpsAttr.iWepKey1.Length()); + mWizardHelpper->setConfigurations(WlanWizardHelpper::ConfKeyWep1, str); + str = QString::fromUtf8((const char*) mWpsAttr.iWepKey2.Ptr(), mWpsAttr.iWepKey2.Length()); + mWizardHelpper->setConfigurations(WlanWizardHelpper::ConfKeyWep2, str); + str = QString::fromUtf8((const char*) mWpsAttr.iWepKey3.Ptr(), mWpsAttr.iWepKey3.Length()); + mWizardHelpper->setConfigurations(WlanWizardHelpper::ConfKeyWep3, str); + str = QString::fromUtf8((const char*) mWpsAttr.iWepKey4.Ptr(), mWpsAttr.iWepKey4.Length()); + mWizardHelpper->setConfigurations(WlanWizardHelpper::ConfKeyWep4, str); + + 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 = mWizardHelpper->configurations(WlanWizardHelpper::ConfSsid).toString(); + OstTraceFunctionExit1(WPSWIZARDPRIVATE_GETSSID_EXIT, this); + return ssid; + } + +/*! + * Provides functionality for the caller to store the array of recieved settings from AP + * \param QList& received settings + * + */ +void WpsWizardPrivate::storeSettingsArray(QList< + TWlanProtectedSetupCredentialAttribute>& aIapList) + { + OstTraceFunctionEntry1(WPSWIZARDPRIVATE_STORESETTINGSARRAY_ENTRY, this); + mIapList = aIapList; + 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); + mWizardHelpper->addPage(WpsWizardPage::PageWpsWizardStep2, + new WpsPageStepTwo(this)); + mWizardHelpper->addPage(WpsWizardPage::PageWpsWizardStep3_Button, + new WpsPageStepThreeButton(this)); + mWizardHelpper->addPage(WpsWizardPage::PageWpsWizardStep3_Number, + new WpsPageStepThreeNumber(this)); + mWizardHelpper->addPage(WpsWizardPage::PageWpsWizardStep4, + new WpsPageStepFour(this)); + mWizardHelpper->addPage(WpsWizardPage::PageWpsWizardStep5, + new WpsPageStepFive(this)); + OstTraceFunctionExit1(WPSWIZARDPRIVATE_CREATEPAGES_EXIT, this); + } + +/*! + * Provides with the functionality to store the PIN generated + * + * \param int 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; + + }