wlanutilities/wpswizard/src/wpswizard_p.cpp
author hgs
Fri, 03 Sep 2010 09:37:37 +0300
changeset 60 822a45792fdd
parent 39 7b3e49e4608a
permissions -rw-r--r--
201035
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
39
hgs
parents:
diff changeset
     1
/*
60
hgs
parents: 39
diff changeset
     2
* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
hgs
parents: 39
diff changeset
     3
* All rights reserved.
hgs
parents: 39
diff changeset
     4
* This component and the accompanying materials are made available
hgs
parents: 39
diff changeset
     5
* under the terms of the "Eclipse Public License v1.0"
hgs
parents: 39
diff changeset
     6
* which accompanies this distribution, and is available
hgs
parents: 39
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
hgs
parents: 39
diff changeset
     8
*
hgs
parents: 39
diff changeset
     9
* Initial Contributors:
hgs
parents: 39
diff changeset
    10
* Nokia Corporation - initial contribution.
hgs
parents: 39
diff changeset
    11
*
hgs
parents: 39
diff changeset
    12
* Contributors:
hgs
parents: 39
diff changeset
    13
*
hgs
parents: 39
diff changeset
    14
* Description: 
hgs
parents: 39
diff changeset
    15
* WPS Wizard: Private implementation.
hgs
parents: 39
diff changeset
    16
*/
39
hgs
parents:
diff changeset
    17
hgs
parents:
diff changeset
    18
// System includes
60
hgs
parents: 39
diff changeset
    19
hgs
parents: 39
diff changeset
    20
#include <QGraphicsWidget>
hgs
parents: 39
diff changeset
    21
#include <QApplication>
hgs
parents: 39
diff changeset
    22
39
hgs
parents:
diff changeset
    23
#include <HbTranslator>
hgs
parents:
diff changeset
    24
#include <HbDocumentLoader>
hgs
parents:
diff changeset
    25
#include <HbMainWindow>
hgs
parents:
diff changeset
    26
#include <HbView>
hgs
parents:
diff changeset
    27
#include <HbStackedWidget>
hgs
parents:
diff changeset
    28
#include <HbLabel>
hgs
parents:
diff changeset
    29
#include <HbAction>
60
hgs
parents: 39
diff changeset
    30
39
hgs
parents:
diff changeset
    31
#include <cmmanagerdefines_shim.h>
hgs
parents:
diff changeset
    32
60
hgs
parents: 39
diff changeset
    33
// User includes
39
hgs
parents:
diff changeset
    34
hgs
parents:
diff changeset
    35
#include "wlanwizardhelper.h"
hgs
parents:
diff changeset
    36
// WPS Wizard 
hgs
parents:
diff changeset
    37
#include "wpswizard.h"
hgs
parents:
diff changeset
    38
#include "wpswizard_p.h"
hgs
parents:
diff changeset
    39
// Wizard Pages
hgs
parents:
diff changeset
    40
#include "wpswizardsteptwo.h"
hgs
parents:
diff changeset
    41
#include "wpswizardstepthreebutton.h"
hgs
parents:
diff changeset
    42
#include "wpswizardstepthreenumber.h"
hgs
parents:
diff changeset
    43
#include "wpswizardstepfour.h"
hgs
parents:
diff changeset
    44
#include "wpswizardstepfive.h"
hgs
parents:
diff changeset
    45
60
hgs
parents: 39
diff changeset
    46
// Trace includes
hgs
parents: 39
diff changeset
    47
hgs
parents: 39
diff changeset
    48
#include "OstTraceDefinitions.h"
hgs
parents: 39
diff changeset
    49
#ifdef OST_TRACE_COMPILER_IN_USE
hgs
parents: 39
diff changeset
    50
#include "wpswizard_pTraces.h"
hgs
parents: 39
diff changeset
    51
#endif
hgs
parents: 39
diff changeset
    52
39
hgs
parents:
diff changeset
    53
//Forward Decalrations
hgs
parents:
diff changeset
    54
hgs
parents:
diff changeset
    55
