securitydialogs/secuidialognotifiersrv/src/secuidialogoperbasicpinquery.cpp
author hgs
Thu, 14 Oct 2010 13:56:11 +0300
changeset 63 989397f9511c
parent 59 881d92421467
permissions -rw-r--r--
201039_03
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
59
881d92421467 201037_03
hgs
parents:
diff changeset
     1
/*
63
989397f9511c 201039_03
hgs
parents: 59
diff changeset
     2
 * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
989397f9511c 201039_03
hgs
parents: 59
diff changeset
     3
 * All rights reserved.
989397f9511c 201039_03
hgs
parents: 59
diff changeset
     4
 * This component and the accompanying materials are made available
989397f9511c 201039_03
hgs
parents: 59
diff changeset
     5
 * under the terms of "Eclipse Public License v1.0"
989397f9511c 201039_03
hgs
parents: 59
diff changeset
     6
 * which accompanies this distribution, and is available
989397f9511c 201039_03
hgs
parents: 59
diff changeset
     7
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
989397f9511c 201039_03
hgs
parents: 59
diff changeset
     8
 *
989397f9511c 201039_03
hgs
parents: 59
diff changeset
     9
 * Initial Contributors:
989397f9511c 201039_03
hgs
parents: 59
diff changeset
    10
 * Nokia Corporation - initial contribution.
989397f9511c 201039_03
hgs
parents: 59
diff changeset
    11
 *
989397f9511c 201039_03
hgs
parents: 59
diff changeset
    12
 * Contributors:
989397f9511c 201039_03
hgs
parents: 59
diff changeset
    13
 *
989397f9511c 201039_03
hgs
parents: 59
diff changeset
    14
 * Description:  Basic PIN query operation in secui dialog
989397f9511c 201039_03
hgs
parents: 59
diff changeset
    15
 *
989397f9511c 201039_03
hgs
parents: 59
diff changeset
    16
 */
59
881d92421467 201037_03
hgs
parents:
diff changeset
    17
881d92421467 201037_03
hgs
parents:
diff changeset
    18
#include "secuidialogoperbasicpinquery.h" // CBasicPinQueryOperation
881d92421467 201037_03
hgs
parents:
diff changeset
    19
#include "secuidialogoperationobserver.h" // MSecuiDialogOperationObserver
881d92421467 201037_03
hgs
parents:
diff changeset
    20
#include <hb/hbcore/hbtextresolversymbian.h> // HbTextResolverSymbian
881d92421467 201037_03
hgs
parents:
diff changeset
    21
#include "secuidialogstrace.h"       // TRACE macro
881d92421467 201037_03
hgs
parents:
diff changeset
    22
// TODO: fix this
881d92421467 201037_03
hgs
parents:
diff changeset
    23
#include "../../../securitydialogs/SecUi/Inc/SecQueryUi.h"  // CSecQueryUi
881d92421467 201037_03
hgs
parents:
diff changeset
    24
#include <secui.h>
881d92421467 201037_03
hgs
parents:
diff changeset
    25
#include <secuisecurityhandler.h>
881d92421467 201037_03
hgs
parents:
diff changeset
    26
#include <gsmerror.h>
881d92421467 201037_03
hgs
parents:
diff changeset
    27
#include <etelmm.h>
881d92421467 201037_03
hgs
parents:
diff changeset
    28
#include <rmmcustomapi.h>
881d92421467 201037_03
hgs
parents:
diff changeset
    29
#include <startupdomainpskeys.h>
881d92421467 201037_03
hgs
parents:
diff changeset
    30
#include <featmgr.h>
881d92421467 201037_03
hgs
parents:
diff changeset
    31
63
989397f9511c 201039_03
hgs
parents: 59
diff changeset
    32
const TInt KPhoneIndex(0);
989397f9511c 201039_03
hgs
parents: 59
diff changeset
    33
const TInt KTriesToConnectServer(2);
989397f9511c 201039_03
hgs
parents: 59
diff changeset
    34
const TInt KTimeBeforeRetryingServerConnection(50000);
59
881d92421467 201037_03
hgs
parents:
diff changeset
    35
63
989397f9511c 201039_03
hgs
parents: 59
diff changeset
    36
_LIT( KMmTsyModuleName, "PhoneTsy");
59
881d92421467 201037_03
hgs
parents:
diff changeset
    37
