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