// External function prototypes
hgs
parents:
diff changeset
    56
hgs
parents:
diff changeset
    57
// Local constants
hgs
parents:
diff changeset
    58
hgs
parents:
diff changeset
    59
hgs
parents:
diff changeset
    60
/*!
hgs
parents:
diff changeset
    61
 \class WpsWizardPrivate
hgs
parents:
diff changeset
    62
 \brief This class providesthe private class implementation for WPS wizard 
hgs
parents:
diff changeset
    63
 */
hgs
parents:
diff changeset
    64
hgs
parents:
diff changeset
    65
// ======== LOCAL FUNCTIONS ========
hgs
parents:
diff changeset
    66
hgs
parents:
diff changeset
    67
// ======== MEMBER FUNCTIONS ========
hgs
parents:
diff changeset
    68
hgs
parents:
diff changeset
    69
/*!
hgs
parents:
diff changeset
    70
   Constructor for the private implementation of wps wizard
hgs
parents:
diff changeset
    71
   
hgs
parents:
diff changeset
    72
   @param [in] wizard WpsWizard* pointer to the framework object
hgs
parents:
diff changeset
    73
   @param [in] wizardHelper WlanWizardHelper * pointer to the wizard helpper class 
hgs
parents:
diff changeset
    74
   
hgs
parents:
diff changeset
    75
   @return WpsWizardPrivate 
hgs
parents:
diff changeset
    76
 */
60
hgs
parents: 39
diff changeset
    77
WpsWizardPrivate::WpsWizardPrivate(
hgs
parents: 39
diff changeset
    78
    WpsWizard* wizard,
39
hgs
parents:
diff changeset
    79
    WlanWizardHelper *wizardHelper) :
hgs
parents:
diff changeset
    80
    q_ptr(wizard), 
hgs
parents:
diff changeset
    81
    mWizardHelper(wizardHelper),
hgs
parents:
diff changeset
    82
    mTranslator(new HbTranslator("wpswizardplugin")), 
hgs
parents:
diff changeset
    83
    mRandomNumber(0)
hgs
parents:
diff changeset
    84
{
hgs
parents:
diff changeset
    85
    OstTraceFunctionEntry1(WPSWIZARDPRIVATE_WPSWIZARDPRIVATE_ENTRY, this);
hgs
parents:
diff changeset
    86
    createPages();
hgs
parents:
diff changeset
    87
    OstTraceFunctionExit1(WPSWIZARDPRIVATE_WPSWIZARDPRIVATE_EXIT, this);
hgs
parents:
diff changeset
    88
}
hgs
parents:
diff changeset
    89
hgs
parents:
diff changeset
    90
/*!
hgs
parents:
diff changeset
    91
   Destructor
hgs
parents:
diff changeset
    92
 */
hgs
parents:
diff changeset
    93
WpsWizardPrivate::~WpsWizardPrivate()
hgs
parents:
diff changeset
    94
{
hgs
parents:
diff changeset
    95
    OstTraceFunctionEntry1(WPSWIZARDPRIVATE_WPSWIZARDPRIVATE_DESTRUCTOR_ENTRY, this);
hgs
parents:
diff changeset
    96
    // have to delete the memory that was allocated in this object
hgs
parents:
diff changeset
    97
    mIapList.clear();
hgs
parents:
diff changeset
    98
    OstTraceFunctionExit1(WPSWIZARDPRIVATE_WPSWIZARDPRIVATE_DESTRUCTOR_EXIT, this);
hgs
parents:
diff changeset
    99
}
hgs
parents:
diff changeset
   100
hgs
parents:
diff changeset
   101
/*!
hgs
parents:
diff changeset
   102
   Provides the caller with the functionality to enable/disable the 'Next' button
hgs
parents:
diff changeset
   103
   
hgs
parents:
diff changeset
   104
   @param [in] enable bool to indicate whether to enable or disable the 'next button'
hgs
parents:
diff changeset
   105
 */
hgs
parents:
diff changeset
   106