881d92421467 201037_03
hgs
parents:
diff changeset
    38
// ======== MEMBER FUNCTIONS ========
881d92421467 201037_03
hgs
parents:
diff changeset
    39
881d92421467 201037_03
hgs
parents:
diff changeset
    40
// ---------------------------------------------------------------------------
881d92421467 201037_03
hgs
parents:
diff changeset
    41
// CBasicPinQueryOperation::NewL()
881d92421467 201037_03
hgs
parents:
diff changeset
    42
// ---------------------------------------------------------------------------
881d92421467 201037_03
hgs
parents:
diff changeset
    43
//
63
989397f9511c 201039_03
hgs
parents: 59
diff changeset
    44
CBasicPinQueryOperation* CBasicPinQueryOperation::NewL(MSecuiDialogOperationObserver& aObserver, const RMessage2& aMessage, TInt aReplySlot)
59
881d92421467 201037_03
hgs
parents:
diff changeset
    45
    {
63
989397f9511c 201039_03
hgs
parents: 59
diff changeset
    46
    RDEBUG("aMessage.Handle()", aMessage.Handle());
989397f9511c 201039_03
hgs
parents: 59
diff changeset
    47
    RDEBUG("aMessage.Function()", aMessage.Function());
989397f9511c 201039_03
hgs
parents: 59
diff changeset
    48
    return new (ELeave) CBasicPinQueryOperation(aObserver, aMessage, aReplySlot);
59
881d92421467 201037_03
hgs
parents:
diff changeset
    49
    }
881d92421467 201037_03
hgs
parents:
diff changeset
    50
881d92421467 201037_03
hgs
parents:
diff changeset
    51
// ---------------------------------------------------------------------------
881d92421467 201037_03
hgs
parents:
diff changeset
    52
// CBasicPinQueryOperation::~CBasicPinQueryOperation()
881d92421467 201037_03
hgs
parents:
diff changeset
    53
// ---------------------------------------------------------------------------
881d92421467 201037_03
hgs
parents:
diff changeset
    54
//
881d92421467 201037_03
hgs
parents:
diff changeset
    55
CBasicPinQueryOperation::~CBasicPinQueryOperation()
881d92421467 201037_03
hgs
parents:
diff changeset
    56
    {
63
989397f9511c 201039_03
hgs
parents: 59
diff changeset
    57
    RDEBUG("0", 0);
59
881d92421467 201037_03
hgs
parents:
diff changeset
    58
    Cancel();
63
989397f9511c 201039_03
hgs
parents: 59
diff changeset
    59
    iPinInput = NULL; // not owned
59
881d92421467 201037_03
hgs
parents:
diff changeset
    60
    }
881d92421467 201037_03
hgs
parents:
diff changeset
    61
881d92421467 201037_03
hgs
parents:
diff changeset
    62
// ---------------------------------------------------------------------------
881d92421467 201037_03
hgs
parents:
diff changeset
    63
// CBasicPinQueryOperation::StartL()
881d92421467 201037_03
hgs
parents:
diff changeset
    64
// ---------------------------------------------------------------------------
881d92421467 201037_03
hgs
parents:
diff changeset
    65
//
63
989397f9511c 201039_03
hgs
parents: 59
diff changeset
    66
void CBasicPinQueryOperation::StartL(const TDesC8& aBuffer)
59
881d92421467 201037_03
hgs
parents:
diff changeset
    67
    {
63
989397f9511c 201039_03
hgs
parents: 59
diff changeset
    68
    RDEBUG("0", 0);
989397f9511c 201039_03
hgs
parents: 59
diff changeset
    69
    iPinInput = reinterpret_cast<const TPINInput*> (aBuffer.Ptr());
989397f9511c 201039_03
hgs
parents: 59
diff changeset
    70
    ASSERT(iPinInput != NULL);
59
881d92421467 201037_03
hgs
parents:
diff changeset
    71
881d92421467 201037_03
hgs
parents:
diff changeset
    72
    iStatus = KRequestPending;
881d92421467 201037_03
hgs
parents:
diff changeset
    73
    TRequestStatus* status = &iStatus;
63
989397f9511c 201039_03
hgs
parents: 59
diff changeset
    74
    User::RequestComplete(status, KErrNone);
59
881d92421467 201037_03
hgs
parents:
diff changeset
    75
    SetActive();
881d92421467 201037_03
hgs
parents:
diff changeset
    76
    }
