pkiutilities/CTSecurityDialogs/NotifSrc/CTUntrustedCertQuery.cpp
author hgs
Thu, 24 Jun 2010 12:46:20 +0300
changeset 30 cc1cea6aabaf
permissions -rw-r--r--
201025_01
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
30
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
     1
/*
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
     2
* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
     3
* All rights reserved.
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
     4
* This component and the accompanying materials are made available
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
     6
* which accompanies this distribution, and is available
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
     8
*
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
     9
* Initial Contributors:
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
    11
*
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
    12
* Contributors:
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
    13
*
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
    14
* Description:  Displays untrusted certificate dialog.
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
    15
*
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
    16
*/
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
    17
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
    18
#include "CTUntrustedCertQuery.h"           // CCTUntrustedCertQuery
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
    19
#include <hb/hbcore/hbsymbianvariant.h>     // CHbSymbianVariantMap
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
    20
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
    21
// Note that the dialog type string, the parameters name strings, and the return code
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
    22
// name string and values must match to those defined in Qt-side untrusted certificate
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
    23
// dialog (in untrustedcertificatedefinitions.h file).
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
    24
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
    25
// Device dialog type for untrusted certificate dialog
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
    26
_LIT( KUntrustedCertificateDialog, "com.nokia.untrustedcert/1.0" );
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
    27
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
    28
// Variant map parameter names for untrusted certificate dialog
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
    29
_LIT( KUntrustedCertEncodedCertificate, "cert" );   // bytearray, mandatory
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
    30
_LIT( KUntrustedCertServerName, "host" );           // string, mandatory
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
    31
_LIT( KUntrustedCertValidationError, "err" );       // int (TValidationError), mandatory
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
    32
_LIT( KUntrustedCertTrustedSiteStoreFail, "tss" );  // any, prevents permanent acceptance
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
    33
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
    34
// Dialog return code name and values
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
    35
_LIT( KUntrustedCertDialogResult, "result" );       // int
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
    36
const TInt KUntrustedCertDialogRejected = 0;
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
    37
const TInt KUntrustedCertDialogAccepted = 1;
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
    38
const TInt KUntrustedCertDialogAcceptedPermanently = 2;
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
    39
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
    40
// TODO: replace with OST tracing
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
    41
#ifdef _DEBUG
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
    42
#include <e32debug.h>
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
    43
#define TRACE(x)        RDebug::Printf(x)
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
    44
#define TRACE1(x,y)     RDebug::Printf(x,y)
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
    45
#else
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
    46
#define TRACE(x)
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
    47
#define TRACE1(x,y)
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
    48
#endif
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
    49
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
    50
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
    51
// ======== MEMBER FUNCTIONS ========
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
    52
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
    53
// ---------------------------------------------------------------------------
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
    54
// CCTUntrustedCertQuery::NewLC()
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
    55
// ---------------------------------------------------------------------------
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
    56
//
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
    57
CCTUntrustedCertQuery* CCTUntrustedCertQuery::NewLC(
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
    58
        TValidationError aValidationError, const TDesC8& aCertificate,
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
    59
        const TDesC& aServerName, TBool aCanHandlePermanentAccept )
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
    60
    {
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
    61
    TRACE( "CCTUntrustedCertQuery::NewLC" );
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
    62
    CCTUntrustedCertQuery* self = new ( ELeave ) CCTUntrustedCertQuery(
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
    63
            aValidationError, aCertificate, aServerName,
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
    64
            aCanHandlePermanentAccept );
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
    65
    CleanupStack::PushL( self );
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
    66
    self->ConstructL();
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
    67
    return self;
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
    68
    }
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
    69
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
    70
// ---------------------------------------------------------------------------
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
    71
// CCTUntrustedCertQuery::~CCTUntrustedCertQuery()
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
    72
// ---------------------------------------------------------------------------
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
    73
//
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
    74
CCTUntrustedCertQuery::~CCTUntrustedCertQuery()
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
    75
    {
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
    76
    TRACE( "CCTUntrustedCertQuery::~CCTUntrustedCertQuery" );
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
    77
    Cancel();
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
    78
    delete iWait;
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
    79
    delete iDeviceDialog;
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
    80
    delete iVariantMap;
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
    81
    }
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
    82
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
    83