void WpsWizardPrivate::enableNextButton(bool enable)
hgs
parents:
diff changeset
   107
{
hgs
parents:
diff changeset
   108
    OstTraceFunctionEntry1(WPSWIZARDPRIVATE_ENABLENEXTBUTTON_ENTRY, this);
hgs
parents:
diff changeset
   109
    mWizardHelper->enableNextButton(enable);
hgs
parents:
diff changeset
   110
    OstTraceFunctionExit1(WPSWIZARDPRIVATE_ENABLENEXTBUTTON_EXIT, this);
hgs
parents:
diff changeset
   111
}
hgs
parents:
diff changeset
   112
hgs
parents:
diff changeset
   113
/*!
hgs
parents:
diff changeset
   114
   Provides the functionality to automatically move to the next page.
hgs
parents:
diff changeset
   115
 */
hgs
parents:
diff changeset
   116
void WpsWizardPrivate::nextPage()
hgs
parents:
diff changeset
   117
{
hgs
parents:
diff changeset
   118
    OstTraceFunctionEntry1(WPSWIZARDPRIVATE_NEXTPAGE_ENTRY, this);
hgs
parents:
diff changeset
   119
    mWizardHelper->nextPage();
hgs
parents:
diff changeset
   120
    OstTraceFunctionExit1(WPSWIZARDPRIVATE_NEXTPAGE_EXIT, this);
hgs
parents:
diff changeset
   121
}
hgs
parents:
diff changeset
   122
hgs
parents:
diff changeset
   123
/*!
hgs
parents:
diff changeset
   124
   Provides access to the main window
hgs
parents:
diff changeset
   125
   
hgs
parents:
diff changeset
   126
   @return HbMainWindow* An instance of HbMainWindow.
hgs
parents:
diff changeset
   127
 */
hgs
parents:
diff changeset
   128
HbMainWindow* WpsWizardPrivate::mainWindow()
hgs
parents:
diff changeset
   129
{
hgs
parents:
diff changeset
   130
    return mWizardHelper->mainWindow();
hgs
parents:
diff changeset
   131
}
hgs
parents:
diff changeset
   132
hgs
parents:
diff changeset
   133
/*!
hgs
parents:
diff changeset
   134
   Provides the functionality to store the received settings
hgs
parents:
diff changeset
   135
   
hgs
parents:
diff changeset
   136
   @param [in] index int indicates the index in the array of received 
hgs
parents:
diff changeset
   137
            settings to be stored
hgs
parents:
diff changeset
   138
 */
hgs
parents:
diff changeset
   139