881d92421467 201037_03
hgs
parents:
diff changeset
    77
881d92421467 201037_03
hgs
parents:
diff changeset
    78
// ---------------------------------------------------------------------------
881d92421467 201037_03
hgs
parents:
diff changeset
    79
// CBasicPinQueryOperation::CancelOperation()
881d92421467 201037_03
hgs
parents:
diff changeset
    80
// ---------------------------------------------------------------------------
881d92421467 201037_03
hgs
parents:
diff changeset
    81
//
881d92421467 201037_03
hgs
parents:
diff changeset
    82
void CBasicPinQueryOperation::CancelOperation()
881d92421467 201037_03
hgs
parents:
diff changeset
    83
    {
63
989397f9511c 201039_03
hgs
parents: 59
diff changeset
    84
    RDEBUG("0", 0);
59
881d92421467 201037_03
hgs
parents:
diff changeset
    85
    // nothing to do
881d92421467 201037_03
hgs
parents:
diff changeset
    86
    }
881d92421467 201037_03
hgs
parents:
diff changeset
    87
881d92421467 201037_03
hgs
parents:
diff changeset
    88
// ---------------------------------------------------------------------------
881d92421467 201037_03
hgs
parents:
diff changeset
    89
// CBasicPinQueryOperation::RunL()
881d92421467 201037_03
hgs
parents:
diff changeset
    90
// ---------------------------------------------------------------------------
881d92421467 201037_03
hgs
parents:
diff changeset
    91
//
881d92421467 201037_03
hgs
parents:
diff changeset
    92
