deviceencryption/DevEncUi/src/DevEncUiEncryptionOperator.cpp
branchRCL_3
changeset 38 491b3ed49290
parent 36 95243422089a
child 39 65326cf895ed
--- a/deviceencryption/DevEncUi/src/DevEncUiEncryptionOperator.cpp	Thu Aug 19 09:42:45 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1349 +0,0 @@
-/*
-* Copyright (c) 2005 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:  Implementation of CDevEncUiEncryptionOperator.
-*
-*/
-
-// INCLUDE FILES
-#include <DevEncExternalCRKeys.h>
-// Class includes
-#include "DevEncLog.h"
-#include "DevEncUids.hrh"
-#include "DevEncUiEncryptionOperator.h"
-
-#include "DevEncUiFileManager.h"
-
-//System includes
-#include <aknmessagequerydialog.h>
-#include <aknViewAppUi.h>
-#include <AknWaitNoteWrapper.h>
-#include <aknnotewrappers.h> // for CAknErrorNote
-#include <bautils.h> // For BAFL, localized resource files
-#include <centralrepository.h>
-#include <coemain.h>
-#include <data_caging_path_literals.hrh> // for resource files dir
-#include <devencui.rsg>
-#include <eikenv.h>
-#include <e32property.h>
-#include <etelmm.h>
-#include <f32file.h>
-#include <gsfwviewuids.h> // For general settings view UIDs (autolock)
-#include <hwrmpowerstatesdkpskeys.h> // For power state
-#include <secuisecuritysettings.h> // for autolock
-#include <settingsinternalcrkeys.h>
-#include <StringLoader.h>
-#include <utf.h> // For character conversion
-#include <TerminalControl3rdPartyAPI.h>
-
-#include <DevEncKeyUtils.h>
-
-//User includes
-#include "DevEncLog.h"
-#include "DevEnc.hrh"
-#include "DevEncUiCreateKeyProcess.h"
-#include "DevEncDef.h"
-#include "DevEncUiMemoryEntity.h"
-#include "DevEncUiSecretMinMaxCodeQuery.h"
-//for KMaxAutolockPeriod = 20;
-#include "DevEncSession.h"
-
-// --------------------------------------------------------------------------
-// CDevEncUiEncryptionOperator::~CDevEncUiEncryptionOperator
-//
-// --------------------------------------------------------------------------
-//
-CDevEncUiEncryptionOperator::~CDevEncUiEncryptionOperator()
-    {
-    }
-
-// --------------------------------------------------------------------------
-// CDevEncUiEncryptionOperator::NewL
-//
-// --------------------------------------------------------------------------
-//
-CDevEncUiEncryptionOperator* CDevEncUiEncryptionOperator::NewL( CEikonEnv& aEikonEnv,
-                                                                CAknViewAppUi& aAppUi,
-                                                                CRepository*& aCrSettings )
-    {
-    CDevEncUiEncryptionOperator* self =
-        CDevEncUiEncryptionOperator::NewLC( aEikonEnv,
-                                            aAppUi,
-                                            aCrSettings );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// --------------------------------------------------------------------------
-// CDevEncUiEncryptionOperator::NewLC
-//
-// --------------------------------------------------------------------------
-//
-CDevEncUiEncryptionOperator* CDevEncUiEncryptionOperator::NewLC( CEikonEnv& aEikonEnv,
-                                                                 CAknViewAppUi& aAppUi,
-                                                                 CRepository*& aCrSettings )
-    {
-    CDevEncUiEncryptionOperator* self =
-        new ( ELeave ) CDevEncUiEncryptionOperator( aEikonEnv,
-                                                    aAppUi,
-                                                    aCrSettings );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-// --------------------------------------------------------------------------
-// CDevEncUiEncryptionOperator::CDevEncUiEncryptionOperator
-//
-// --------------------------------------------------------------------------
-//
-CDevEncUiEncryptionOperator::CDevEncUiEncryptionOperator( CEikonEnv& aEikonEnv,
-                                                          CAknViewAppUi& aAppUi,
-                                                          CRepository*& aCrSettings )
-    : iEikEnv( aEikonEnv ),
-    iAppUi( aAppUi ),
-    iCrSettings( aCrSettings )
-    {
-    }
-
-// --------------------------------------------------------------------------
-// CDevEncUiEncryptionOperator::ConstructL
-//
-// --------------------------------------------------------------------------
-//
-void CDevEncUiEncryptionOperator::ConstructL()
-    {
-    }
-
-// --------------------------------------------------------------------------
-// CDevEncUiEncryptionOperator::HandlePhoneMemEncryptRequestL()
-// --------------------------------------------------------------------------
-//
-void CDevEncUiEncryptionOperator::HandlePhoneMemEncryptRequestL( CDevEncUiMemoryEntity* aMem, CDevEncUiMemoryEntity* aPrimaryMem )
-    {
-    // Check the battery level first
-    if ( ! CheckBatteryL() )
-        {
-        // The battery level is too low and no charger is connected.
-        // Show a note to the user.
-        ErrorNoteL( R_DEVENCUI_TEXT_BATTERY_LOW );
-        User::Leave( KErrNotReady );
-        }
-
-    if ( (aMem->State() == EDecrypted) || (aPrimaryMem && (aPrimaryMem->State() == EDecrypted)) )
-        {
-        // Encryption is off -> encrypt
-        if ( PrepareEncryptionL() )
-            {
-            if ( aMem->State() == EDecrypted )
-            	{
-            	DFLOG( "Starting Mass Storage encryption" );
-            	aMem->StartEncryptionL();
-            	}
-            if( aPrimaryMem && (aPrimaryMem->State() == EDecrypted) )
-            	{
-            	DFLOG( "Starting phone memory encryption" );
-            	aPrimaryMem->StartEncryptionL();
-                }
-            }
-        else
-            {
-            DFLOG( "Encryption cancelled" );
-            }
-        }
-    else if ( (aMem->State() == EEncrypted) || (aPrimaryMem && (aPrimaryMem->State() == EEncrypted)) )
-        {
-        if ( PrepareDecryptionL() )
-            {
-            if ( aMem->State() == EEncrypted )
-            	{
-            	DFLOG( "Starting Mass Storage decryption" );
-            	aMem->StartDecryptionL();
-            	}
-            if( aPrimaryMem && (aPrimaryMem->State() == EEncrypted) )
-                {
-                DFLOG( "Starting phone memory decryption" );
-                aPrimaryMem->StartDecryptionL();
-                }
-            }
-        else
-            {
-            DFLOG( "Decryption cancelled" );
-            }
-        }
-    else
-        {
-        DFLOG2( "Phone memory busy, state = %d, no action", aMem->State() );
-        }
-
-    // Depending on the user's selection, the memory may be in the same
-    // state as before or in a new state. This call will let all observers
-    // know what state the memory ended up in.
-    aMem->UpdateMemoryInfo();
-    }
-
-// --------------------------------------------------------------------------
-// CDevEncUiEncryptionOperator::PrepareEncryptionL()
-// --------------------------------------------------------------------------
-//
-TBool CDevEncUiEncryptionOperator::PrepareEncryptionL()
-    {
-    TBool result( EFalse );
-
-    // Show the confirmation query about autolock
-    CAknMessageQueryDialog* yesNoQuery = new ( ELeave ) CAknMessageQueryDialog;
-    if ( ! yesNoQuery->ExecuteLD( R_DEVENCUI_ENCRYPT_CONFIRMATION_QUERY_DIALOG ) )
-        {
-        // User answered no. Do nothing
-        DFLOG( "User cancelled after autolock warning. No action." );
-        return result;
-        }
-
-    // Autolock must be on before encryption can be enabled.
-    // Get the current autolock status and the current max autolock period
-    TInt lockTime = 0;
-    TBuf8<21> autoLockPeriodBuf;
-    
-    RTerminalControl terminalCtrl;
-    TInt ctrlConnect = terminalCtrl.Connect();
-    DFLOG2( "DEVENC: terminal control connected %d", ctrlConnect );
-    
-    RTerminalControl3rdPartySession session;
-    TInt retValue = session.Open( terminalCtrl );
-    DFLOG2( "DEVENC: terminal control session open %d", retValue );
-
-    TInt err2 = session.GetDeviceLockParameter( RTerminalControl3rdPartySession::ETimeout, autoLockPeriodBuf );
-    DFLOG2( "DEVENC: max value get returned value %d", err2 );
-    
-    TLex8 lexAutolock( autoLockPeriodBuf );          
-    lexAutolock.Val( lockTime );
-    DFLOG2( "lockTime = %d", lockTime );
-    
-    //Get current max autolock period
-    TBuf8<21> oldMaxPeriodBuf;
-    TInt maxperioderr = session.GetDeviceLockParameter( RTerminalControl3rdPartySession::EMaxTimeout, oldMaxPeriodBuf );
-    DFLOG2( "DEVENC: max value set returned value %d", maxperioderr );
-
-#ifndef __WINS__
-    // Setting the autolock works only in target
-
-    if ( lockTime == 0 )
-        {
-        // Autolock disabled. Go to the autolock settings
-        DFLOG( "Autolock currently disabled, going to settings" );
-
-        // Create the filename of the SecUi resource file
-        _LIT( KFileDrive, "z:" );
-        _LIT( KSecUiResourceFileName, "SecUi.rsc" );
-        TFileName filename;
-        filename += KFileDrive;
-        filename += KDC_RESOURCE_FILES_DIR;
-        filename += KSecUiResourceFileName;
-
-        // Convert to a localized resource filename if possible
-        RFs fs;
-        User::LeaveIfError( fs.Connect() );
-        BaflUtils::NearestLanguageFile( fs, filename );
-
-        // Load the SecUi resource file
-        TInt rfileOffset( 0 );
-        TRAPD( err, rfileOffset = iEikEnv.AddResourceFileL( filename ) );
-        if ( err )
-            {
-            DFLOG2( "Add resource file error %d", err );
-            }
-        User::LeaveIfError( err );
-        
-        // Set maximum autolock period
-        
-        TBuf8<21> maxPeriodBuf;
-        maxPeriodBuf.AppendNum( KMaxAutolockPeriod );
-        TInt err3 = session.SetDeviceLockParameter( RTerminalControl3rdPartySession::EMaxTimeout, maxPeriodBuf );
-        DFLOG2( "DEVENC: max value set returned value %d", err3 );
-
-        // Let the user set an autolock period
-        CSecuritySettings* secSett = CSecuritySettings::NewL();
-        CleanupStack::PushL( secSett );
-        TInt newLockTime = secSett->ChangeAutoLockPeriodL( lockTime );
-        CleanupStack::PopAndDestroy( secSett );
-
-        iEikEnv.DeleteResourceFile( rfileOffset );
-        
-        if ( newLockTime == 0 )
-            {
-            // User cancelled or set autolock off -> do nothing
-            DFLOG( "User selected not to enable autolock. No action." );
-            
-            //restore the old maximum period value
-            TInt err3 = session.SetDeviceLockParameter( RTerminalControl3rdPartySession::EMaxTimeout, oldMaxPeriodBuf );
-            DFLOG2( "DEVENC: max value set returned value %d", err3 );
-            
-            //the autolock period is now at KMaxAutolockPeriod( =20 ) so we have to set it as it was previously
-            err3 = session.SetDeviceLockParameter( RTerminalControl3rdPartySession::ETimeout, autoLockPeriodBuf );
-            DFLOG2( "DEVENC: max value set returned value %d", err3 );
-            
-            session.Close();
-            terminalCtrl.Close();
-            return result;
-            }
-        
-        TBuf8<21> newLockTimeBuf;
-        newLockTimeBuf.AppendNum( newLockTime );
-        
-        TInt setResult = session.SetDeviceLockParameter( RTerminalControl3rdPartySession::ETimeout, newLockTimeBuf );
-        if ( setResult )
-            {
-            // TBI: Log the failure and leave with error
-            DFLOG2( "ERROR: session.SetDeviceLockParameter( RTerminalControl3rdPartySession::ETimeout, .. ) returned %d", setResult );
-            session.Close();
-            terminalCtrl.Close();
-            return result;
-            }
-        lockTime = newLockTime;
-        }
-    else
-    	{    	
-    	DFLOG( "Autolock already enabled. Set only the current maximum period" );
-    	
-    	//By setting the max autolock period the autolock period is set to max if it was greater than that
-    	TBuf8<21> maxPeriodBuf;
-        maxPeriodBuf.AppendNum( KMaxAutolockPeriod );
-        TInt err3 = session.SetDeviceLockParameter( RTerminalControl3rdPartySession::EMaxTimeout, maxPeriodBuf );
-        DFLOG2( "DEVENC: max value set returned value %d", err3 );
-        }
-#endif // __WINS__
-
-    DFLOG2( "Autolock time is %d", lockTime );
-
-    // Autolock is now enabled, so we can proceed with the encryption
-    // Warn the user about the long encryption process
-    if ( MessageQueryL( R_DEVENCUI_TEXT_NOTE_ENCRYPTING ) )
-        {
-        result = ETrue;
-        DFLOG( "Starting encryption" );
-        }
-    else
-        {
-        DFLOG( "Encryption cancelled" );
-        //the encryption was cancelled. Let's set the old autolock values
-        //restore the old maximum period value
-        TInt err3 = session.SetDeviceLockParameter( RTerminalControl3rdPartySession::EMaxTimeout, oldMaxPeriodBuf );
-        DFLOG2( "DEVENC: max value set returned value %d", err3 );
-        
-        //the autolock period is now at KMaxAutolockPeriod( =20 ) so we have to set it as it was previously
-        err3 = session.SetDeviceLockParameter( RTerminalControl3rdPartySession::ETimeout, autoLockPeriodBuf );
-        DFLOG2( "DEVENC: max value set returned value %d", err3 );
-        }
-    
-    session.Close();
-    terminalCtrl.Close();
-    
-    return result;
-    }
-
-// --------------------------------------------------------------------------
-// CDevEncUiEncryptionOperator::PrepareDecryptionL()
-// --------------------------------------------------------------------------
-//
-TBool CDevEncUiEncryptionOperator::PrepareDecryptionL()
-    {
-    // Warn the user about the long decryption process
-    return MessageQueryL( R_DEVENCUI_TEXT_NOTE_PHONE_DECRYPTING );
-    }
-
-// --------------------------------------------------------------------------
-// CDevEncUiEncryptionOperator::MessageQueryL()
-// --------------------------------------------------------------------------
-//
-TBool CDevEncUiEncryptionOperator::MessageQueryL( TInt aResourceId,
-                                                  TInt aSoftKeysId )
-    {
-    TBool result( EFalse );
-
-    // Show a message query with OK and Cancel buttons and the specified text
-    CAknMessageQueryDialog* query =
-        new ( ELeave ) CAknMessageQueryDialog;
-    query->PrepareLC( R_DEVENCUI_ENCRYPT_CONFIRMATION_QUERY_DIALOG );
-    query->ButtonGroupContainer().SetCommandSetL( aSoftKeysId );
-    HBufC* prompt = StringLoader::LoadLC( aResourceId, &iEikEnv );
-    query->SetMessageTextL( *prompt );
-    CleanupStack::PopAndDestroy( prompt );
-    if ( query->RunLD() )
-        {
-        result = ETrue;
-        }
-    return result;
-    }
-
-// --------------------------------------------------------------------------
-// CDevEncUiEncryptionOperator::QueryDialog()
-// --------------------------------------------------------------------------
-//
-TBool CDevEncUiEncryptionOperator::QueryDialogL( TInt aResourceId,
-                                                 TInt aSoftKeysId )
-    {
-    TBool result( EFalse );
-    CAknQueryDialog* query = CAknQueryDialog::NewL();
-    query->PrepareLC( R_DEVENCUI_CONFIRMATION_QUERY ); // CleanupStack OK
-    HBufC* prompt = StringLoader::LoadLC( aResourceId, &iEikEnv );
-    query->SetPromptL( *prompt );
-    query->ButtonGroupContainer().SetCommandSetL( aSoftKeysId );
-    
-    CleanupStack::PopAndDestroy( prompt );
-    if ( query->RunLD() )
-        {
-        result = ETrue;
-        }
-    return result;
-    }
-
-// --------------------------------------------------------------------------
-// CDevEncUiEncryptionOperator::DataQueryDialogL()
-// --------------------------------------------------------------------------
-//
-TBool CDevEncUiEncryptionOperator::DataQueryDialogL( TDes& aResult,
-                                                     TInt aPromptResourceId,
-                                                     TInt aMaxLength )
-    {
-    // The descriptor contained the prompt text for the query. The prompt
-    // text can also be defined in the resource structure of the query
-    HBufC* prompt = StringLoader::LoadLC( aPromptResourceId, &iEikEnv );
-
-    // create dialog instance
-    CAknTextQueryDialog* dlg =
-        new( ELeave ) CAknTextQueryDialog( aResult, *prompt );
-
-    CleanupStack::PopAndDestroy( prompt );
-
-    // Sets the maximum length of the text editor
-    dlg->SetMaxLength( aMaxLength );
-
-    // Prepares the dialog, constructing it from the specified resource
-    dlg->PrepareLC( R_DEVENCUI_DATA_QUERY );
-
-    // Launch the dialog
-    return dlg->RunLD();
-    }
-
-// --------------------------------------------------------------------------
-// CDevEncUiEncryptionOperator::HandleMmcEncryptRequestL()
-// --------------------------------------------------------------------------
-//
-void CDevEncUiEncryptionOperator::HandleMmcEncryptRequestL( CDevEncUiMemoryEntity* aMem,
-                                                            TInt aCommand )
-    {
-    // Check the battery level first
-    if ( ! CheckBatteryL() )
-        {
-        // The battery level is too low and no charger is connected.
-        // Show a note to the user.
-        ErrorNoteL( R_DEVENCUI_TEXT_BATTERY_LOW );
-        User::Leave( KErrNotReady );
-        }
-
-    TBool proceed( EFalse );
-    switch ( aCommand )
-        {
-        case EDevEncUiCommandEncryptWithRestoredKey:
-            {
-            DFLOG( "Encrypt with restored key selected" );
-            proceed = LoadAndSetKeyL(); // No cleanup stack needed
-            break;
-            }
-
-        case EDevEncUiCommandEncryptAndSaveKey:
-            {
-            DFLOG( "Encrypt and save key selected" );
-            proceed = CreateAndSaveKeyL(); // No cleanup stack needed
-            if( proceed )
-                {
-                InfoNoteL( R_DEVENCUI_TEXT_NOTE_SAVEINFO, ETrue );
-                DFLOG( "Key saved succesfully" );
-                }
-            break;
-            }
-
-        case EDevEncUiCommandEncryptWithoutSavingKey:
-            {
-            DFLOG( "Encrypt without saving key selected" );
-            // Create an encryption key and take it in use
-            // The key will remain in the driver until the next key is set,
-            // and it can not be retrieved.
-            proceed = CreateKeyL(); // No cleanup stack needed
-            break;
-            }
-
-        case EDevEncUiCommandEncryptWithCurrentKey:
-            {
-            DFLOG( "Encrypt with current key selected" );
-            proceed = ETrue;
-            }
-            
-        default:
-            {
-            DFLOG( "Invalid command" );
-            break;
-            }
-        }
-
-    if ( aMem->State() == EUnmounted )
-        {
-        if( !proceed )
-        	{
-            // The encryption operation was cancelled, just go back to encryption view
-            DFLOG( "No Mmc present and operation was cancelled -> no encryption" );
-            }
-        else
-        	{
-        	// The encryption operation was succesfull, go back to main view
-            iAppUi.ActivateLocalViewL( TUid::Uid( EDevEncUiMainViewId ) );
-        	proceed = EFalse;
-            DFLOG( "No Mmc present -> no encryption" );
-            }
-        }
-
-    if ( aMem->State() == ECorrupted )
-        {
-        if( !proceed )
-        	{
-        	DFLOG( "Mmc probably enc with another key -> wait for remount" );
-            }
-        else
-        	{
-        	// Mmc was probably encrypted with another key. We have just set a
-            // new key, so now we have to wait until the state changes and hope
-            // that the card is readable. If it is, a note will be shown to the
-            // user. (See UI spec 2.7)
-            InfoNoteL( R_DEVENCUI_TEXT_NOTE_MEMORYCARD_ENCRYPTED, ETrue );
-            iAppUi.ActivateLocalViewL( TUid::Uid( EDevEncUiMainViewId ) );
-            proceed = EFalse;
-            DFLOG( "Mmc probably enc with another key -> wait for remount" );
-            RemountMmcL();
-            }
-        }
-    
-    if ( proceed )
-        {
-        TInt encrypt( 0 );
-        
-        // Check DM admin status
-        TInt dmControlSetting( 0 );
-        iCrSettings->Get( KDevEncUiDmControl, dmControlSetting );
-        
-        if( ( dmControlSetting & KDmControlsMemoryCard ) && ( aCommand == EDevEncUiCommandEncryptWithCurrentKey ) )
-        	{
-        	//if the DM admin is controlling the encryption, encrypt straight away
-        	encrypt = ETrue;
-        	}
-        else
-        	{
-        	encrypt = MessageQueryL( R_DEVENCUI_TEXT_NOTE_ENCRYPTING );
-            }
-        
-        // Warn the user about the long encryption process
-        if ( encrypt )
-            {
-            // Start the encryption
-            DFLOG( "Starting encryption" );
-            aMem->StartEncryptionL();
-            // Go back to main view
-            iAppUi.ActivateLocalViewL( TUid::Uid( EDevEncUiMainViewId ) );
-            }
-        else
-            {
-            DFLOG( "Encryption cancelled" );
-            // Stay in the Encryption view
-            // Show a note to the user about that the new key is in use,
-            // but the card is still decrypted (UI spec 2.3)
-            InfoNoteL( R_DEVENCUI_TEXT_NOTE_ENCRYPTIONINTERRUPT, ETrue );
-            iAppUi.ActivateLocalViewL( TUid::Uid( EDevEncUiMainViewId ) );
-            }
-        }
-
-    // Depending on the user's selection, the memory may be in the same
-    // state as before or in a new state. This call will let all observers
-    // know what state the memory ended up in.
-    aMem->UpdateMemoryInfo();
-    }
-
-// --------------------------------------------------------------------------
-// CDevEncUiEncryptionOperator::CreateKeyL()
-// --------------------------------------------------------------------------
-//
-TBool CDevEncUiEncryptionOperator::CreateKeyL()
-    {
-    TBool proceed( EFalse );
-    CDevEncKeyUtils* utils = new ( ELeave ) CDevEncKeyUtils;
-    CleanupStack::PushL( utils );
-//    User::LeaveIfError(utils->Connect());
-    TRequestStatus status;
-    utils->CreateSetKey( status, KEncryptionKeyLength );
-    User::WaitForRequest( status );
-//    utils->Close();
-    CleanupStack::PopAndDestroy( utils );
-    if ( ! status.Int() )
-        {
-        // Save the Mmc encryption key status
-        User::LeaveIfError( iCrSettings->Set( KDevEncUserSettingMemoryCard,
-                                              ETrue ) );
-        proceed = ETrue;
-        }
-    return proceed;
-    }
-
-// --------------------------------------------------------------------------
-// CDevEncUiEncryptionOperator::CreateAndSaveKeyL()
-// --------------------------------------------------------------------------
-//
-TBool CDevEncUiEncryptionOperator::CreateAndSaveKeyL()
-    {
-    TBool proceed( EFalse );
-    
-    TBool passwordOk( EFalse );
-    TBool keyFileNameOk( EFalse );
-    TBool keyCreated( EFalse );
-    TBool keySaved( EFalse );
-    CFileStore* file( NULL );
-    HBufC* keyFileName = HBufC::NewLC( KMaxFilenameLength );
-    
-    // Get the key password from the user
-    HBufC8* password = HBufC8::NewLC( KMaxPasswordLength );
-    TPtr8 passwordPtr = password->Des();
-    passwordOk = PasswordQueryL( R_DEVENCUI_TEXT_PASSPHRASE_PROTECT,
-                                 passwordPtr );
-
-    CDevEncUiFileManager* fm = new ( ELeave ) CDevEncUiFileManager;
-    CleanupStack::PushL( fm );
-    fm->ConstructL();
-
-    HBufC8* pkcs5Key( NULL );
-
-    if ( passwordOk )
-        {
-        DFLOG( "Password entered" );
-        // The user entered the correct password
-
-        // Construct file path
-        _LIT( KDevEncKeyFileExtension, ".pk5");
-        TBuf<KMaxFileName> filePath;
-        User::LeaveIfError( fm->KeyFolder( filePath ) );
-        TInt pathLen( filePath.Length() );
-
-        // Get the key file name from the user
-        TBool filenameEntered( EFalse );
-        TBool cancelPressed( EFalse );
-        TPtr16 keyFileNamePtr = keyFileName->Des();
-        while ( ( ! cancelPressed ) && ( ! file ) )
-            {
-            filenameEntered = DataQueryDialogL( keyFileNamePtr,
-                    R_DEVENCUI_TEXT_FILENAME,
-                    KMaxFilenameLength );
-            if ( !filenameEntered )
-                {
-                // User pressed cancel, stop here
-                cancelPressed = ETrue;
-                }
-            else
-                {
-                // User entered a file name. Try to open a file store
-                filePath.Append( keyFileNamePtr );
-                filePath.Append( KDevEncKeyFileExtension );
-                TInt openError = fm->OpenFileStore( filePath,
-                                                    file );
-                if ( openError )
-                    {
-                    DFLOG2( "Error opening file: %d", openError );
-
-                    // Notify the user that something went wrong
-                    if ( openError == KErrAlreadyExists )
-                        {
-                        ErrorNoteL( R_DEVENCUI_TEXT_FILE_EXISTS );
-                        }
-                    else
-                        {
-                        ErrorNoteL( R_DEVENCUI_TEXT_BAD_NAME );
-                        }
-                    
-                    // Remove the file name from the path and try again
-                    filePath.Delete( pathLen, filePath.Length() - pathLen );
-                    }
-                else
-                    {
-                    DFLOG( "File opened:" );
-                    DFLOGBUF( filePath );
-                    keyFileNameOk = ETrue;
-                    CleanupStack::PushL( file );
-                    }
-                }
-            } // end of while
-        }
-    else
-        {
-        DFLOG( "Password incorrect" );
-        }
-    
-    if ( keyFileNameOk )
-        {
-        // Create the encryption key
-        CDevEncKeyUtils* utils = new ( ELeave ) CDevEncKeyUtils;
-        CleanupStack::PushL( utils );
-//        User::LeaveIfError(utils->Connect());
-
-        TRequestStatus status;
-        utils->CreateSetKey( status, pkcs5Key, *password, KEncryptionKeyLength );
-        User::WaitForRequest( status );
-//        utils->Close();
-        CleanupStack::PopAndDestroy( utils );
-        
-        if ( status.Int() )
-            {
-            DFLOG2( "Error creating key: %d", status.Int() );
-            }
-        else
-            {
-            keyCreated = ETrue;
-            CleanupStack::PushL( pkcs5Key );
-            // Save the Mmc encryption key status
-            User::LeaveIfError( iCrSettings->Set( KDevEncUserSettingMemoryCard,
-                                                  ETrue ) );
-            }
-        }
-
-    if ( keyCreated )
-        {
-        // Save the key
-        fm->SaveKeyL( file, *pkcs5Key );
-        CleanupStack::PopAndDestroy( pkcs5Key );
-        keySaved = ETrue;
-        }
-
-    if ( keySaved )
-        {
-        // Finally, start the encryption
-        proceed = ETrue;
-        }
-
-    // Cleanup on demand
-    if ( file )
-        {
-        CleanupStack::PopAndDestroy( file );
-        }
-    if ( fm )
-        {
-        CleanupStack::PopAndDestroy( fm );
-        }
-    if ( password )
-        {
-        CleanupStack::PopAndDestroy( password );
-        }
-    if ( keyFileName )
-        {
-        CleanupStack::PopAndDestroy( keyFileName );
-        }
-    
-    return proceed;
-    }
-
-// --------------------------------------------------------------------------
-// CDevEncUiEncryptionOperator::LoadAndSetKeyL()
-// --------------------------------------------------------------------------
-//
-TBool CDevEncUiEncryptionOperator::LoadAndSetKeyL()
-    {
-    TBool proceed( EFalse );
-
-    TBool keySelected( EFalse );
-    TBool passwordOk( EFalse );
-    TBool askPassword( ETrue );
-    HBufC8* pkcs5Key( NULL );
-    TBuf8<KMaxPasswordLength> password8;
-
-    // Get a list of existing keys in the private directory
-    CDevEncUiFileManager* fm = new ( ELeave ) CDevEncUiFileManager;
-    CleanupStack::PushL( fm );
-    fm->ConstructL();
-    CDir* dir( NULL );
-    fm->GetKeyListL( dir );
-
-    DFLOG2( "Found %d keys", dir->Count() );
-    
-    if ( dir->Count() <= 0 )
-        {
-        ErrorNoteL( R_DEVENCUI_TEXT_NO_KEYS_FOUND );
-        User::Leave( KErrNotReady );
-        }
-    
-    // Create a list for the query
-    iListQueryItemArray = new ( ELeave ) CDesCArrayFlat( dir->Count() );
-    for ( TInt i = 0; i < dir->Count(); i++ )
-        {
-        TEntry entry( (*dir)[i] );
-        HBufC* tmpFileName = entry.iName.AllocLC();
-        iListQueryItemArray->AppendL( entry.iName );
-        CleanupStack::PopAndDestroy( tmpFileName );
-        }
-
-    // Let the user select which key to load
-    TInt index( 0 ); // the index of the selected item
-    CAknListQueryDialog* query =
-        new ( ELeave ) CAknListQueryDialog( &index );
-    query->PrepareLC( R_DEVENCUI_LIST_QUERY );
-    query->ButtonGroupContainer().SetCommandSetL( R_AVKON_SOFTKEYS_OK_BACK );
-    query->SetItemTextArray( iListQueryItemArray );
-    // Keep ownership of the item array
-    query->SetOwnershipType( ELbmDoesNotOwnItemArray );
-    if ( query->RunLD() )
-        {
-        DFLOG2( "User selected key %d", index );
-        DFLOGBUF( ( *dir )[index].iName );
-        // Load the key file.
-
-        // Construct file path
-        TBuf<KMaxFileName> filePath;
-        DFLOG("Start find key folder");
-        User::LeaveIfError( fm->KeyFolder( filePath ) );
-        DFLOG("Stop find key folder");
-    
-        TFileName filename;
-        filename.Append( filePath );
-        filename.Append( ( *dir )[index].iName );
-        fm->LoadKeyL( filename,
-                      pkcs5Key );
-        CleanupStack::PushL( pkcs5Key );
-        keySelected = ETrue;
-        DFLOG( "Key loaded" );
-        }
-    else
-        {
-        // User cancelled the query
-        DFLOG( "Key file query cancelled by user, stopping here" );
-        }
-    
-    while ( askPassword )
-    	{
-        if ( keySelected )
-            {
-            // Get the key password from the user
-            passwordOk = PasswordQueryL( R_DEVENCUI_TEXT_PASSPHRASE_ASK,
-                                         password8 );
-            }
-        else
-        	{
-        	//The user pressed back. Do not ask the password
-        	askPassword = EFalse;
-        	}
-
-        if ( passwordOk )
-            {
-            DFLOG( "Password ok, setting key" );
-            CDevEncKeyUtils* utils = new ( ELeave ) CDevEncKeyUtils;
-            CleanupStack::PushL( utils );
-//            User::LeaveIfError(utils->Connect());
-
-            TRequestStatus status;
-            utils->SetKey( status, *pkcs5Key, password8 );
-            User::WaitForRequest( status );
-//            utils->Close();
-            CleanupStack::PopAndDestroy( utils );
-            if ( status.Int() )
-                {
-                const TInt KErrBadPassphrase( -11000 );
-                DFLOG2( "Error taking key in use: %d", status.Int() );
-                if ( status.Int() == KErrBadPassphrase )
-                    {
-                    DFLOG( "Invalid password" );
-                    ErrorNoteL( R_DEVENCUI_TEXT_INVALID_PASSWORD );
-                    }
-                else
-                    {
-                    DFLOG2( "Key read error %d", status.Int() );
-                    ErrorNoteL( R_DEVENCUI_TEXT_KEY_ERROR );
-                    askPassword = EFalse;
-                    }
-                }
-            else
-                {
-                DFLOG( "New key is now in use" );
-                // Save the Mmc encryption key status
-                User::LeaveIfError( iCrSettings->Set( KDevEncUserSettingMemoryCard,
-                                                      ETrue ) );
-                proceed = ETrue;
-                askPassword = EFalse;
-                }
-            }
-        else
-            {
-            askPassword = EFalse;
-            }
-        }
-    // Cleanup on demand
-    if ( pkcs5Key )
-        {
-        CleanupStack::PopAndDestroy( pkcs5Key );
-        }
-    if ( fm )
-        {
-        CleanupStack::PopAndDestroy( fm );
-        }
-
-    return proceed;
-    }
-    
-
-// --------------------------------------------------------------------------
-// CDevEncUiEncryptionOperator::PasswordQueryL()
-// --------------------------------------------------------------------------
-//
-TBool CDevEncUiEncryptionOperator::PasswordQueryL( TInt aPromptResourceId,
-                                                   TDes8& aResult )
-    {
-    TBool passwordOk( EFalse );
-    TBuf<KMaxPasswordLength> password;
-    TBuf8<KMaxPasswordLength> password8;
-    CDevEncUiSecretMinMaxCodeQuery* query =
-        new ( ELeave ) CDevEncUiSecretMinMaxCodeQuery( password,
-                                                   KMinPasswordLength,
-                                                   KMaxPasswordLength );
-
-    HBufC* prompt = StringLoader::LoadLC( aPromptResourceId, &iEikEnv );
-    query->SetPromptL( *prompt );
-    CleanupStack::PopAndDestroy( prompt );
-
-    // Prompt the user for the key password
-    if ( ( query->ExecuteLD( R_DEVENCUI_CODE_QUERY ) ) )
-        {
-        // This indicates that the user filled in some password and
-        // pressed OK.
-        passwordOk = ETrue;
-        }
-    else
-        {
-        DFLOG( "Key password dialog cancelled" );
-        }
-
-    if ( passwordOk )
-        {
-        // Convert the password to UTF-8
-        if ( CnvUtfConverter::ConvertFromUnicodeToUtf8( password8,
-                                                        password ) )
-            {
-            DFLOG( "Password conversion failed" );
-            passwordOk = EFalse;
-            }
-        else
-            {
-            aResult.Copy( password8 );
-            }
-        }
-    
-    return passwordOk;
-    }
-
-// --------------------------------------------------------------------------
-// CDevEncUiEncryptionOperator::HandleMmcDecryptRequestL()
-// --------------------------------------------------------------------------
-//
-void CDevEncUiEncryptionOperator::HandleMmcDecryptRequestL( CDevEncUiMemoryEntity* aMem,
-                                                            TInt aCommand )
-    {
-    // Check the battery level first
-    if ( ! CheckBatteryL() )
-        {
-        // The battery level is too low and no charger is connected.
-        // Show a note to the user.
-        ErrorNoteL( R_DEVENCUI_TEXT_BATTERY_LOW );
-        User::Leave( KErrNotReady );
-        }
-
-    TBool proceed( EFalse );
-    switch ( aCommand )
-        {
-        case EDevEncUiCommandDecrypt:
-            {
-            DFLOG( "Decrypt selected" );
-            // Warn the user about the long decryption process
-            proceed = MessageQueryL( R_DEVENCUI_TEXT_NOTE_DECRYPTING );
-            break;
-            }
-        case EDevEncUiCommandDecryptAndTurnOffEncryption:
-            {
-            DFLOG( "Decrypt and turn off selected" );
-            // Warn the user about the long decryption process,
-            // and that the key will be destroyed
-            proceed = MessageQueryL( R_DEVENCUI_TEXT_NOTE_DECRYPTINGDESTROY );
-            // Save the Mmc encryption key status
-            User::LeaveIfError( iCrSettings->Set( KDevEncUserSettingMemoryCard,
-                                                  EFalse ) );
-            // The key will actually be destroyed in the DevEncStarter
-            // component, because the user may exit from the UI at any time.
-            // By saving the encryption key status in the central repository,
-            // we ensure that the Starter knows that it's supposed to destroy
-            // the key when the operation is complete
-            // TBI: Destroy the key in Starter after decryption is complete.
-            break;
-            }
-        default:
-            {
-            break;
-            }
-        }
-
-    if ( aMem->State() == EUnmounted )
-        {
-        // Just go back to main view, no decryption operation
-        iAppUi.ActivateLocalViewL( TUid::Uid( EDevEncUiMainViewId ) );
-        proceed = EFalse;
-        DFLOG( "No Mmc present -> no decryption" );
-        }
-    
-    if ( proceed )
-        {
-        // Start the decryption
-        DFLOG( "Starting decryption" );
-        aMem->StartDecryptionL();
-        // Go back to main view
-        iAppUi.ActivateLocalViewL( TUid::Uid( EDevEncUiMainViewId ) );
-        }
-    else
-        {
-        DFLOG( "Decryption cancelled" );
-        // Stay in the decryption view
-        }
-
-    // Depending on the user's selection, the memory may be in the same
-    // state as before or in a new state. This call will let all observers
-    // know what state the memory ended up in.
-    aMem->UpdateMemoryInfo();
-    }
-
-// ---------------------------------------------------------------------------
-// CDevEncUiEncryptionOperator::CheckBatteryL()
-// Checks if there's enough battery power to update
-// ---------------------------------------------------------------------------
-//
-TBool CDevEncUiEncryptionOperator::CheckBatteryL()
-    {
-#ifdef __WINS__
-
-    // In the emulator, the battery level is always 0 and the charger is never
-    // connected, so just return ETrue.
-    return ETrue;
-
-#else // __WINS__
-
-    // Running on target. Check the real battery and charger status
-
-    TInt chargingstatus( EChargingStatusError );
-    TInt batterylevel( 1 );
-    TBool enoughPower( EFalse );
-
-    // Read battery
-    DFLOG( "CDevEncUiEncryptionOperator::CheckBatteryL" );
-    RProperty pw;
-    User::LeaveIfError( pw.Attach( KPSUidHWRMPowerState, KHWRMBatteryLevel ) );
-    User::LeaveIfError( pw.Get( batterylevel ) );
-    pw.Close();
-
-    User::LeaveIfError( pw.Attach( KPSUidHWRMPowerState, KHWRMChargingStatus ) );
-    User::LeaveIfError( pw.Get( chargingstatus ));
-    pw.Close();
-
-    // Too low battery, power insufficient
-    if ( batterylevel >= EBatteryLevelLevel4 )
-        {
-        enoughPower = ETrue;
-        }
-    // But charger is connected, power sufficient
-    if ( ( chargingstatus != EChargingStatusError ) &&
-         ( chargingstatus != EChargingStatusNotConnected ) )
-        {
-        enoughPower = ETrue;
-        }
-
-    DFLOG3( "Battery level: %d  (0..7), chargingstatus %d",
-           batterylevel, chargingstatus );
-    DFLOG2( "CheckBatteryL %d", ( enoughPower ? 1 : 0 ) );
-    return enoughPower;
-
-#endif // __WINS__
-    }
-
-// --------------------------------------------------------------------------
-// CDevEncUiEncryptionOperator::ErrorNoteL()
-// --------------------------------------------------------------------------
-//
-void CDevEncUiEncryptionOperator::ErrorNoteL( TInt aResourceId,
-                                              TBool aWaitingNote )
-    {
-    HBufC* message = StringLoader::LoadLC( aResourceId );
-    CAknErrorNote* errorNote = new ( ELeave ) CAknErrorNote( aWaitingNote );
-    errorNote->ExecuteLD( *message );
-    CleanupStack::PopAndDestroy( message );
-    }
-
-// --------------------------------------------------------------------------
-// CDevEncUiEncryptionOperator::InfoNoteL()
-// --------------------------------------------------------------------------
-//
-void CDevEncUiEncryptionOperator::InfoNoteL( TInt aResourceId,
-                                             TBool aWaitingNote )
-    {
-    HBufC* message = StringLoader::LoadLC( aResourceId );
-    CAknInformationNote* note = new ( ELeave ) CAknInformationNote( aWaitingNote );
-    note->ExecuteLD( *message );
-    CleanupStack::PopAndDestroy( message );
-    }
-
-// --------------------------------------------------------------------------
-// CDevEncUiEncryptionOperator::DestroyKeyQueryL()
-//
-// --------------------------------------------------------------------------
-void CDevEncUiEncryptionOperator::DestroyKeyQueryL( TBool aShowMmcNote )
-    {
-    TBool destroy = QueryDialogL( R_DEVENCUI_TEXT_NOTE_DECRYPT_NOMEMRYCARD, R_AVKON_SOFTKEYS_YES_NO );
-    if ( destroy )
-        {
-        DestroyKeyL();
-        if ( aShowMmcNote )
-            {
-            InfoNoteL( R_DEVENCUI_TEXT_NOTE_MEMORYCARD_UNENCRYPTED );
-            }
-        }
-    else
-        {
-        DFLOG( "User cancelled destroy key query" );
-        }
-    }
-
-// --------------------------------------------------------------------------
-// CDevEncUiEncryptionOperator::DestroyKeyL()
-//
-// --------------------------------------------------------------------------
-void CDevEncUiEncryptionOperator::DestroyKeyL()
-    {
-    DFLOG( "CDevEncUiEncryptionOperator::DestroyKeyL" );
-    CDevEncKeyUtils* utils = new ( ELeave ) CDevEncKeyUtils;
-    CleanupStack::PushL( utils );
-//    User::LeaveIfError(utils->Connect());
-
-    TRequestStatus status;
-    utils->ResetKey( status );
-    User::WaitForRequest( status );
-//    utils->Close();
-    CleanupStack::PopAndDestroy( utils );
-    if ( status.Int() )
-        {
-        DFLOG2( "DestroyKeyL error %d", status.Int() );
-        }
-    else
-        {
-        DFLOG( "DestroyKeyL done" );
-        // We no longer have a key in the driver. Update the user setting.
-        iCrSettings->Set( KDevEncUserSettingMemoryCard, 0 );
-        }
-    User::LeaveIfError( status.Int() );
-    }
-
-// --------------------------------------------------------------------------
-// CDevEncUiEncryptionOperator::SuggestMmcEncryptionL()
-//
-// --------------------------------------------------------------------------
-void CDevEncUiEncryptionOperator::SuggestMmcEncryptionL(
-                                                CDevEncUiMemoryEntity* aMem )
-    {
-    TInt encrypt( 0 );
-    
-    // Check DM admin status
-    TInt dmControlSetting( 0 );
-    iCrSettings->Get( KDevEncUiDmControl, dmControlSetting );
-    
-    if( dmControlSetting & KDmControlsMemoryCard )
-    	{
-    	//The admin is controlling the encryption, encrypt straight away without questions
-    	encrypt = ETrue;
-    	}
-    else
-    	{
-    	encrypt = MessageQueryL( R_DEVENCUI_TEXT_NOTE_INSERTUNENCRYPTED,
-                R_AVKON_SOFTKEYS_YES_NO );
-        }
-    
-    if ( encrypt )
-        {
-        HandleMmcEncryptRequestL( aMem,
-                                  EDevEncUiCommandEncryptWithCurrentKey );
-        }
-    else
-        {
-        DFLOG( "User selected not to encrypt the card" );
-        }
-    }
-
-// --------------------------------------------------------------------------
-// CDevEncUiEncryptionOperator::SuggestMmcDecryptionL()
-//
-// --------------------------------------------------------------------------
-void CDevEncUiEncryptionOperator::SuggestMmcDecryptionL( CDevEncUiMemoryEntity* aMem )
-    {
-    TBool decrypt = MessageQueryL( R_DEVENCUI_TEXT_NOTE_INSERTENCRYPTED,
-                                   R_AVKON_SOFTKEYS_YES_NO );
-    if ( decrypt )
-        {
-        SuggestMmcImportKeyL( aMem, ETrue );
-        }
-    else
-        {
-        ErrorNoteL( R_DEVENCUI_TEXT_NOTE_INSERTOFF_UNUSEDMEMORYCARD );
-        }
-    }
-
-// --------------------------------------------------------------------------
-// CDevEncUiEncryptionOperator::SuggestMmcImportKeyL()
-//
-// --------------------------------------------------------------------------
-void CDevEncUiEncryptionOperator::SuggestMmcImportKeyL(
-                                                CDevEncUiMemoryEntity* /*aMem*/,
-                                                TBool aFirstAttempt )
-    {
-    DFLOG( "CDevEncUiEncryptionOperator::SuggestMmcImportKeyL" );
-    TBool import( ETrue );
-    if ( aFirstAttempt )
-        {
-        DFLOG( "CDevEncUiEncryptionOperator::SuggestMmcImportKeyL => firstAttempt" );
-        import = MessageQueryL( R_DEVENCUI_TEXT_NOTE_DECRYPT_LOADKEY,
-                                R_AVKON_SOFTKEYS_YES_NO );
-        }
-    
-    if ( import )
-        {
-        TBool reloadKey = ETrue; 
-        // Loop while user chooses correct key or cancels operation 
-        while ( reloadKey ) 
-            { 
-            TBool keySet = LoadAndSetKeyL(); 
-            if ( !keySet ) 
-                { 
-                ErrorNoteL( R_DEVENCUI_TEXT_NOTE_UNUSEDMEMORYCARD ); 
-                reloadKey = EFalse; 
-                } 
-            else 
-                { 
-                // New key is in use, now we need to remount the mmc 
-                RemountMmcL(); 
-                
-                // Check that key is valid 
-                TInt err = CheckMMCStatus();              
-
-                if( err == KErrCorrupt )
-                	{
-                	ErrorNoteL( R_DEVENCUI_TEXT_NOTE_WRONGKEYFILE );
-                	reloadKey = ETrue;
-                	}
-                else
-                	{
-                	reloadKey = EFalse;
-                	}
-                } 
-            }
-        }
-    }
-
-// --------------------------------------------------------------------------
-// CDevEncUiEncryptionOperator::CheckMMCStatus()
-//
-// --------------------------------------------------------------------------
-TInt CDevEncUiEncryptionOperator::CheckMMCStatus()
-    {
-    TVolumeInfo volInfo; 
-    RFs fs; 
-    TInt err =  fs.Connect(); 
-    if (err == KErrNone)
-        {
-        fs.Volume( volInfo, EDriveF );
-        fs.Close();
-        }
-    return err;
-    }
-
-// --------------------------------------------------------------------------
-// CDevEncUiEncryptionOperator::RemountMmc()
-//
-// --------------------------------------------------------------------------
-void CDevEncUiEncryptionOperator::RemountMmcL()
-    {
-    CDevEncUiFileManager* fm = new ( ELeave ) CDevEncUiFileManager;
-    CleanupStack::PushL( fm );
-    fm->ConstructL();
-    TInt error = fm->RemountMmc();
-    CleanupStack::PopAndDestroy( fm );
-    if ( error )
-        {
-        DFLOG2( "Mmc remount failed, error %d", error );
-        User::Leave( error );
-        }
-    else
-        {
-        DFLOG( "Mmc remounted" );
-        }
-    }
-
-// --------------------------------------------------------------------------
-// CDevEncUiEncryptionOperator::ShowWrongKeyNoteL()
-//
-// --------------------------------------------------------------------------
-void CDevEncUiEncryptionOperator::ShowWrongKeyNoteL()
-    {
-    ErrorNoteL( R_DEVENCUI_TEXT_NOTE_INSERTON_UNUSEDMEMORYCARD );
-    }
-
-// --------------------------------------------------------------------------
-// CDevEncUiEncryptionOperator::CheckNotesWithHeaderL()
-//
-// --------------------------------------------------------------------------
-void CDevEncUiEncryptionOperator::CheckNotesWithHeaderL()
-    {
-    MessageQueryL( R_DEVENCUI_TEXT_NOTE_DECRYPT_LOADKEY );
-    MessageQueryL( R_DEVENCUI_TEXT_NOTE_DECRYPT_NOMEMRYCARD );
-    MessageQueryL( R_DEVENCUI_TEXT_NOTE_DECRYPTING );
-    MessageQueryL( R_DEVENCUI_TEXT_NOTE_DECRYPTINGDESTROY );
-    MessageQueryL( R_DEVENCUI_TEXT_NOTE_ENCRYPTING );
-    MessageQueryL( R_DEVENCUI_TEXT_NOTE_ENCRYPTIONINTERRUPT );
-    MessageQueryL( R_DEVENCUI_TEXT_NOTE_INSERTENCRYPTED );
-    MessageQueryL( R_DEVENCUI_TEXT_NOTE_INSERTOFF_UNUSEDMEMORYCARD );
-    MessageQueryL( R_DEVENCUI_TEXT_NOTE_INSERTON_UNUSEDMEMORYCARD );
-    MessageQueryL( R_DEVENCUI_TEXT_NOTE_INSERTUNENCRYPTED );
-    MessageQueryL( R_DEVENCUI_TEXT_NOTE_LOCK );
-    MessageQueryL( R_DEVENCUI_TEXT_NOTE_PHONE_DECRYPTING );
-    }
-
-// --------------------------------------------------------------------------
-// CDevEncUiEncryptionOperator::CheckNotesL()
-// --------------------------------------------------------------------------
-//
-void CDevEncUiEncryptionOperator::CheckNotesL()
-    {
-    QueryDialogL( R_DEVENCUI_TEXT_NOTE_DECRYPT_LOADKEY );
-    QueryDialogL( R_DEVENCUI_TEXT_NOTE_DECRYPT_NOMEMRYCARD );
-    QueryDialogL( R_DEVENCUI_TEXT_NOTE_DECRYPTING );
-    QueryDialogL( R_DEVENCUI_TEXT_NOTE_DECRYPTINGDESTROY );
-    QueryDialogL( R_DEVENCUI_TEXT_NOTE_ENCRYPTING );
-    QueryDialogL( R_DEVENCUI_TEXT_NOTE_ENCRYPTIONINTERRUPT );
-    QueryDialogL( R_DEVENCUI_TEXT_NOTE_INSERTENCRYPTED );
-    QueryDialogL( R_DEVENCUI_TEXT_NOTE_INSERTOFF_UNUSEDMEMORYCARD );
-    QueryDialogL( R_DEVENCUI_TEXT_NOTE_INSERTON_UNUSEDMEMORYCARD );
-    QueryDialogL( R_DEVENCUI_TEXT_NOTE_INSERTUNENCRYPTED );
-    QueryDialogL( R_DEVENCUI_TEXT_NOTE_LOCK );
-    QueryDialogL( R_DEVENCUI_TEXT_NOTE_PHONE_DECRYPTING );
-    }
-
-// END OF FILE