void WpsWizardPrivate::storeSettings(int index)
hgs
parents:
diff changeset
   140
{
hgs
parents:
diff changeset
   141
    OstTraceFunctionEntry1(WPSWIZARDPRIVATE_STORESETTINGS_ENTRY, this);
hgs
parents:
diff changeset
   142
    
hgs
parents:
diff changeset
   143
    if (mIapList.count() > index)
hgs
parents:
diff changeset
   144
        {
hgs
parents:
diff changeset
   145
        mWpsAttr = mIapList[index];
hgs
parents:
diff changeset
   146
    
hgs
parents:
diff changeset
   147
        // SSID
hgs
parents:
diff changeset
   148
        QString ssid = QString::fromUtf8(reinterpret_cast<const char*> (mWpsAttr.iSsid.Ptr()),
hgs
parents:
diff changeset
   149
                mWpsAttr.iSsid.Length());    
60
hgs
parents: 39
diff changeset
   150
        mWizardHelper->setConfiguration(WlanWizardHelper::ConfName, ssid);
hgs
parents: 39
diff changeset
   151
        mWizardHelper->setConfiguration(WlanWizardHelper::ConfSsid, ssid.toUtf8());
39
hgs
parents:
diff changeset
   152
        // WEP Key1
hgs
parents:
diff changeset
   153
        QString str = QString::fromUtf8(reinterpret_cast<const char*>(mWpsAttr.iWepKey1.Ptr()),
hgs
parents:
diff changeset
   154
                mWpsAttr.iWepKey1.Length());
hgs
parents:
diff changeset
   155
        mWizardHelper->setConfiguration(WlanWizardHelper::ConfKeyWep1, str);
hgs
parents:
diff changeset
   156
        // WEP Key2
hgs
parents:
diff changeset
   157
        str = QString::fromUtf8(reinterpret_cast<const char*> (mWpsAttr.iWepKey2.Ptr()),
hgs
parents:
diff changeset
   158
                mWpsAttr.iWepKey2.Length());
hgs
parents:
diff changeset
   159
        mWizardHelper->setConfiguration(WlanWizardHelper::ConfKeyWep2, str);
hgs
parents:
diff changeset
   160
        // WEP Key3
hgs
parents:
diff changeset
   161
        str = QString::fromUtf8(reinterpret_cast<const char*> (mWpsAttr.iWepKey3.Ptr()),
hgs
parents:
diff changeset
   162
                mWpsAttr.iWepKey3.Length());
hgs
parents:
diff changeset
   163
        mWizardHelper->setConfiguration(WlanWizardHelper::ConfKeyWep3, str);
hgs
parents:
diff changeset
   164
        // WEP Key4
hgs
parents:
diff changeset
   165
        str = QString::fromUtf8(reinterpret_cast<const char*> (mWpsAttr.iWepKey4.Ptr()),
hgs
parents:
diff changeset
   166
                mWpsAttr.iWepKey4.Length());
hgs
parents:
diff changeset
   167
        mWizardHelper->setConfiguration(WlanWizardHelper::ConfKeyWep4, str);
hgs
parents:
diff changeset
   168
        //Default WEP key in use
hgs
parents:
diff changeset
   169
        mWizardHelper->setConfiguration(WlanWizardHelper::ConfKeyWepDefault,
hgs
parents:
diff changeset
   170
                convertDefaultWepKey(mWpsAttr.iWepDefaultKey));
hgs
parents:
diff changeset
   171
        //Key WPA
hgs
parents:
diff changeset
   172
        str = QString::fromUtf8(reinterpret_cast<const char*> (mWpsAttr.iWpaPreSharedKey.Ptr()),
hgs
parents:
diff changeset
   173
                mWpsAttr.iWpaPreSharedKey.Length());
hgs
parents:
diff changeset
   174
        mWizardHelper->setConfiguration(WlanWizardHelper::ConfKeyWpa, str);
hgs
parents:
diff changeset
   175
        // security mode
hgs
parents:
diff changeset
   176
        mWizardHelper->setConfiguration(WlanWizardHelper::ConfSecurityMode,
hgs
parents:
diff changeset
   177
                convertSecurityModes(mWpsAttr.iSecurityMode));
hgs
parents:
diff changeset
   178
        // Network Mode
hgs
parents:
diff changeset
   179
        mWizardHelper->setConfiguration(WlanWizardHelper::ConfNetworkMode,
hgs
parents:
diff changeset
   180
                convertNetworkModes(mWpsAttr.iOperatingMode));
hgs
parents:
diff changeset
   181
        
hgs
parents:
diff changeset
   182
        mWizardHelper->setConfiguration(WlanWizardHelper::ConfUsePsk, true);
hgs
parents:
diff changeset
   183
        }
hgs
parents:
diff changeset
   184
hgs
parents:
diff changeset
   185
    OstTraceFunctionExit1(WPSWIZARDPRIVATE_STORESETTINGS_EXIT, this);
hgs
parents:
diff changeset
   186
}
hgs
parents:
diff changeset
   187
hgs
parents:
diff changeset
   188
/*!
hgs
parents:
diff changeset
   189
   Provides the functionality to retrieve the ssid of the network to connect
hgs
parents:
diff changeset
   190
   
hgs
parents:
diff changeset
   191
   @return returns the SSID as a QString
hgs
parents:
diff changeset
   192
 */
hgs
parents:
diff changeset
   193