void CBasicPinQueryOperation::RunL()
881d92421467 201037_03
hgs
parents:
diff changeset
    93
    {
63
989397f9511c 201039_03
hgs
parents: 59
diff changeset
    94
    RDEBUG("iStatus.Int()", iStatus.Int());
989397f9511c 201039_03
hgs
parents: 59
diff changeset
    95
    User::LeaveIfError(iStatus.Int());
59
881d92421467 201037_03
hgs
parents:
diff changeset
    96
63
989397f9511c 201039_03
hgs
parents: 59
diff changeset
    97
    TBool isRetry = (iPinInput->iOperation & EPINValueIncorrect);
989397f9511c 201039_03
hgs
parents: 59
diff changeset
    98
    if (isRetry)
59
881d92421467 201037_03
hgs
parents:
diff changeset
    99
        {
881d92421467 201037_03
hgs
parents:
diff changeset
   100
        // Show "Invalid PIN code" error note, as previous attempt was failed.
881d92421467 201037_03
hgs
parents:
diff changeset
   101
        // TODO: localized UI string needed
63
989397f9511c 201039_03
hgs
parents: 59
diff changeset
   102
        _LIT(KInvalidPinCode, "Invalid PIN code");
989397f9511c 201039_03
hgs
parents: 59
diff changeset
   103
        ShowWarningNoteL( KInvalidPinCode);
59
881d92421467 201037_03
hgs
parents:
diff changeset
   104
        }
63
989397f9511c 201039_03
hgs
parents: 59
diff changeset
   105
    RDEBUG("iPinInput->iOperation", iPinInput->iOperation);
59
881d92421467 201037_03
hgs
parents:
diff changeset
   106
881d92421467 201037_03
hgs
parents:
diff changeset
   107
    iPinValue.Copy(_L("0"));
63
989397f9511c 201039_03
hgs
parents: 59
diff changeset
   108
    RDEBUG("0", 0);
59
881d92421467 201037_03
hgs
parents:
diff changeset
   109
881d92421467 201037_03
hgs
parents:
diff changeset
   110
    TInt resultVerif = KErrNone;
63
989397f9511c 201039_03
hgs
parents: 59
diff changeset
   111
    RDEBUG("0", 0);
989397f9511c 201039_03
hgs
parents: 59
diff changeset
   112
989397f9511c 201039_03
hgs
parents: 59
diff changeset
   113
        {
989397f9511c 201039_03
hgs
parents: 59
diff changeset
   114
        RMobilePhone iPhone;
989397f9511c 201039_03
hgs
parents: 59
diff changeset
   115
989397f9511c 201039_03
hgs
parents: 59
diff changeset
   116
        TInt err(KErrGeneral);
989397f9511c 201039_03
hgs
parents: 59
diff changeset
   117
        RDEBUG("ESecurityQueryActive", ESecurityQueryActive);
989397f9511c 201039_03
hgs
parents: 59
diff changeset
   118
        err = RProperty::Set(KPSUidStartup, KStartupSecurityCodeQueryStatus, ESecurityQueryActive);
989397f9511c 201039_03
hgs
parents: 59
diff changeset
   119
        RDEBUG("err", err);
59
881d92421467 201037_03
hgs
parents:
diff changeset
   120
63
989397f9511c 201039_03
hgs
parents: 59
diff changeset
   121
        TInt thisTry(0);
989397f9511c 201039_03
hgs
parents: 59
diff changeset
   122
        RTelServer iTelServer;
989397f9511c 201039_03
hgs
parents: 59
diff changeset
   123
        RMmCustomAPI iCustomPhone;
989397f9511c 201039_03
hgs
parents: 59
diff changeset
   124
        while ((err = iTelServer.Connect()) != KErrNone && (thisTry++) <= KTriesToConnectServer)
59
881d92421467 201037_03
hgs
parents:
diff changeset
   125
            {
63
989397f9511c 201039_03
hgs
parents: 59
diff changeset
   126
            User::After( KTimeBeforeRetryingServerConnection);
989397f9511c 201039_03
hgs
parents: 59
diff changeset
   127
            }
989397f9511c 201039_03
hgs
parents: 59
diff changeset
   128
        err = iTelServer.LoadPhoneModule(KMmTsyModuleName);
989397f9511c 201039_03
hgs
parents: 59
diff changeset
   129
        RTelServer::TPhoneInfo PhoneInfo;
989397f9511c 201039_03
hgs
parents: 59
diff changeset
   130
        err = iTelServer.SetExtendedErrorGranularity(RTelServer::EErrorExtended);
989397f9511c 201039_03
hgs
parents: 59
diff changeset
   131
        err = iTelServer.GetPhoneInfo(KPhoneIndex, PhoneInfo);
989397f9511c 201039_03
hgs
parents: 59
diff changeset
   132
        err = iPhone.Open(iTelServer, PhoneInfo.iName);
989397f9511c 201039_03
hgs
parents: 59
diff changeset
   133
        err = iCustomPhone.Open(iPhone);
989397f9511c 201039_03
hgs
parents: 59
diff changeset
   134
        RDEBUG("err", err);
989397f9511c 201039_03
hgs
parents: 59
diff changeset
   135
        CSecurityHandler* handler = new (ELeave) CSecurityHandler(iPhone);
989397f9511c 201039_03
hgs
parents: 59
diff changeset
   136
        CleanupStack::PushL(handler);
989397f9511c 201039_03
hgs
parents: 59
diff changeset
   137
        // TSecUi::InitializeLibL(); 
989397f9511c 201039_03
hgs
parents: 59
diff changeset
   138
        RDEBUG("0", 0);
989397f9511c 201039_03
hgs
parents: 59
diff changeset
   139
        RMobilePhone::TMobilePhoneSecurityEvent iEvent;
989397f9511c 201039_03
hgs
parents: 59
diff changeset
   140
        TInt lEvent = iPinInput->iOperation;
989397f9511c 201039_03
hgs
parents: 59
diff changeset
   141
        RDEBUG("lEvent", lEvent);
989397f9511c 201039_03
hgs
parents: 59
diff changeset
   142
        if (lEvent >= 0x1000) // flag for iStartUp
989397f9511c 201039_03
hgs
parents: 59
diff changeset
   143
            {
989397f9511c 201039_03
hgs
parents: 59
diff changeset
   144
            lEvent -= 0x1000;
989397f9511c 201039_03
hgs
parents: 59
diff changeset
   145
            }
989397f9511c 201039_03
hgs
parents: 59
diff changeset
   146
        iEvent = static_cast<RMobilePhone::TMobilePhoneSecurityEvent> (lEvent);
989397f9511c 201039_03
hgs
parents: 59
diff changeset
   147
        RDEBUG("iEvent", iEvent);
989397f9511c 201039_03
hgs
parents: 59
diff changeset
   148
        RDEBUG("iStartUp", iStartUp);
989397f9511c 201039_03
hgs
parents: 59
diff changeset
   149
        TRAPD(resultHandler, handler->HandleEventL(iEvent, iStartUp, resultVerif));
989397f9511c 201039_03
hgs
parents: 59
diff changeset
   150
        RDEBUG("resultHandler", resultHandler);
989397f9511c 201039_03
hgs
parents: 59
diff changeset
   151
        RDEBUG("resultVerif", resultVerif);
59
881d92421467 201037_03
hgs
parents:
diff changeset
   152
63
989397f9511c 201039_03
hgs
parents: 59
diff changeset
   153
        // if something went wrong cancel the code request
989397f9511c 201039_03
hgs
parents: 59
diff changeset
   154
        if (resultHandler)
989397f9511c 201039_03
hgs
parents: 59
diff changeset
   155
            {
989397f9511c 201039_03
hgs
parents: 59
diff changeset
   156
            if (resultVerif == KErrNone) // if the process failed, then the result shoud also indicate the failure (unless it does it already)
989397f9511c 201039_03
hgs
parents: 59
diff changeset
   157
                resultVerif = resultHandler;
989397f9511c 201039_03
hgs
parents: 59
diff changeset
   158
            RDEBUG("iEvent", iEvent);
989397f9511c 201039_03
hgs
parents: 59
diff changeset
   159
            TBool wcdmaSupported(FeatureManager::FeatureSupported(KFeatureIdProtocolWcdma));
989397f9511c 201039_03
hgs
parents: 59
diff changeset
   160
            TBool upinSupported(FeatureManager::FeatureSupported(KFeatureIdUpin));
989397f9511c 201039_03
hgs
parents: 59
diff changeset
   161
            switch (iEvent)
989397f9511c 201039_03
hgs
parents: 59
diff changeset
   162
                {
989397f9511c 201039_03
hgs
parents: 59
diff changeset
   163
                case RMobilePhone::EUniversalPinRequired:
989397f9511c 201039_03
hgs
parents: 59
diff changeset
   164
                    if (wcdmaSupported || upinSupported)
989397f9511c 201039_03
hgs
parents: 59
diff changeset
   165
                        {
989397f9511c 201039_03
hgs
parents: 59
diff changeset
   166
                        iPhone.AbortSecurityCode(RMobilePhone::ESecurityUniversalPin);
989397f9511c 201039_03
hgs
parents: 59
diff changeset
   167
                        }
989397f9511c 201039_03
hgs
parents: 59
diff changeset
   168
                    break;
989397f9511c 201039_03
hgs
parents: 59
diff changeset
   169
                case RMobilePhone::EUniversalPukRequired:
989397f9511c 201039_03
hgs
parents: 59
diff changeset
   170
                    if (wcdmaSupported || upinSupported)
989397f9511c 201039_03
hgs
parents: 59
diff changeset
   171
                        {
989397f9511c 201039_03
hgs
parents: 59
diff changeset
   172
                        iPhone.AbortSecurityCode(RMobilePhone::ESecurityUniversalPuk);
989397f9511c 201039_03
hgs
parents: 59
diff changeset
   173
                        }
989397f9511c 201039_03
hgs
parents: 59
diff changeset
   174
                    break;
989397f9511c 201039_03
hgs
parents: 59
diff changeset
   175
                case RMobilePhone::EPin1Required:
989397f9511c 201039_03
hgs
parents: 59
diff changeset
   176
                    iPhone.AbortSecurityCode(RMobilePhone::ESecurityCodePin1);
989397f9511c 201039_03
hgs
parents: 59
diff changeset
   177
                    break;
989397f9511c 201039_03
hgs
parents: 59
diff changeset
   178
                case RMobilePhone::EPuk1Required:
989397f9511c 201039_03
hgs
parents: 59
diff changeset
   179
                    iPhone.AbortSecurityCode(RMobilePhone::ESecurityCodePuk1);
989397f9511c 201039_03
hgs
parents: 59
diff changeset
   180
                    break;
989397f9511c 201039_03
hgs
parents: 59
diff changeset
   181
                case RMobilePhone::EPin2Required:
989397f9511c 201039_03
hgs
parents: 59
diff changeset
   182
                    iPhone.AbortSecurityCode(RMobilePhone::ESecurityCodePin2);
989397f9511c 201039_03
hgs
parents: 59
diff changeset
   183
                    break;
989397f9511c 201039_03
hgs
parents: 59
diff changeset
   184
                case RMobilePhone::EPuk2Required:
989397f9511c 201039_03
hgs
parents: 59
diff changeset
   185
                    iPhone.AbortSecurityCode(RMobilePhone::ESecurityCodePuk2);
989397f9511c 201039_03
hgs
parents: 59
diff changeset
   186
                    break;
989397f9511c 201039_03
hgs
parents: 59
diff changeset
   187
                case RMobilePhone::EPhonePasswordRequired:
989397f9511c 201039_03
hgs
parents: 59
diff changeset
   188
                    iPhone.AbortSecurityCode(RMobilePhone::ESecurityCodePhonePassword);
989397f9511c 201039_03
hgs
parents: 59
diff changeset
   189
                    break;
989397f9511c 201039_03
hgs
parents: 59
diff changeset
   190
                default:
989397f9511c 201039_03
hgs
parents: 59
diff changeset
   191
                    RDEBUG("default iEvent", iEvent);
989397f9511c 201039_03
hgs
parents: 59
diff changeset
   192
                    break;
989397f9511c 201039_03
hgs
parents: 59
diff changeset
   193
                }
59
881d92421467 201037_03
hgs
parents:
diff changeset
   194
            }
881d92421467 201037_03
hgs
parents:
diff changeset
   195
63
989397f9511c 201039_03
hgs
parents: 59
diff changeset
   196
        // uninitialize security ui
989397f9511c 201039_03
hgs
parents: 59
diff changeset
   197
        RDEBUG("PopAndDestroy 0", 0);
989397f9511c 201039_03
hgs
parents: 59
diff changeset
   198
        CleanupStack::PopAndDestroy(handler); // handler
989397f9511c 201039_03
hgs
parents: 59
diff changeset
   199
        RDEBUG("UnInitializeLib 0", 0);
989397f9511c 201039_03
hgs
parents: 59
diff changeset
   200
        TSecUi::UnInitializeLib();
989397f9511c 201039_03
hgs
parents: 59
diff changeset
   201
        RDEBUG("ESecurityQueryNotActive", ESecurityQueryNotActive);
989397f9511c 201039_03
hgs
parents: 59
diff changeset
   202
        err = RProperty::Set(KPSUidStartup, KStartupSecurityCodeQueryStatus, ESecurityQueryNotActive);
989397f9511c 201039_03
hgs
parents: 59
diff changeset
   203
        RDEBUG("err", err);
989397f9511c 201039_03
hgs
parents: 59
diff changeset
   204
        //close ETel connection
989397f9511c 201039_03
hgs
parents: 59
diff changeset
   205
        if (iTelServer.Handle())
989397f9511c 201039_03
hgs
parents: 59
diff changeset
   206
            {
989397f9511c 201039_03
hgs
parents: 59
diff changeset
   207
            RDEBUG("iPhone.Close()", 0);
989397f9511c 201039_03
hgs
parents: 59
diff changeset
   208
            iPhone.Close();
989397f9511c 201039_03
hgs
parents: 59
diff changeset
   209
            iTelServer.UnloadPhoneModule(KMmTsyModuleName);
989397f9511c 201039_03
hgs
parents: 59
diff changeset
   210
            iTelServer.Close();
989397f9511c 201039_03
hgs
parents: 59
diff changeset
   211
            RDEBUG("0", 0);
989397f9511c 201039_03
hgs
parents: 59
diff changeset
   212
            }
989397f9511c 201039_03
hgs
parents: 59
diff changeset
   213
        }
59
881d92421467 201037_03
hgs
parents:
diff changeset
   214
63
989397f9511c 201039_03
hgs
parents: 59
diff changeset
   215
    ReturnResultL(resultVerif);
989397f9511c 201039_03
hgs
parents: 59
diff changeset
   216
59
881d92421467 201037_03
hgs
parents:
diff changeset
   217
    }
