wlanutilities/wpswizard/src/wpswizardstepthreenumber.cpp
author hgs
Mon, 23 Aug 2010 13:30:09 +0300
changeset 53 bdc64aa9b954
parent 39 7b3e49e4608a
child 61 e1d68407ed06
permissions -rw-r--r--
201033
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     1
/*
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     2
 * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     3
 * All rights reserved.
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     4
 * This component and the accompanying materials are made available
39
hgs
parents: 19
diff changeset
     5
 * under the terms of "Eclipse Public License v1.0"
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     6
 * which accompanies this distribution, and is available
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     7
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     8
 *
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     9
 * Initial Contributors:
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    10
 * Nokia Corporation - initial contribution.
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    11
 *
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    12
 * Contributors:
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    13
 *
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    14
 * Description: 
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    15
 *   WPS Wizard Page: Step 3 Number enter mode.
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    16
 *
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    17
 */
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    18
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    19
// System includes
39
hgs
parents: 19
diff changeset
    20
#include <HbDocumentLoader>
hgs
parents: 19
diff changeset
    21
#include <HbWidget>
hgs
parents: 19
diff changeset
    22
#include <HbRadiobuttonList>
hgs
parents: 19
diff changeset
    23
#include <HbLineEdit>
hgs
parents: 19
diff changeset
    24
#include <HbLabel>
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    25
#include <QTextStream>
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    26
#include <QTime>
39
hgs
parents: 19
diff changeset
    27
#include <HbMainWindow>
53
hgs
parents: 39
diff changeset
    28
#include <HbParameterLengthLimiter>
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    29
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    30
// User includes
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    31
#include "wpswizardstepthreenumber.h"
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    32
#include "wpswizard_p.h"
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    33
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    34
// Trace includes
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    35
#include "OstTraceDefinitions.h"
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    36
#ifdef OST_TRACE_COMPILER_IN_USE
39
hgs
parents: 19
diff changeset
    37
#include "wpswizardstepthreenumberTraces.h"
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    38
#endif
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    39
39
hgs
parents: 19
diff changeset
    40
// External function prototypes
hgs
parents: 19
diff changeset
    41
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    42
// Local constants
39
hgs
parents: 19
diff changeset
    43
const static int KMaxPINLength = 8;
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    44
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    45
/*!
39
hgs
parents: 19
diff changeset
    46
   \class WpsPageStepThreeNumber
hgs
parents: 19
diff changeset
    47
   \brief Implementation of wps wizard page for step three PIN Entry mode. 
hgs
parents: 19
diff changeset
    48
 */
hgs
parents: 19
diff changeset
    49
hgs
parents: 19
diff changeset
    50
// ======== LOCAL FUNCTIONS ========
hgs
parents: 19
diff changeset
    51
hgs
parents: 19
diff changeset
    52
// ======== MEMBER FUNCTIONS ========
hgs
parents: 19
diff changeset
    53
hgs
parents: 19
diff changeset
    54
/*!
hgs
parents: 19
diff changeset
    55
   Constructor for WPS page three number entry mode
hgs
parents: 19
diff changeset
    56
   
hgs
parents: 19
diff changeset
    57
   @param [in] parent Pointer to the WPS wizard private implementation 
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    58
 */
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    59
WpsPageStepThreeNumber::WpsPageStepThreeNumber(WpsWizardPrivate* parent) :
39
hgs
parents: 19
diff changeset
    60
    WpsWizardPage(parent), 
hgs
parents: 19
diff changeset
    61
    mWidget(NULL), 
hgs
parents: 19
diff changeset
    62
    mHeading(NULL),