QString WpsWizardPrivate::getSsid()
hgs
parents:
diff changeset
   194
{
hgs
parents:
diff changeset
   195
    OstTraceFunctionEntry1(WPSWIZARDPRIVATE_GETSSID_ENTRY, this);
hgs
parents:
diff changeset
   196
    QString ssid;
hgs
parents:
diff changeset
   197
    ssid = mWizardHelper->configuration(WlanWizardHelper::ConfSsid).toString();
hgs
parents:
diff changeset
   198
    OstTraceFunctionExit1(WPSWIZARDPRIVATE_GETSSID_EXIT, this);
hgs
parents:
diff changeset
   199
    return ssid;
hgs
parents:
diff changeset
   200
}
hgs
parents:
diff changeset
   201
hgs
parents:
diff changeset
   202
/*!
hgs
parents:
diff changeset
   203
   Provides functionality for the caller to store the array of 
hgs
parents:
diff changeset
   204
   recieved settings from AP
hgs
parents:
diff changeset
   205
   
hgs
parents:
diff changeset
   206
   @param [in] credentials QList<TWlanProtectedSetupCredentialAttribute>& 
hgs
parents:
diff changeset
   207
        received settings from wps enabled AP
hgs
parents:
diff changeset
   208
 */
hgs
parents:
diff changeset
   209
void WpsWizardPrivate::storeSettingsArray(QList<
hgs
parents:
diff changeset
   210
        TWlanProtectedSetupCredentialAttribute>& credentials)
hgs
parents:
diff changeset
   211
{
hgs
parents:
diff changeset
   212
    OstTraceFunctionEntry1(WPSWIZARDPRIVATE_STORESETTINGSARRAY_ENTRY, this);
hgs
parents:
diff changeset
   213
    mIapList = credentials;
hgs
parents:
diff changeset
   214
    OstTraceFunctionExit1(WPSWIZARDPRIVATE_STORESETTINGSARRAY_EXIT, this);
hgs
parents:
diff changeset
   215
}
hgs
parents:
diff changeset
   216
hgs
parents:
diff changeset
   217
/*!
hgs
parents:
diff changeset
   218
   Returns the array of settings received from the AP
hgs
parents:
diff changeset
   219
   
hgs
parents:
diff changeset
   220
   @return Array containing the settings
hgs
parents:
diff changeset
   221
 */
hgs
parents:
diff changeset
   222
QList<TWlanProtectedSetupCredentialAttribute> WpsWizardPrivate::getSettingsArray()
hgs
parents:
diff changeset
   223
{
hgs
parents:
diff changeset
   224
    OstTraceFunctionEntry1(WPSWIZARDPRIVATE_GETSETTINGSARRAY_ENTRY, this);
hgs
parents:
diff changeset
   225
    OstTraceFunctionExit1(WPSWIZARDPRIVATE_GETSETTINGSARRAY_EXIT, this);
hgs
parents:
diff changeset
   226
    return mIapList;
hgs
parents:
diff changeset
   227
}
hgs
parents:
diff changeset
   228
hgs
parents:
diff changeset
   229
/*!
hgs
parents:
diff changeset
   230
   Creates the required pages for WPS setup
hgs
parents:
diff changeset
   231
 */
hgs
parents:
diff changeset
   232