881d92421467 201037_03
hgs
parents:
diff changeset
   218
881d92421467 201037_03
hgs
parents:
diff changeset
   219
// ---------------------------------------------------------------------------
881d92421467 201037_03
hgs
parents:
diff changeset
   220
// CBasicPinQueryOperation::DoCancel()
881d92421467 201037_03
hgs
parents:
diff changeset
   221
// ---------------------------------------------------------------------------
881d92421467 201037_03
hgs
parents:
diff changeset
   222
//
881d92421467 201037_03
hgs
parents:
diff changeset
   223
void CBasicPinQueryOperation::DoCancel()
881d92421467 201037_03
hgs
parents:
diff changeset
   224
    {
63
989397f9511c 201039_03
hgs
parents: 59
diff changeset
   225
    RDEBUG("0", 0);
59
881d92421467 201037_03
hgs
parents:
diff changeset
   226
    }
881d92421467 201037_03
hgs
parents:
diff changeset
   227
881d92421467 201037_03
hgs
parents:
diff changeset
   228
// ---------------------------------------------------------------------------
881d92421467 201037_03
hgs
parents:
diff changeset
   229
// CBasicPinQueryOperation::CBasicPinQueryOperation()
881d92421467 201037_03
hgs
parents:
diff changeset
   230
// ---------------------------------------------------------------------------
881d92421467 201037_03
hgs
parents:
diff changeset
   231