hgs
parents: 19
diff changeset
    63
    mLoader(NULL)
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    64
{
39
hgs
parents: 19
diff changeset
    65
    OstTraceFunctionEntry1(WPSPAGESTEPTHREENUMBER_WPSPAGESTEPTHREENUMBER_ENTRY, this); 
hgs
parents: 19
diff changeset
    66
    OstTraceFunctionExit1(WPSPAGESTEPTHREENUMBER_WPSPAGESTEPTHREENUMBER_EXIT, this);
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    67
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    68
}
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    69
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    70
/*!
39
hgs
parents: 19
diff changeset
    71
   Destructor
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    72
 */
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    73
WpsPageStepThreeNumber::~WpsPageStepThreeNumber()
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    74
{
39
hgs
parents: 19
diff changeset
    75
    OstTraceFunctionEntry1(WPSPAGESTEPTHREENUMBER_WPSPAGESTEPTHREENUMBER_DESTRUCTOR_ENTRY, this);
hgs
parents: 19
diff changeset
    76
    delete mLoader;
hgs
parents: 19
diff changeset
    77
    OstTraceFunctionExit1(WPSPAGESTEPTHREENUMBER_WPSPAGESTEPTHREENUMBER_DESTRUCTOR_EXIT, this);
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    78
}
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    79
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    80
/*!
39
hgs
parents: 19
diff changeset
    81
   Loads the page with all the widgets
hgs
parents: 19
diff changeset
    82
   
hgs
parents: 19
diff changeset
    83
   @return HbWidget* Returns the view widget
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    84
 */
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    85
HbWidget* WpsPageStepThreeNumber::initializePage()
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    86
{
39
hgs
parents: 19
diff changeset
    87
    OstTraceFunctionEntry1(WPSPAGESTEPTHREENUMBER_INITIALIZEPAGE_ENTRY, this);
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    88
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    89
    if (!mWidget) {
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    90
        bool ok;
39
hgs
parents: 19
diff changeset
    91
        mLoader = new HbDocumentLoader(mWizard->mainWindow());
hgs
parents: 19
diff changeset
    92
        
hgs
parents: 19
diff changeset
    93
        mLoader->load(":/docml/occ_wps_02_03.docml", &ok);
hgs
parents: 19
diff changeset
    94
        Q_ASSERT(ok);
hgs
parents: 19
diff changeset
    95
        
hgs
parents: 19
diff changeset
    96
        mWidget = qobject_cast<HbWidget*> (mLoader->findWidget("occ_wps_P2"));
hgs
parents: 19
diff changeset
    97
        Q_ASSERT(mWidget);
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    98
39
hgs
parents: 19
diff changeset
    99
        mHeading= qobject_cast<HbLabel*> (mLoader->findWidget("label_heading"));
hgs
parents: 19
diff changeset
   100
        Q_ASSERT(mHeading);
hgs
parents: 19
diff changeset
   101
    } 
hgs
parents: 19
diff changeset
   102
    
hgs
parents: 19
diff changeset
   103
    OstTraceFunctionExit1(WPSPAGESTEPTHREENUMBER_INITIALIZEPAGE_EXIT, this);
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   104
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   105
    return mWidget;
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   106
}
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   107
39
hgs
parents: 19
diff changeset
   108
/*!
hgs
parents: 19
diff changeset
   109
   Funtion to determine the next page to be displayed in the wizard process
hgs
parents: 19
diff changeset
   110
   
hgs
parents: 19
diff changeset
   111
   @param [out] removeFromStack bool indicating whether the current page should be 
hgs
parents: 19
diff changeset
   112
   removed from the stack
hgs
parents: 19
diff changeset
   113
   
hgs
parents: 19
diff changeset
   114
   @return int Page Id of the next page to be displayed.
hgs
parents: 19
diff changeset
   115
 */
hgs
parents: 19
diff changeset
   116
int WpsPageStepThreeNumber::nextId(bool &removeFromStack) const
hgs
parents: 19
diff changeset
   117
{
hgs
parents: 19
diff changeset
   118
    OstTraceFunctionEntry1(WPSPAGESTEPTHREENUMBER_NEXTID_ENTRY, this);
hgs
parents: 19
diff changeset
   119
    removeFromStack = false;
hgs
parents: 19
diff changeset
   120
    OstTraceFunctionExit1(WPSPAGESTEPTHREENUMBER_NEXTID_EXIT, this);
hgs
parents: 19
diff changeset
   121
hgs
parents: 19
diff changeset
   122
    return WpsWizardPage::PageWpsWizardStep4;
hgs
parents: 19
diff changeset
   123
}
hgs
parents: 19
diff changeset
   124
hgs
parents: 19
diff changeset
   125
/*!
hgs
parents: 19
diff changeset
   126
   Determines the Number of steps to move backwards when 'Prev' Button
hgs
parents: 19
diff changeset
   127
   is clicked
hgs
parents: 19
diff changeset
   128
   
hgs
parents: 19
diff changeset
   129
   @return int Number of pages to move backwards
hgs
parents: 19
diff changeset
   130
 */
hgs
parents: 19
diff changeset
   131
int WpsPageStepThreeNumber::previousTriggered()
hgs
parents: 19
diff changeset
   132
{
hgs
parents: 19
diff changeset
   133
    OstTraceFunctionEntry1(WPSPAGESTEPTHREENUMBER_PREVIOUSTRIGGERED_ENTRY, this);
hgs
parents: 19
diff changeset
   134
    
hgs
parents: 19
diff changeset
   135
    mWizard->setPin(0);
hgs
parents: 19
diff changeset
   136
    
hgs
parents: 19
diff changeset
   137
    OstTraceFunctionExit1(WPSPAGESTEPTHREENUMBER_PREVIOUSTRIGGERED_EXIT, this);
hgs
parents: 19
diff changeset
   138
    return (PageWpsWizardStep3_Number - PageWpsWizardStep2) - 1;
hgs
parents: 19
diff changeset
   139
}
hgs
parents: 19
diff changeset
   140
hgs
parents: 19
diff changeset
   141
/*!
hgs
parents: 19
diff changeset
   142
   CallBack when the cancel button is clicked
hgs
parents: 19
diff changeset
   143
 */