void WpsWizardPrivate::createPages()
hgs
parents:
diff changeset
   233
{
hgs
parents:
diff changeset
   234
    OstTraceFunctionEntry1(WPSWIZARDPRIVATE_CREATEPAGES_ENTRY, this);
hgs
parents:
diff changeset
   235
    
hgs
parents:
diff changeset
   236
    mWizardHelper->addPage(WpsWizardPage::PageWpsWizardStep2,
hgs
parents:
diff changeset
   237
            new WpsPageStepTwo(this));
hgs
parents:
diff changeset
   238
hgs
parents:
diff changeset
   239
    mWizardHelper->addPage(WpsWizardPage::PageWpsWizardStep3_Button,
hgs
parents:
diff changeset
   240
            new WpsPageStepThreeButton(this));
hgs
parents:
diff changeset
   241
    
hgs
parents:
diff changeset
   242
    mWizardHelper->addPage(WpsWizardPage::PageWpsWizardStep3_Number,
hgs
parents:
diff changeset
   243
            new WpsPageStepThreeNumber(this));
hgs
parents:
diff changeset
   244
    
hgs
parents:
diff changeset
   245
    mWizardHelper->addPage(WpsWizardPage::PageWpsWizardStep4,
hgs
parents:
diff changeset
   246
            new WpsPageStepFour(this));
hgs
parents:
diff changeset
   247
    
hgs
parents:
diff changeset
   248
    mWizardHelper->addPage(WpsWizardPage::PageWpsWizardStep5,
hgs
parents:
diff changeset
   249
            new WpsPageStepFive(this));
hgs
parents:
diff changeset
   250
    
hgs
parents:
diff changeset
   251
    OstTraceFunctionExit1(WPSWIZARDPRIVATE_CREATEPAGES_EXIT, this);
hgs
parents:
diff changeset
   252
}
hgs
parents:
diff changeset
   253
hgs
parents:
diff changeset
   254
/*!
hgs
parents:
diff changeset
   255
   Converts enums between wlan security mode to cm manager enums.
hgs
parents:
diff changeset
   256
   
hgs
parents:
diff changeset
   257
   @param [in] securityMode Security operating mode from wlanmgmt api
hgs
parents:
diff changeset
   258
   
hgs
parents:
diff changeset
   259
   @return int converted CMManagerShim::WlanSecMode codes
hgs
parents:
diff changeset
   260
 */
hgs
parents:
diff changeset
   261
int WpsWizardPrivate::convertSecurityModes(TWlanIapSecurityMode securityMode)
hgs
parents:
diff changeset
   262
{
hgs
parents:
diff changeset
   263
    CMManagerShim::WlanSecMode cmManagerSecurityMode;
hgs
parents:
diff changeset
   264
    switch(securityMode) {
hgs
parents:
diff changeset
   265
    case EWlanIapSecurityModeWep:
hgs
parents:
diff changeset
   266
        cmManagerSecurityMode = CMManagerShim::WlanSecModeWep;
hgs
parents:
diff changeset
   267
        break;
hgs
parents:
diff changeset
   268
        
hgs
parents:
diff changeset
   269
    case EWlanIapSecurityModeWpa:
hgs
parents:
diff changeset
   270
        cmManagerSecurityMode = CMManagerShim::WlanSecModeWpa;
hgs
parents:
diff changeset
   271
        break;
hgs
parents:
diff changeset
   272
        
hgs
parents:
diff changeset
   273
    case EWlanIapSecurityModeWpa2Only:
hgs
parents:
diff changeset
   274
        cmManagerSecurityMode = CMManagerShim::WlanSecModeWpa2;
hgs
parents:
diff changeset
   275
        break;
hgs
parents:
diff changeset
   276
        
hgs
parents:
diff changeset
   277
    default:
hgs
parents:
diff changeset
   278
        // invalid securityMode.
hgs
parents:
diff changeset
   279
        // Not possible to get EWlanIapSecurityMode802d1x here. Since not 
hgs
parents:
diff changeset
   280
        // supported with wps
hgs
parents:
diff changeset
   281
        Q_ASSERT(EWlanIapSecurityModeAllowUnsecure == securityMode);
hgs
parents:
diff changeset
   282
        cmManagerSecurityMode = CMManagerShim::WlanSecModeOpen;
hgs
parents:
diff changeset
   283
        break;
hgs
parents:
diff changeset
   284
    }
hgs
parents:
diff changeset
   285
    
hgs
parents:
diff changeset
   286
    return cmManagerSecurityMode;
hgs
parents:
diff changeset
   287
}
hgs
parents:
diff changeset
   288
hgs
parents:
diff changeset
   289
/*!
hgs
parents:
diff changeset
   290
   Converts enums between wlan wep key index to cm manager enums.
hgs
parents:
diff changeset
   291
   
hgs
parents:
diff changeset
   292
   @param [in] defaultWepKey Default wep key used in wlanmgmt api
hgs
parents:
diff changeset
   293
   
hgs
parents:
diff changeset
   294
   @return int converted CMManagerShim::WlanWepKeyIndex codes
hgs
parents:
diff changeset
   295
 */