//
63
989397f9511c 201039_03
hgs
parents: 59
diff changeset
   232
CBasicPinQueryOperation::CBasicPinQueryOperation(MSecuiDialogOperationObserver& aObserver, const RMessage2& aMessage, TInt aReplySlot) :
989397f9511c 201039_03
hgs
parents: 59
diff changeset
   233
    CSecuiDialogOperation(aObserver, aMessage, aReplySlot)
59
881d92421467 201037_03
hgs
parents:
diff changeset
   234
    {
63
989397f9511c 201039_03
hgs
parents: 59
diff changeset
   235
    RDEBUG("aMessage.Handle()", aMessage.Handle());
989397f9511c 201039_03
hgs
parents: 59
diff changeset
   236
    RDEBUG("aMessage.Function()", aMessage.Function());
989397f9511c 201039_03
hgs
parents: 59
diff changeset
   237
    iStartUp = EFalse;
989397f9511c 201039_03
hgs
parents: 59
diff changeset
   238
    if (aMessage.Function() >= 0x1000)
989397f9511c 201039_03
hgs
parents: 59
diff changeset
   239
        iStartUp = ETrue;
59
881d92421467 201037_03
hgs
parents:
diff changeset
   240
    }
881d92421467 201037_03
hgs
parents:
diff changeset
   241