// ---------------------------------------------------------------------------
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
    84
// CCTUntrustedCertQuery::ShowQueryAndWaitForResponseL()
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
    85
// ---------------------------------------------------------------------------
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
    86
//
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
    87
void CCTUntrustedCertQuery::ShowQueryAndWaitForResponseL( TResponse& aResponse )
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
    88
    {
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
    89
    TRACE( "CCTUntrustedCertQuery::ShowQueryAndWaitForResponseL" );
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
    90
    if( !iDeviceDialog )
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
    91
        {
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
    92
        iDeviceDialog = CHbDeviceDialogSymbian::NewL();
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
    93
        }
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
    94
    if( !iVariantMap )
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
    95
        {
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
    96
        iVariantMap = CHbSymbianVariantMap::NewL();
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
    97
        }
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
    98
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
    99
    CHbSymbianVariant *variant = NULL;
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   100
    variant = CHbSymbianVariant::NewL( &iCertificate, CHbSymbianVariant::EBinary );
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   101
    User::LeaveIfError( iVariantMap->Add( KUntrustedCertEncodedCertificate, variant ) );
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   102
    variant = CHbSymbianVariant::NewL( &iValidationError, CHbSymbianVariant::EInt );
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   103
    User::LeaveIfError( iVariantMap->Add( KUntrustedCertValidationError, variant ) );
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   104
    variant = CHbSymbianVariant::NewL( &iServerName, CHbSymbianVariant::EDes );
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   105
    User::LeaveIfError( iVariantMap->Add( KUntrustedCertServerName, variant ) );
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   106
    if( !iCanHandlePermanentAccept )
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   107
        {
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   108
        variant = CHbSymbianVariant::NewL( &iCanHandlePermanentAccept, CHbSymbianVariant::EBool );
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   109
        User::LeaveIfError( iVariantMap->Add( KUntrustedCertTrustedSiteStoreFail, variant ) );
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   110
        }
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   111
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   112
    User::LeaveIfError( iDeviceDialog->Show( KUntrustedCertificateDialog, *iVariantMap, this ) );
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   113
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   114
    iStatus = KRequestPending;
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   115
    SetActive();
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   116
    TRACE( "CCTUntrustedCertQuery::ShowQueryAndWaitForResponseL, wait start" );
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   117
    iWait->Start();
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   118
    TRACE( "CCTUntrustedCertQuery::ShowQueryAndWaitForResponseL, wait end" );
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   119
    TRACE1( "CCTUntrustedCertQuery::ShowQueryAndWaitForResponseL, iWaitCompletionCode=%d", iWaitCompletionCode );
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   120
    User::LeaveIfError( iWaitCompletionCode );
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   121
    TRACE1( "CCTUntrustedCertQuery::ShowQueryAndWaitForResponseL, iResponse=%d", iResponse );
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   122
    aResponse = iResponse;
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   123
    }
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   124
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   125
// ---------------------------------------------------------------------------
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   126
// CCTUntrustedCertQuery::DoCancel()
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   127
// ---------------------------------------------------------------------------
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   128
//
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   129
void CCTUntrustedCertQuery::DoCancel()
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   130
    {
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   131
    TRACE( "CCTUntrustedCertQuery::DoCancel begin" );
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   132
    if( iDeviceDialog )
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   133
        {
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   134
        TRACE( "CCTUntrustedCertQuery::DoCancel, iDeviceDialog->Cancel()" );
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   135
        iDeviceDialog->Cancel();
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   136
        }
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   137
    if( iWait && iWait->IsStarted() && iWait->CanStopNow() )
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   138
        {
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   139
        TRACE( "CCTUntrustedCertQuery::DoCancel, iWait->AsyncStop()" );
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   140
        iWaitCompletionCode = KErrCancel;
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   141
        iWait->AsyncStop();
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   142
        }
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   143
    TRACE( "CCTUntrustedCertQuery::DoCancel end" );
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   144
    }
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   145
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   146
// ---------------------------------------------------------------------------
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   147
// CCTUntrustedCertQuery::RunL()
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   148
// ---------------------------------------------------------------------------
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   149
//
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   150
void CCTUntrustedCertQuery::RunL()
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   151
    {
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   152
    TRACE1( "CCTUntrustedCertQuery::RunL, iStatus.Int()=%d", iStatus.Int() );
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   153
    iWaitCompletionCode = iStatus.Int();
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   154
    if( iWait )
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   155
        {
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   156
        iWait->AsyncStop();
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   157
        }
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   158
    }
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   159
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   160
// ---------------------------------------------------------------------------
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   161
// CCTUntrustedCertQuery::DataReceived()
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   162
// ---------------------------------------------------------------------------
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   163
//
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   164
void CCTUntrustedCertQuery::DataReceived( CHbSymbianVariantMap& aData )
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   165
    {
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   166
    TRACE( "CCTUntrustedCertQuery::DataReceived" );
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   167
    const CHbSymbianVariant* variant = aData.Get( KUntrustedCertDialogResult );
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   168
    if( variant )
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   169
        {
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   170
        TInt* value = variant->Value<TInt>();
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   171
        if( value )
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   172
            {
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   173
            switch( *value )
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   174
                {
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   175
                case KUntrustedCertDialogRejected:
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   176
                    TRACE( "CCTUntrustedCertQuery::DataReceived, rejected" );
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   177
                    iResponse = EQueryRejected;
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   178
                    break;
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   179
                case KUntrustedCertDialogAccepted:
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   180
                    TRACE( "CCTUntrustedCertQuery::DataReceived, accepted" );
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   181
                    iResponse = EQueryAccepted;
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   182
                    break;
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   183
                case KUntrustedCertDialogAcceptedPermanently:
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   184
                    TRACE( "CCTUntrustedCertQuery::DataReceived, accepted permanently" );
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   185
                    iResponse = EQueryAcceptedPermanently;
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   186
                    break;
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   187
                default:
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   188
                    __ASSERT_DEBUG( EFalse, User::Invariant() );
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   189
                    break;
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   190
                }
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   191
            }
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   192
        else
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   193
            {
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   194
            __ASSERT_DEBUG( EFalse, User::Invariant() );
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   195
            }
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   196
        }
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   197
    else
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   198
        {
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   199
        __ASSERT_DEBUG( EFalse, User::Invariant() );
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   200
        }
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   201
    }
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   202
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   203
// ---------------------------------------------------------------------------
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   204
// CCTUntrustedCertQuery::DeviceDialogClosed()
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   205
// ---------------------------------------------------------------------------
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   206
//
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   207
void CCTUntrustedCertQuery::DeviceDialogClosed( TInt aCompletionCode )
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   208
    {
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   209
    TRACE1( "CCTUntrustedCertQuery::DeviceDialogClosed aCompletionCode=%d", aCompletionCode );
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   210
    TRequestStatus* status( &iStatus );
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   211
    User::RequestComplete( status, aCompletionCode );
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   212
    }
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   213
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   214
// ---------------------------------------------------------------------------
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   215
// CCTUntrustedCertQuery::CCTUntrustedCertQuery()
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   216
// ---------------------------------------------------------------------------
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   217
//
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   218
CCTUntrustedCertQuery::CCTUntrustedCertQuery(
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   219
        TValidationError aValidationError, const TDesC8& aCertificate,
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   220
        const TDesC& aServerName, TBool aCanHandlePermanentAccept ) :
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   221
        CActive( CActive::EPriorityStandard ), iValidationError( aValidationError ),
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   222
        iCertificate( aCertificate ), iServerName( aServerName ),
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   223
        iCanHandlePermanentAccept( aCanHandlePermanentAccept ),
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   224
        iResponse( EQueryRejected )
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   225
    {
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   226
    CActiveScheduler::Add( this );
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   227
    }
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   228
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   229
// ---------------------------------------------------------------------------
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   230
// CCTUntrustedCertQuery::ConstructL()
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   231
// ---------------------------------------------------------------------------
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   232
//
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   233
void CCTUntrustedCertQuery::ConstructL()
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   234
    {
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   235
    TRACE( "CCTUntrustedCertQuery::ConstructL" );
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   236
    iWait = new( ELeave ) CActiveSchedulerWait;
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   237
    }
cc1cea6aabaf 201025_01
hgs
parents:
diff changeset
   238