hgs
parents:
diff changeset
   296
int WpsWizardPrivate::convertDefaultWepKey(TWlanDefaultWepKey defaultWepKey)
hgs
parents:
diff changeset
   297
{
hgs
parents:
diff changeset
   298
    int cmManagerWepKeyIndex;
hgs
parents:
diff changeset
   299
    
hgs
parents:
diff changeset
   300
    switch (defaultWepKey) {
hgs
parents:
diff changeset
   301
    case EWlanDefaultWepKey2:
hgs
parents:
diff changeset
   302
        cmManagerWepKeyIndex = CMManagerShim::WepKeyIndex2;
hgs
parents:
diff changeset
   303
        break;
hgs
parents:
diff changeset
   304
        
hgs
parents:
diff changeset
   305
    case EWlanDefaultWepKey3:
hgs
parents:
diff changeset
   306
        cmManagerWepKeyIndex = CMManagerShim::WepKeyIndex3;
hgs
parents:
diff changeset
   307
        break;
hgs
parents:
diff changeset
   308
        
hgs
parents:
diff changeset
   309
    case EWlanDefaultWepKey4:
hgs
parents:
diff changeset
   310
        cmManagerWepKeyIndex = CMManagerShim::WepKeyIndex4;
hgs
parents:
diff changeset
   311
        break;
hgs
parents:
diff changeset
   312
        
hgs
parents:
diff changeset
   313
    case EWlanDefaultWepKey1:
hgs
parents:
diff changeset
   314
    default:
hgs
parents:
diff changeset
   315
        // It is possible that the value of defaultWepKey is not initialized
hgs
parents:
diff changeset
   316
        // when security mode is Open. That's why we cannot assert here.
hgs
parents:
diff changeset
   317
        cmManagerWepKeyIndex = CMManagerShim::WepKeyIndex1;
hgs
parents:
diff changeset
   318
        break;
hgs
parents:
diff changeset
   319
    }
hgs
parents:
diff changeset
   320
    return cmManagerWepKeyIndex;
hgs
parents:
diff changeset
   321
}
hgs
parents:
diff changeset
   322
hgs
parents:
diff changeset
   323
/*!
hgs
parents:
diff changeset
   324
   Converts enums between wlan network mode to cm manager enums.
hgs
parents:
diff changeset
   325
   
hgs
parents:
diff changeset
   326
   @param [in] networkMode Networking operating mode from wlanmgmt api
hgs
parents:
diff changeset
   327
   
hgs
parents:
diff changeset
   328
   @return int converted CMManagerShim::WlanConnMode codes
hgs
parents:
diff changeset
   329
 */
hgs
parents:
diff changeset
   330
int WpsWizardPrivate::convertNetworkModes(TWlanOperatingMode networkMode)
hgs
parents:
diff changeset
   331
{
hgs
parents:
diff changeset
   332
    CMManagerShim::WlanConnMode wlanConnMode;
hgs
parents:
diff changeset
   333
    switch (networkMode) {
hgs
parents:
diff changeset
   334
    case EWlanOperatingModeAdhoc:
hgs
parents:
diff changeset
   335
        wlanConnMode = CMManagerShim::Adhoc;
hgs
parents:
diff changeset
   336
        break;
hgs
parents:
diff changeset
   337
        
hgs
parents:
diff changeset
   338
    default: 
hgs
parents:
diff changeset
   339
        Q_ASSERT(EWlanOperatingModeInfrastructure == networkMode);
hgs
parents:
diff changeset
   340
        wlanConnMode = CMManagerShim::Infra;
hgs
parents:
diff changeset
   341
        break;
hgs
parents:
diff changeset
   342
    }
hgs
parents:
diff changeset
   343
    return wlanConnMode;
hgs
parents:
diff changeset
   344
}
hgs
parents:
diff changeset
   345