881d92421467 201037_03
hgs
parents:
diff changeset
   242
// ---------------------------------------------------------------------------
881d92421467 201037_03
hgs
parents:
diff changeset
   243
// CBasicPinQueryOperation::ReturnResultL()
881d92421467 201037_03
hgs
parents:
diff changeset
   244
// ---------------------------------------------------------------------------
881d92421467 201037_03
hgs
parents:
diff changeset
   245
//
63
989397f9511c 201039_03
hgs
parents: 59
diff changeset
   246
void CBasicPinQueryOperation::ReturnResultL(TInt aErrorCode)
59
881d92421467 201037_03
hgs
parents:
diff changeset
   247
    {
63
989397f9511c 201039_03
hgs
parents: 59
diff changeset
   248
    RDEBUG("aErrorCode", aErrorCode);
989397f9511c 201039_03
hgs
parents: 59
diff changeset
   249
    if (aErrorCode <= KErrNone) // TODO should skip WriteL is error?
59
881d92421467 201037_03
hgs
parents:
diff changeset
   250
        {
63
989397f9511c 201039_03
hgs
parents: 59
diff changeset
   251
        TPINValueBuf output(iPinValue);
989397f9511c 201039_03
hgs
parents: 59
diff changeset
   252
        iMessage.WriteL(iReplySlot, output);
59
881d92421467 201037_03
hgs
parents:
diff changeset
   253
        }
63
989397f9511c 201039_03
hgs
parents: 59
diff changeset
   254
    RDEBUG("Complete iMessage.Handle()", iMessage.Handle());
989397f9511c 201039_03
hgs
parents: 59
diff changeset
   255
    iMessage.Complete(aErrorCode);
989397f9511c 201039_03
hgs
parents: 59
diff changeset
   256
    RDEBUG("informing observer 0", 0);
59
881d92421467 201037_03
hgs
parents:
diff changeset
   257
    iObserver.OperationComplete();
63
989397f9511c 201039_03
hgs
parents: 59
diff changeset
   258
    RDEBUG("0x99", 0x99);
59
881d92421467 201037_03
hgs
parents:
diff changeset
   259
    }
881d92421467 201037_03
hgs
parents:
diff changeset
   260