pkiutilities/securitydialognotifiersrv/src/untrustedcertquery.cpp
branchRCL_3
changeset 22 03674e5abf46
parent 21 09b1ac925e3f
child 23 94da73d93b58
--- a/pkiutilities/securitydialognotifiersrv/src/untrustedcertquery.cpp	Tue Aug 31 16:04:40 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,250 +0,0 @@
-/*
-* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Displays untrusted certificate dialog
-*
-*/
-
-#include "untrustedcertquery.h"             // CUntrustedCertQuery
-#include <hb/hbcore/hbsymbianvariant.h>     // CHbSymbianVariantMap
-#include "securitydialogstrace.h"           // TRACE macro
-
-// Note that the dialog type string, the parameters name strings, and the return code
-// name string and values must match to those defined in Qt-side untrusted certificate
-// dialog (in untrustedcertificatedefinitions.h file).
-
-// Device dialog type for untrusted certificate dialog
-_LIT( KUntrustedCertificateDialog, "com.nokia.untrustedcert/1.0" );
-
-// Variant map parameter names for untrusted certificate dialog
-_LIT( KUntrustedCertEncodedCertificate, "cert" );   // bytearray, mandatory
-_LIT( KUntrustedCertServerName, "host" );           // string, mandatory
-_LIT( KUntrustedCertValidationError, "err" );       // int (TValidationError), mandatory
-_LIT( KUntrustedCertTrustedSiteStoreFail, "tss" );  // any, prevents permanent acceptance
-
-// Dialog return code name and values
-_LIT( KUntrustedCertDialogResult, "result" );       // int
-const TInt KUntrustedCertDialogRejected = 0;
-const TInt KUntrustedCertDialogAccepted = 1;
-const TInt KUntrustedCertDialogAcceptedPermanently = 2;
-
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// CUntrustedCertQuery::NewL()
-// ---------------------------------------------------------------------------
-//
-CUntrustedCertQuery* CUntrustedCertQuery::NewL(
-        TValidationError aValidationError, const TDesC8& aCertificate,
-        const TDesC& aServerName, TBool aCanHandlePermanentAccept )
-    {
-    TRACE( "CUntrustedCertQuery::NewL" );
-    CUntrustedCertQuery* self = new ( ELeave ) CUntrustedCertQuery(
-            aValidationError, aCertificate, aServerName,
-            aCanHandlePermanentAccept );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// CUntrustedCertQuery::~CUntrustedCertQuery()
-// ---------------------------------------------------------------------------
-//
-CUntrustedCertQuery::~CUntrustedCertQuery()
-    {
-    TRACE( "CUntrustedCertQuery::~CUntrustedCertQuery, begin" );
-    Cancel();
-    delete iWait;
-    iWait = NULL;
-    delete iDeviceDialog;
-    iDeviceDialog = NULL;
-    delete iVariantMap;
-    iVariantMap = NULL;
-    TRACE( "CUntrustedCertQuery::~CUntrustedCertQuery, end" );
-    }
-
-// ---------------------------------------------------------------------------
-// CUntrustedCertQuery::ShowQueryAndWaitForResponseL()
-// ---------------------------------------------------------------------------
-//
-void CUntrustedCertQuery::ShowQueryAndWaitForResponseL( TResponse& aResponse )
-    {
-    TRACE( "CUntrustedCertQuery::ShowQueryAndWaitForResponseL, begin" );
-    if( !iDeviceDialog )
-        {
-        iDeviceDialog = CHbDeviceDialogSymbian::NewL();
-        }
-    if( !iVariantMap )
-        {
-        iVariantMap = CHbSymbianVariantMap::NewL();
-        }
-
-    CHbSymbianVariant *variant = NULL;
-    variant = CHbSymbianVariant::NewL( &iCertificate, CHbSymbianVariant::EBinary );
-    User::LeaveIfError( iVariantMap->Add( KUntrustedCertEncodedCertificate, variant ) );
-    variant = CHbSymbianVariant::NewL( &iValidationError, CHbSymbianVariant::EInt );
-    User::LeaveIfError( iVariantMap->Add( KUntrustedCertValidationError, variant ) );
-    variant = CHbSymbianVariant::NewL( &iServerName, CHbSymbianVariant::EDes );
-    User::LeaveIfError( iVariantMap->Add( KUntrustedCertServerName, variant ) );
-    if( !iCanHandlePermanentAccept )
-        {
-        variant = CHbSymbianVariant::NewL( &iCanHandlePermanentAccept, CHbSymbianVariant::EBool );
-        User::LeaveIfError( iVariantMap->Add( KUntrustedCertTrustedSiteStoreFail, variant ) );
-        }
-
-    User::LeaveIfError( iDeviceDialog->Show( KUntrustedCertificateDialog, *iVariantMap, this ) );
-    iStatus = KRequestPending;
-    SetActive();
-
-    TRACE( "CUntrustedCertQuery::ShowQueryAndWaitForResponseL, iWait start" );
-    iWait->Start();
-    TRACE( "CUntrustedCertQuery::ShowQueryAndWaitForResponseL, iWaitCompletionCode=%d",
-            iWaitCompletionCode );
-    User::LeaveIfError( iWaitCompletionCode );
-    TRACE( "CUntrustedCertQuery::ShowQueryAndWaitForResponseL, iResponse=%d", iResponse );
-    aResponse = iResponse;
-    }
-
-// ---------------------------------------------------------------------------
-// CUntrustedCertQuery::DoCancel()
-// ---------------------------------------------------------------------------
-//
-void CUntrustedCertQuery::DoCancel()
-    {
-    TRACE( "CUntrustedCertQuery::DoCancel, begin" );
-    if( iDeviceDialog )
-        {
-        TRACE( "CUntrustedCertQuery::DoCancel, cancelling device dialog" );
-        iDeviceDialog->Cancel();
-        }
-
-    // Have to complete the request here, because cancelled device dialog does not
-    // call DeviceDialogClosed() that normally completes it. The request needs to
-    // be completed since CActive::Cancel() waits until the request is completed.
-    TRACE( "CUntrustedCertQuery::DoCancel, completing self with KErrCancel" );
-    TRequestStatus* status( &iStatus );
-    User::RequestComplete( status, KErrCancel );
-
-    // Normally the above request complete would trigger running RunL(). Now RunL()
-    // is not run since the active object is already cancelled. Hence, have to stop
-    // the waiting here so that iWait->Start() returns.
-    iWaitCompletionCode = KErrCancel;
-    if( iWait && iWait->IsStarted() )
-        {
-        TRACE( "CUntrustedCertQuery::DoCancel, stopping iWait" );
-        iWait->AsyncStop();
-        }
-    TRACE( "CUntrustedCertQuery::DoCancel, end" );
-    }
-
-// ---------------------------------------------------------------------------
-// CUntrustedCertQuery::RunL()
-// ---------------------------------------------------------------------------
-//
-void CUntrustedCertQuery::RunL()
-    {
-    TRACE( "CUntrustedCertQuery::RunL, iStatus.Int()=%d", iStatus.Int() );
-    iWaitCompletionCode = iStatus.Int();
-    if( iWait && iWait->IsStarted() )
-        {
-        TRACE( "CUntrustedCertQuery::RunL, stopping iWait" );
-        iWait->AsyncStop();
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CUntrustedCertQuery::DataReceived()
-// ---------------------------------------------------------------------------
-//
-void CUntrustedCertQuery::DataReceived( CHbSymbianVariantMap& aData )
-    {
-    TRACE( "CUntrustedCertQuery::DataReceived" );
-    const CHbSymbianVariant* variant = aData.Get( KUntrustedCertDialogResult );
-    if( variant )
-        {
-        TInt* value = variant->Value<TInt>();
-        if( value )
-            {
-            switch( *value )
-                {
-                case KUntrustedCertDialogRejected:
-                    TRACE( "CUntrustedCertQuery::DataReceived, rejected" );
-                    iResponse = EQueryRejected;
-                    break;
-                case KUntrustedCertDialogAccepted:
-                    TRACE( "CUntrustedCertQuery::DataReceived, accepted" );
-                    iResponse = EQueryAccepted;
-                    break;
-                case KUntrustedCertDialogAcceptedPermanently:
-                    TRACE( "CUntrustedCertQuery::DataReceived, accepted permanently" );
-                    iResponse = EQueryAcceptedPermanently;
-                    break;
-                default:
-                    __ASSERT_DEBUG( EFalse, User::Invariant() );
-                    break;
-                }
-            }
-        else
-            {
-            __ASSERT_DEBUG( EFalse, User::Invariant() );
-            }
-        }
-    else
-        {
-        __ASSERT_DEBUG( EFalse, User::Invariant() );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CUntrustedCertQuery::DeviceDialogClosed()
-// ---------------------------------------------------------------------------
-//
-void CUntrustedCertQuery::DeviceDialogClosed( TInt aCompletionCode )
-    {
-    TRACE( "CUntrustedCertQuery::DeviceDialogClosed, aCompletionCode=%d", aCompletionCode );
-    if( IsActive() )
-        {
-        TRACE( "CUntrustedCertQuery::DeviceDialogClosed, request complete" );
-        TRequestStatus* status( &iStatus );
-        User::RequestComplete( status, aCompletionCode );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CUntrustedCertQuery::CUntrustedCertQuery()
-// ---------------------------------------------------------------------------
-//
-CUntrustedCertQuery::CUntrustedCertQuery(
-        TValidationError aValidationError, const TDesC8& aCertificate,
-        const TDesC& aServerName, TBool aCanHandlePermanentAccept ) :
-        CActive( CActive::EPriorityStandard ), iValidationError( aValidationError ),
-        iCertificate( aCertificate ), iServerName( aServerName ),
-        iCanHandlePermanentAccept( aCanHandlePermanentAccept ),
-        iResponse( EQueryRejected )
-    {
-    CActiveScheduler::Add( this );
-    }
-
-// ---------------------------------------------------------------------------
-// CUntrustedCertQuery::ConstructL()
-// ---------------------------------------------------------------------------
-//
-void CUntrustedCertQuery::ConstructL()
-    {
-    TRACE( "CUntrustedCertQuery::ConstructL" );
-    iWait = new( ELeave ) CActiveSchedulerWait;
-    }
-