hgs
parents:
diff changeset
   346
/*!
hgs
parents:
diff changeset
   347
   Provides with the functionality to store the PIN generated
hgs
parents:
diff changeset
   348
   
hgs
parents:
diff changeset
   349
   @param [in] random The generated PIN code to be used in succesive steps
hgs
parents:
diff changeset
   350
   
hgs
parents:
diff changeset
   351
 */
hgs
parents:
diff changeset
   352
void WpsWizardPrivate::setPin(int random)
hgs
parents:
diff changeset
   353
{
hgs
parents:
diff changeset
   354
    OstTraceFunctionEntry1(WPSWIZARDPRIVATE_SETPIN_ENTRY, this);
hgs
parents:
diff changeset
   355
    mRandomNumber = random;
hgs
parents:
diff changeset
   356
    OstTraceFunctionExit1(WPSWIZARDPRIVATE_SETPIN_EXIT, this);
hgs
parents:
diff changeset
   357
}
hgs
parents:
diff changeset
   358
hgs
parents:
diff changeset
   359
/*!
hgs
parents:
diff changeset
   360
   Returns the PIN code stored in one of the WPS Pages
hgs
parents:
diff changeset
   361
   
hgs
parents:
diff changeset
   362
   @return PIN code to be used in the WPS operation.
hgs
parents:
diff changeset
   363
 */
hgs
parents:
diff changeset
   364
int WpsWizardPrivate::getPin()
hgs
parents:
diff changeset
   365
{
hgs
parents:
diff changeset
   366
    OstTraceFunctionEntry1(WPSWIZARDPRIVATE_GETPIN_ENTRY, this); 
hgs
parents:
diff changeset
   367
    OstTraceFunctionExit1(WPSWIZARDPRIVATE_GETPIN_EXIT, this);
hgs
parents:
diff changeset
   368
    return mRandomNumber;
hgs
parents:
diff changeset
   369
}
hgs
parents:
diff changeset
   370
hgs
parents:
diff changeset
   371
/*!
hgs
parents:
diff changeset
   372
   Returns page id when manual configuration is chosen
hgs
parents:
diff changeset
   373
   
hgs
parents:
diff changeset
   374
   @param [in] useWps is WPS used or not?
hgs
parents:
diff changeset
   375
   
hgs
parents:
diff changeset
   376
   @return new page id
hgs
parents:
diff changeset
   377
 */
hgs
parents:
diff changeset
   378
int WpsWizardPrivate::nextPageId(bool useWps)
hgs
parents:
diff changeset
   379
{
hgs
parents:
diff changeset
   380
    OstTraceFunctionEntry1(WPSWIZARDPRIVATE_NEXTPAGEID_ENTRY, this);
hgs
parents:
diff changeset
   381
    OstTraceFunctionExit1(WPSWIZARDPRIVATE_NEXTPAGEID_EXIT, this);
hgs
parents:
diff changeset
   382
    return mWizardHelper->nextPageId(useWps);
hgs
parents:
diff changeset
   383
}
hgs
parents:
diff changeset
   384
hgs
parents:
diff changeset
   385
/*!
hgs
parents:
diff changeset
   386
    Sets wlan configuration value for given configuration identifier.
hgs
parents:
diff changeset
   387
    See ConfigurationId for further details about the data types in QVariant.
hgs
parents:
diff changeset
   388
    
hgs
parents:
diff changeset
   389
    @param [in] confId Configuration Identifier do to be set
hgs
parents:
diff changeset
   390
    @param [in] value  Value for configuration.
hgs
parents:
diff changeset
   391
  */
hgs
parents:
diff changeset
   392
void WpsWizardPrivate::setConfiguration(
hgs
parents:
diff changeset
   393
    WlanWizardHelper::ConfigurationId confId,
hgs
parents:
diff changeset
   394
    const QVariant &value)
hgs
parents:
diff changeset
   395
{
hgs
parents:
diff changeset
   396
    mWizardHelper->setConfiguration(confId, value);
hgs
parents:
diff changeset
   397
}