hgs
parents: 19
diff changeset
   144
void WpsPageStepThreeNumber::cancelTriggered()
hgs
parents: 19
diff changeset
   145
{
hgs
parents: 19
diff changeset
   146
    OstTraceFunctionEntry1(WPSPAGESTEPTHREENUMBER_CANCELTRIGGERED_ENTRY, this);
hgs
parents: 19
diff changeset
   147
    mWizard->setPin(0);    
hgs
parents: 19
diff changeset
   148
    OstTraceFunctionExit1(WPSPAGESTEPTHREENUMBER_CANCELTRIGGERED_EXIT, this);
hgs
parents: 19
diff changeset
   149
}
hgs
parents: 19
diff changeset
   150
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   151
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   152
/*!
39
hgs
parents: 19
diff changeset
   153
   Determines whether the Next action button should be enabled or not
hgs
parents: 19
diff changeset
   154
   
hgs
parents: 19
diff changeset
   155
   @return bool Indicating whether next button is enabled or not.
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   156
 */
39
hgs
parents: 19
diff changeset
   157
bool WpsPageStepThreeNumber::showPage()
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   158
{
39
hgs
parents: 19
diff changeset
   159
    int randomNumber = computeRandNumber();
53
hgs
parents: 39
diff changeset
   160
    mHeading->setPlainText(
hgs
parents: 39
diff changeset
   161
        HbParameterLengthLimiter(
39
hgs
parents: 19
diff changeset
   162
            "txt_occ_dialog_enter_1_on_the_wireless_station_t").arg(
53
hgs
parents: 39
diff changeset
   163
                QString::number(randomNumber)));
39
hgs
parents: 19
diff changeset
   164
    mWizard->setPin(randomNumber);
hgs
parents: 19
diff changeset
   165
    return true;
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   166
}
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   167
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   168
/*!
39
hgs
parents: 19
diff changeset
   169
   Computes the Random number based on current system time
hgs
parents: 19
diff changeset
   170
   
hgs
parents: 19
diff changeset
   171
   @return int Returns the generated random number
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   172
 */
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   173
int WpsPageStepThreeNumber::computeRandNumber()
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   174
{
39
hgs
parents: 19
diff changeset
   175
    OstTraceFunctionEntry1(WPSPAGESTEPTHREENUMBER_COMPUTERANDNUMBER_ENTRY, this);
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   176
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   177
    int pin = 0;
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   178
    QTime time(0, 0);
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   179
    int seed = time.secsTo(QTime::currentTime());
39
hgs
parents: 19
diff changeset
   180
    
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   181
    do {
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   182
        qsrand(seed);
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   183
        pin = qrand();
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   184
    } while (pin < (10 ^ (KMaxPINLength - 2)) || (((pin / 1000000) % 10)) == 0);
39
hgs
parents: 19
diff changeset
   185
    
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   186
    //last digit is checksum, so we need 7 digits
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   187
    //and the first shouldn't be 0
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   188
    pin = pin % 10000000;
39
hgs
parents: 19
diff changeset
   189
    int checkSum = computeCheckSum(pin);
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   190
    pin *= 10;
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   191
    pin += checkSum;
39
hgs
parents: 19
diff changeset
   192
    
hgs
parents: 19
diff changeset
   193
    OstTraceFunctionExit1(WPSPAGESTEPTHREENUMBER_COMPUTERANDNUMBER_EXIT, this);
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   194
    return pin;
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   195
}
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   196
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   197
/*!
39
hgs
parents: 19
diff changeset
   198
   Computes the checksum for a given pin
hgs
parents: 19
diff changeset
   199
   
hgs
parents: 19
diff changeset
   200
   @return Returns the generated checksum
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   201
 */
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   202
int WpsPageStepThreeNumber::computeCheckSum(int aPin)
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   203
{
39
hgs
parents: 19
diff changeset
   204
    OstTraceFunctionEntry1(WPSPAGESTEPTHREENUMBER_COMPUTECHECKSUM_ENTRY, this);
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   205
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   206
    int accum = 0;
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   207
    aPin *= 10;
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   208
    accum += 3 * ((aPin / 10000000) % 10);
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   209
    accum += 1 * ((aPin / 1000000) % 10);
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   210
    accum += 3 * ((aPin / 100000) % 10);
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   211
    accum += 1 * ((aPin / 10000) % 10);
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   212
    accum += 3 * ((aPin / 1000) % 10);
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   213
    accum += 1 * ((aPin / 100) % 10);
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   214
    accum += 3 * ((aPin / 10) % 10);
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   215
    int digit = (accum % 10);
39
hgs
parents: 19
diff changeset
   216
    OstTraceFunctionExit1(WPSPAGESTEPTHREENUMBER_COMPUTECHECKSUM_EXIT, this);
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   217
    return (10 - digit) % 10;
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   218
}