filemanager/src/fmbkupenginewrapper/private/symbian/fmbkupengine_p.cpp
branchRCL_3
changeset 21 65326cf895ed
parent 20 491b3ed49290
child 22 f5c50b8af68c
--- a/filemanager/src/fmbkupenginewrapper/private/symbian/fmbkupengine_p.cpp	Tue Aug 31 15:06:05 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,839 +0,0 @@
-/*
- * Copyright (c) 2009 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:
- *      The source file of the backup engine implement for symbian
- */
-
-#include "fmbkupengine_p.h"
-
-// INCLUDE FILES
-#include <coreapplicationuisdomainpskeys.h>
-#include <coemain.h>
-#include <apgwgnam.h>
-#include <apgtask.h>
-#include <bautils.h>
-#include <tz.h>
-#include <babackup.h>
-#include <pathinfo.h>
-#include <sysutil.h>
-#ifdef RD_MULTIPLE_DRIVE
-#include <driveinfo.h>
-#endif // RD_MULTIPLE_DRIVE
-#include <e32property.h>
-#include <centralrepository.h>
-#include "CMMCScBkupEngine.h"
-#include "MMCScBkupOperations.h"
-#include "CMMCScBkupArchiveInfo.h"
-#include "filemanagerprivatecrkeys.h"
-
-#include <eikdef.h>
-#include <eikenv.h>
-
-#include "fmcommon.h"
-
-#include <f32file.h>
-
-/*
-#include "cfilemanageritemproperties.h"
-#include "cfilemanagerbackupsettings.h"
-#include "filemanagerprivatecrkeys.h"
-#include "bkupengine.hrh"
-#include "filemanagerdebug.h"
-#include "cfilemanagercommondefinitions.h"
-#include "filemanageruid.h"
-#include "filemanagerprivatepskeys.h"
-*/
-
-const TInt KFmgrSystemDrive = EDriveC;
-
-FmBkupEnginePrivate::FmBkupEnginePrivate(FmBkupEngine* bkupEngine): q(bkupEngine),
-    iError( KErrNone )
-{
-    iDrvAndOpList = new ( ELeave ) CArrayFixFlat<TBkupDrivesAndOperation> ( 10 ) ;
-    iBkupCategoryList = new RPointerArray<CBkupCategory> ( 10 );
-    iFs.Connect();
-    iBkupEngine = CMMCScBkupEngine::NewL( iFs );
-}
-
-FmBkupEnginePrivate::~FmBkupEnginePrivate()
-{
-	delete iDrvAndOpList;
-	
-	iBkupCategoryList->ResetAndDestroy();
-    delete iBkupCategoryList;
-    
-    delete iBkupEngine;
-    iFs.Close();
-}
-
-TUint32 FmBkupEnginePrivate::FmgrToBkupMask(
-        const TUint32 aFmrgMask )
-    {
-    TUint32 ret( 0 );
-
-    for( TInt i( 0 ); i < KMaskLookupLen; ++i )
-        {
-        if ( ( aFmrgMask & FmBkupEngineCommon::EFileManagerBackupContentAll ) ||
-            ( aFmrgMask & KMaskLookup[ i ].iFmgrMask ) )
-            {
-            ret |= KMaskLookup[ i ].iBkupMask;
-            }
-        }
-    return ret;
-    }
-
-bool FmBkupEnginePrivate::startBackup(QList<FmBkupDrivesAndOperation* > drivesAndOperationList,
-	    QList<FmBkupBackupCategory*> backupCategoryList,
-	    QString drive, quint32 content)
-{
-    FM_LOG( "FmBkupEnginePrivate::startBackup_with drive: " + drive +
-            "_number:" + QString::number(DriverNameToNumber( drive )));
-    if( drive.isEmpty() ) {
-        iError = KErrPathNotFound;
-        FM_LOG( "FmBkupEnginePrivate::startBackup_with return with KErrPathNotFound because drive is empty" );
-        return false;
-    }
-    QStringList backupableDriveList;
-    getBackupDriveList( backupableDriveList );
-    if( !backupableDriveList.contains( drive, Qt::CaseInsensitive ) ) {
-        iError = KErrPathNotFound;
-        FM_LOG( "FmBkupEnginePrivate::startBackup_with return with KErrPathNotFound because drive is not available" );
-        return false;
-    }
-    QString logString;
-    logString = "startBackup";
-    FM_LOG( logString );
-    iDrvAndOpList->Reset();
-    iBkupCategoryList->ResetAndDestroy();
-	
-    logString = "startBackup_driveroperation count:" + QString::number(drivesAndOperationList.count());
-    FM_LOG( logString );
-    
-    for( QList<FmBkupDrivesAndOperation* >::iterator it = drivesAndOperationList.begin();
-        it != drivesAndOperationList.end(); ++it ) {
-		FmBkupDrivesAndOperation* fmDrvAndOp = *it;
-		TBkupDrivesAndOperation drvAndOp;
-		drvAndOp.setOwnerDataType( fmDrvAndOp->ownerDataType() );
-		drvAndOp.setDrvCategories( fmDrvAndOp->drvCategories() );
-		iDrvAndOpList->AppendL( drvAndOp );
-		}
-
-    logString = "startBackup_backupCategoryList count:" + QString::number(backupCategoryList.count());
-    FM_LOG( logString );
-
-	
-	for( QList<FmBkupBackupCategory* >::iterator it = backupCategoryList.begin();
-		    it != backupCategoryList.end(); ++it ) {
-        FmBkupBackupCategory* fmbkupCategory = *it;
-        CBkupCategory* category = CBkupCategory::NewL();
-        
-        category->setCategory( fmbkupCategory->category() );
-        
-        HBufC *archiveName = HBufC::NewL( fmbkupCategory->archive_name().length() );
-        *archiveName = fmbkupCategory->archive_name().utf16();
-        category->setArchive_name( *archiveName );
-        delete archiveName;
-        
-        category->setSpecial_flags( fmbkupCategory->special_flags() );
-        category->setExclude_special_flags( fmbkupCategory->exclude_special_flags() );
-        
-        for( QList<unsigned int>::const_iterator it = fmbkupCategory->uids()->begin();
-                it != fmbkupCategory->uids()->end(); ++it ) {
-            unsigned int value = *it;
-            category->addUids( value );	
-        }
-        
-        
-        for( QList<unsigned int>::const_iterator it = fmbkupCategory->exclude_uids()->begin();
-                it != fmbkupCategory->exclude_uids()->end(); ++it ) {
-            unsigned int value = *it; //( *ex_uidsList )[i];
-            category->addExclude_uids( value );	
-        }
-        
-        
-        iBkupCategoryList->AppendL( category );
-        }
-	
-	TUint32 bkupContent( FmgrToBkupMask( content ) );
-	//TUint32 bkupContent = 63;
-	
-    logString = "startBackup_new param";
-    FM_LOG( logString );
-
-	CMMCScBkupOpParamsBackupFull* params =
-        CMMCScBkupOpParamsBackupFull::NewL(
-            iDrvAndOpList,
-            iBkupCategoryList,
-            TDriveNumber( DriverNameToNumber( drive ) ),
-            bkupContent );
-    
-    mProcess = FmBkupEngine::ProcessBackup;
-
-
-    logString = "startBackup_param ok";
-    FM_LOG( logString );
-
-    CCoeEnv* coeEnv = CCoeEnv::Static();
-    CEikonEnv* eikonEnv = (STATIC_CAST(CEikonEnv*,coeEnv));
-    eikonEnv->SetSystem(ETrue);
-
-    logString = "startBackup_StartOperationL";
-    FM_LOG( logString );
-
-    QList< FmRestoreInfo > restoreInfoList;
-    GetRestoreInfoArray( drivesAndOperationList, restoreInfoList, drive );
-    
-    for ( TInt i( 0 ); i < restoreInfoList.count(); ++i )
-        {        
-        bool toContinue = false;
-        FmRestoreInfo &info = restoreInfoList[ i ];
-        TUint32 existContent( FmgrToBkupMask( info.content() ) );
-        if ( bkupContent & existContent )
-            {            
-            notifyBackupFilesExistInternal( toContinue );
-            if (!toContinue)
-                {
-                iError = KErrAlreadyExists;
-                return false;
-                }
-            else
-                {
-                break;
-                }
-            }
-        }
-    
-    
-    TRAPD( err, iBkupEngine->StartOperationL(
-        EMMCScBkupOperationTypeFullBackup, *this, params ) );
-
-    logString = "startBackup_end with error:" + QString::number(err) ;
-    FM_LOG( logString );
-    return (err == KErrNone);
-}
-
-void FmBkupEnginePrivate::cancelBackup()
-{
-	QString logString  = "cancelBackup";
-	FM_LOG(logString);
-	switch( mProcess )
-    {
-    case FmBkupEngine::ProcessBackup: // FALLTHROUGH
-    case FmBkupEngine::ProcessRestore:
-        {
-//        PublishBurStatus( EFileManagerBkupStatusUnset );
-        iBkupEngine->CancelOperation();
-        break;
-        }
-    default:
-        {
-        break;
-        }
-    }
-}
-
-
-void FmBkupEnginePrivate::notifyPreparingInternal()
-{
-    iError = KErrNone;
-    bool cancelable = false;
-    switch( mProcess )
-    {
-        case FmBkupEngine::ProcessBackup:
-            cancelable = false;
-            break;
-        case FmBkupEngine::ProcessRestore:
-            cancelable = false;
-            break;
-        case FmBkupEngine::ProcessNone:
-        default:
-        Q_ASSERT( false );
-    }
-        
-    emit notifyPreparing( cancelable );
-}
-
-void FmBkupEnginePrivate::notifyStartInternal( int aTotalCount )
-{
-    iError = KErrNone;
-    
-    bool cancelable = false;
-    switch( mProcess )
-    {
-        case FmBkupEngine::ProcessBackup:
-            cancelable = true;
-            break;
-        case FmBkupEngine::ProcessRestore:
-            cancelable = false;
-            break;
-        case FmBkupEngine::ProcessNone:
-        default:
-        Q_ASSERT( false );
-    }
-    emit notifyStart( cancelable, aTotalCount );
-}
-
-
-void FmBkupEnginePrivate::notifyUpdateInternal( int aCount )
-    {
-    emit notifyUpdate( aCount ); 
-    }
-
-void FmBkupEnginePrivate::notifyFinishInternal()
-    {
-//    iEngine.ClearDriveInfo();
-//    PublishBurStatus( EFileManagerBkupStatusUnset );
-   /* CCoeEnv* coeEnv = CCoeEnv::Static();
-    iEikonEnv->SetSystem( EFalse);
-    */
-    CCoeEnv* coeEnv = CCoeEnv::Static();
-    CEikonEnv* eikonEnv = (STATIC_CAST(CEikonEnv*,coeEnv));
-    eikonEnv->SetSystem(EFalse);
-    mProcess = FmBkupEngine::ProcessNone;
-    emit notifyFinish( error() );
-    }
- 
-
-void FmBkupEnginePrivate::notifyMemoryLowInternal( int memoryValue, int &userError )
-	{
-	emit notifyMemoryLow( memoryValue, userError );
-	}
-
-void FmBkupEnginePrivate::notifyBackupFilesExistInternal( bool &isContinue )
-    {
-    emit notifyBackupFilesExist( isContinue );
-    }
-
-TInt FmBkupEnginePrivate::HandleBkupEngineEventL(
-        MMMCScBkupEngineObserver::TEvent aEvent, TInt aAssociatedData )
-    {
-    QString logString;
-    TInt ret( KErrNone );
-    switch( aEvent )
-        {
-        case MMMCScBkupEngineObserver::ECommonOperationStarting:
-            {
-            logString  = "ECommonOperationStarting";
-
-            iFinalValue = KMaxTInt;
-//            notifyStartInternal( KMaxTInt );
-            notifyPreparingInternal();
-            break;
-            }
-        case MMMCScBkupEngineObserver::ECommonSizeOfTaskUnderstood:
-            {
-            logString  = "ECommonSizeOfTaskUnderstood";
-            iFinalValue = aAssociatedData;
-            notifyStartInternal( aAssociatedData );
-            break;
-            }
-        case MMMCScBkupEngineObserver::ECommonOperationPrepareEnded:
-            {
-            logString  = "ECommonOperationPrepareEnded";
-//            PublishBurStatus( EFileManagerBkupStatusUnset );
-            // In order to show finished dialog prior SysAp's note,
-            // notify observer already at prepare-ended state.
-            if( mProcess == FmBkupEngine::ProcessRestore )
-                {
-                if ( iFinalValue )
-                    {
-                    notifyUpdateInternal( iFinalValue );
-                    }
-                notifyFinishInternal();
-                }
-            break;
-            }
-        case MMMCScBkupEngineObserver::ECommonOperationEnded:
-            {
-            logString  = "ECommonOperationEnded";
-//            PublishBurStatus( EFileManagerBkupStatusUnset );
-            if( mProcess != FmBkupEngine::ProcessRestore && mProcess != FmBkupEngine::ProcessNone )
-                {
-                if ( iFinalValue )
-                    {
-                notifyUpdateInternal( iFinalValue );
-                    }
-                notifyFinishInternal();
-                }
-            break;
-            }
-        case MMMCScBkupEngineObserver::ECommonOperationError:
-            {
-            logString  = "ECommonOperationError";
-            iError = aAssociatedData;
-            break;
-            }
-        case MMMCScBkupEngineObserver::ECommonProgress:
-            {
-            logString  = "ECommonProgress:" + QString::number( aAssociatedData );
-            notifyUpdateInternal( aAssociatedData );
-            break;
-            }
-        case MMMCScBkupEngineObserver::EBackupAnalysingData:
-            {
-            logString  = "EBackupAnalysingData:" + QString::number( aAssociatedData );
-            if ( mProcess == FmBkupEngine::ProcessBackup )
-                {
-					int userError = FmErrNone;
-					notifyMemoryLowInternal( aAssociatedData, userError );
-                    switch( userError )
-                    {
-                    case FmErrDiskFull:
-                        ret = KErrDiskFull;
-                        break;
-                    case FmErrCancel:
-                        ret = KErrCancel;
-                        break;
-                    default:
-                        break;
-                    }
-                }
-            break;
-            }
-        default:
-            {
-            logString  = "default";
-            break;
-            }
-        }
-    FM_LOG( logString );
-    return ret;
-    }
-
-int FmBkupEnginePrivate::error()
-{
-    FM_LOG( "FmBkupEnginePrivate::error:" + QString::number( iError ) );
-    switch (iError) 
-    {
-    case KErrNone: 
-        return FmErrNone;
-    case KErrNotFound:
-        return FmErrNotFound;
-    case KErrDiskFull:
-        return FmErrDiskFull;
-    case KErrAlreadyExists:
-        return FmErrAlreadyExists;
-    case KErrCancel:
-        return FmErrCancel;
-    case KErrPathNotFound:
-        return FmErrPathNotFound;
-    case KErrLocked:
-        return FmErrLocked;
-    case KErrCorrupt:
-        return FmErrCorrupt;
-    case KErrNotReady:
-        return FmErrNotReady;
-    case KErrDisMounted:
-        return FmErrDisMounted;
-    default: 
-        return FmErrUnKnown;
-    }    
-}
-
-
-
-
-
-int FmBkupEnginePrivate::deleteBackup( QList<FmBkupDrivesAndOperation* > drivesAndOperationList )
-{
-    iError = FmErrNone;
-
-    QList< FmRestoreInfo > selection;
-    FmRestoreSettings& rstSettings( *( q->RestoreSettingsL() ) );
-    rstSettings.GetSelectionL( selection );
-
-    iBkupCategoryList->ResetAndDestroy();
-    for( QList<FmBkupDrivesAndOperation* >::iterator it = drivesAndOperationList.begin();
-        it != drivesAndOperationList.end(); ++it )
-        {
-        FmBkupDrivesAndOperation* fmDrvAndOp = *it;
-        TBkupDrivesAndOperation drvAndOp;
-        drvAndOp.setOwnerDataType( fmDrvAndOp->ownerDataType() );
-        drvAndOp.setDrvCategories( fmDrvAndOp->drvCategories() );
-        iDrvAndOpList->AppendL( drvAndOp );
-        }
-    ////////
-
-    CMMCScBkupOpParamsRestoreFull* params =
-        CMMCScBkupOpParamsRestoreFull::NewL(
-                iDrvAndOpList, FmBkupEngine::EBUCatAllSeparately );
-    CleanupStack::PushL( params );
-
-    // Get list of all archives
-    RPointerArray< CMMCScBkupArchiveInfo > archives;
-    TCleanupItem cleanupItem( ResetAndDestroyArchives, &archives );
-    CleanupStack::PushL( cleanupItem );
-    iBkupEngine->ListArchivesL(
-        archives,
-        params,
-        AllowedDriveAttMatchMask());
-    
-    TInt i( 0 );
-    while ( i < archives.Count() )
-            {
-            TBool remove( ETrue );
-
-            // Compare archives category and drive
-            CMMCScBkupArchiveInfo* archiveInfo = archives[ i ];
-            TUint32 fmgrContent(
-                BkupToFmgrMask( archiveInfo->Category().iFlags ) );
-            TInt drive( archiveInfo->Drive() );
-
-            TInt count( selection.count() );
-            for( TInt j( 0 ); j < count; ++j )
-                {
-                const FmRestoreInfo& info( selection[ j ] );
-                if ( ( drive == DriverNameToNumber( info.drive() ) ) && ( fmgrContent & info.content() ) )
-                    {
-                    // Found user selected archive
-                    // Do not check this archive again
-                    selection.removeAt( j );
-                    remove = EFalse;
-                    break;
-                    }
-                }
-            if ( remove )
-                {
-                // Remove non selected archive
-                archives.Remove( i );
-                delete archiveInfo;
-                }
-            else
-                {
-                // Move to next archive
-                ++i;
-                }
-            }
-    
-    iBkupEngine->DeleteArchivesL( archives );
-    
-    CleanupStack::Pop( &archives );
-    archives.Close();
-    CleanupStack::PopAndDestroy( params );
-    
-    return iError;
-}
-
-
-bool FmBkupEnginePrivate::StartRestoreL( QList<FmBkupDrivesAndOperation* > drivesAndOperationList )
-    {
-    TBool diskFull( SysUtil::DiskSpaceBelowCriticalLevelL(
-        &iFs, 0, KFmgrSystemDrive ) );
-    if ( diskFull )
-        {
-        mProcess = FmBkupEngine::ProcessRestore;
-        notifyStartInternal( KMaxTInt );
-        iError = KErrDiskFull;
-        notifyFinishInternal();
-        mProcess = FmBkupEngine::ProcessNone;
-        return false;
-        }
-///////
-    iDrvAndOpList->Reset();
-    iBkupCategoryList->ResetAndDestroy();
-    
-    for( QList<FmBkupDrivesAndOperation* >::iterator it = drivesAndOperationList.begin();
-        it != drivesAndOperationList.end(); ++it )
-        {
-        FmBkupDrivesAndOperation* fmDrvAndOp = *it;
-        TBkupDrivesAndOperation drvAndOp;
-        drvAndOp.setOwnerDataType( fmDrvAndOp->ownerDataType() );
-        drvAndOp.setDrvCategories( fmDrvAndOp->drvCategories() );
-        iDrvAndOpList->AppendL( drvAndOp );
-        }
-    ////////
-
-    // Create restore params - ownership is transferred to
-    // secure backup engine
-
-#ifdef RD_FILE_MANAGER_BACKUP
-
-    CMMCScBkupOpParamsRestoreFull* params =
-        CMMCScBkupOpParamsRestoreFull::NewL(
-                iDrvAndOpList,
-            FmBkupEngine::EBUCatAllSeparately );
-//    CleanupStack::PopAndDestroy(); // driveReader
-    CleanupStack::PushL( params );
-
-    // Get list of all archives
-    RPointerArray< CMMCScBkupArchiveInfo > archives;
-    TCleanupItem cleanupItem( ResetAndDestroyArchives, &archives );
-    CleanupStack::PushL( cleanupItem );
-    iBkupEngine->ListArchivesL(
-        archives,
-        params,
-        AllowedDriveAttMatchMask() );
-
-    // Get user set restore selection
-    QList< FmRestoreInfo > selection;
-//    CleanupClosePushL( selection );
-    FmRestoreSettings& rstSettings( *( q->RestoreSettingsL() ) );
-    rstSettings.GetSelectionL( selection );
-
-    // Remove non user selected archives
-    TInt i( 0 );
-    while ( i < archives.Count() )
-        {
-        TBool remove( ETrue );
-
-        // Compare archives category and drive
-        CMMCScBkupArchiveInfo* archiveInfo = archives[ i ];
-        TUint32 fmgrContent(
-            BkupToFmgrMask( archiveInfo->Category().iFlags ) );
-        TInt drive( archiveInfo->Drive() );
-
-        TInt count( selection.count() );
-        for( TInt j( 0 ); j < count; ++j )
-            {
-            const FmRestoreInfo& info( selection[ j ] );
-            if ( ( drive == DriverNameToNumber( info.drive() ) ) && ( fmgrContent & info.content() ) )
-                {
-                // Found user selected archive
-                // Do not check this archive again
-                selection.removeAt( j );
-                remove = EFalse;
-                break;
-                }
-            }
-        if ( remove )
-            {
-            // Remove non selected archive
-            archives.Remove( i );
-            delete archiveInfo;
-            }
-        else
-            {
-            // Move to next archive
-            ++i;
-            }
-        }
-
-//    CleanupStack::PopAndDestroy( &selection );
-    params->SetArchiveInfosL( archives );
-    CleanupStack::Pop( &archives );
-    archives.Close();
-    CleanupStack::Pop( params );
-
-#else // RD_FILE_MANAGER_BACKUP
-
-    CMMCScBkupOpParamsRestoreFull* params =
-        CMMCScBkupOpParamsRestoreFull::NewL( driveReader, EBUCatAllInOne );
-    CleanupStack::PopAndDestroy(); // driveReader
-
-    FmBackupSettings& bkupSettings( *( q->BackupSettingsL() ) );
-    // Get list of all archives
-    RPointerArray< CMMCScBkupArchiveInfo > archives;
-    TCleanupItem cleanupItem( ResetAndDestroyArchives, &archives );
-    CleanupStack::PushL( cleanupItem );
-    iBkupEngine->ListArchivesL(
-        archives,
-        params,
-        bkupSettings.AllowedDriveAttMatchMask() );
-    params->SetArchiveInfosL( archives );
-    CleanupStack::Pop( &archives );
-
-#endif // RD_FILE_MANAGER_BACKUP
-
-    // Start the process - engine owns the parameters immediately
-    mProcess = FmBkupEngine::ProcessRestore;
-    PublishBurStatus( EFileManagerBkupStatusRestore );
-    
-    CCoeEnv* coeEnv = CCoeEnv::Static();
-       CEikonEnv* eikonEnv = (STATIC_CAST(CEikonEnv*,coeEnv));
-       eikonEnv->SetSystem(ETrue);
-       
-    TRAPD( err, iBkupEngine->StartOperationL(
-        EMMCScBkupOperationTypeFullRestore, *this, params ) );
-    if ( err != KErrNone )
-        {
-        PublishBurStatus( EFileManagerBkupStatusUnset );
-        mProcess = FmBkupEngine::ProcessNone;
-        User::Leave( err );
-        }
-    return true;
-    }
-
-void FmBkupEnginePrivate::GetRestoreInfoArray( QList<FmBkupDrivesAndOperation* > drivesAndOperationList,
-        QList< FmRestoreInfo > &restoreInfoList,
-        const QString& aDrive )
-    {
-    int targetDrive = DriverNameToNumber( aDrive );    
-
-    restoreInfoList.clear();
-    
-    ///////
-    iDrvAndOpList->Reset();
-    iBkupCategoryList->ResetAndDestroy();
-    
-    for( QList<FmBkupDrivesAndOperation* >::iterator it = drivesAndOperationList.begin();
-        it != drivesAndOperationList.end(); ++it )
-        {
-        FmBkupDrivesAndOperation* fmDrvAndOp = *it;
-        TBkupDrivesAndOperation drvAndOp;
-        drvAndOp.setOwnerDataType( fmDrvAndOp->ownerDataType() );
-        drvAndOp.setDrvCategories( fmDrvAndOp->drvCategories() );
-        iDrvAndOpList->AppendL( drvAndOp );
-        }
-    ////////
-
-    CMMCScBkupOpParamsRestoreFull* params =
-        CMMCScBkupOpParamsRestoreFull::NewL(
-                iDrvAndOpList, FmBkupEngine::EBUCatAllSeparately );
-    CleanupStack::PushL( params );
-
-    // Get list of all archives
-    RPointerArray< CMMCScBkupArchiveInfo > archives;
-    TCleanupItem cleanupItem( ResetAndDestroyArchives, &archives );
-    CleanupStack::PushL( cleanupItem );
-    iBkupEngine->ListArchivesL(
-        archives,
-        params,
-        AllowedDriveAttMatchMask(),
-        targetDrive );
-
-    // Fill restore info
-    TInt count( archives.Count() );
-//    restoreInfoList.ReserveL( count );
-
-    for( TInt i( 0 ); i < count; ++i )
-        {
-        // Content
-        CMMCScBkupArchiveInfo& archiveInfo( *archives[ i ] );
-        
-        TUint32 iContent = BkupToFmgrMask( archiveInfo.Category().iFlags );
-        TTime iTime = archiveInfo.DateTime();
-        TInt iDrive = archiveInfo.Drive();
-        TDateTime iDateTime = iTime.DateTime();
-        
-        int h       = iDateTime.Hour();
-        int m       = iDateTime.Minute();
-        int s       = iDateTime.Second();
-        int year    = iDateTime.Year();
-        int month   = iDateTime.Month() + 1;
-        int day     = iDateTime.Day()+1;
-        QTime time( h, m, s);
-        QDate date( year, month, day );
-        
-        QDateTime dateTime( date, time );
-        dateTime = dateTime.toLocalTime();
-        
-        FmRestoreInfo restoreInfo( iContent, dateTime, NumberToDriverName( iDrive ) );
-        restoreInfoList.append( restoreInfo );
-        }
-
-    CleanupStack::PopAndDestroy( &archives );
-    CleanupStack::PopAndDestroy( params );
-    }
-
-TUint32 FmBkupEnginePrivate::BkupToFmgrMask(
-        const TUint32 aBkupMask )
-    {
-    TUint32 ret( 0 );
-
-    for( TInt i( 0 ); i < KMaskLookupLen; ++i )
-        {
-        if ( aBkupMask & KMaskLookup[ i ].iBkupMask )
-            {
-            ret |= KMaskLookup[ i ].iFmgrMask;
-            }
-        }
-    return ret;
-    }
-
-void FmBkupEnginePrivate::ResetAndDestroyArchives( TAny* aPtr )
-    {
-    RPointerArray< CMMCScBkupArchiveInfo >* archive = 
-        static_cast< RPointerArray< CMMCScBkupArchiveInfo >* >( aPtr );
-    archive->ResetAndDestroy();
-    archive->Close();
-    }
-
-TUint32 FmBkupEnginePrivate::AllowedDriveAttMatchMask() const
-    {
-    return KDriveAttRemovable;//KDriveAttRemovable;
-    }
-
-TInt FmBkupEnginePrivate::DriverNameToNumber( QString driverName )
-    {
-        if( driverName.isEmpty() ) {
-            return KErrNotFound;
-        }
-        TInt drive = 0;
-        drive = driverName[0].toUpper().toAscii() - 'A' + EDriveA;
-        return drive;
-    }
-QString FmBkupEnginePrivate::NumberToDriverName( TInt driver )
-    {
-        QChar driverChar( driver - EDriveA + 'A' );
-        QString driverName = QString( driverChar ) + ':';
-        return driverName;
-    }
-
-void FmBkupEnginePrivate::getBackupDriveList( QStringList &driveList )
-    {
-    TUint32 driveAttMask( AllowedDriveAttMatchMask() );
-    RFs fs;
-    fs.Connect();
-    for ( TInt i( 0 ); i < KMaxDrives; ++i )
-        {
-        TDriveInfo driveInfo;
-        if ( fs.Drive( driveInfo, i ) == KErrNone )
-            {
-            // Do not allow backup for internal drives
-            TUint driveStatus( 0 );
-            DriveInfo::GetDriveStatus( fs, i, driveStatus );
-            if ( driveStatus & DriveInfo::EDriveInternal )
-                {
-                continue;
-                }
-            if ( driveInfo.iDriveAtt & driveAttMask )
-                {
-                driveList.append( NumberToDriverName( i ) );
-                }
-            }
-        }
-    fs.Close();
-    }
-
-// -----------------------------------------------------------------------------
-// CFileManagerEngine::PublishBurStatus()
-//
-// -----------------------------------------------------------------------------
-//  
-void FmBkupEnginePrivate::PublishBurStatus( TInt aType )
-    {
-    Q_UNUSED( aType );
-    /*
-   _LIT_SECURITY_POLICY_S0( KFileManagerBkupWritePolicy, KFileManagerUID3 );
-   _LIT_SECURITY_POLICY_PASS( KFileManagerBkupReadPolicy );
-
-    TInt err( RProperty::Set(
-        KPSUidFileManagerStatus, KFileManagerBkupStatus, aType ) );
-    if ( err != KErrNone )
-        {
-        err = RProperty::Define(
-            KPSUidFileManagerStatus, KFileManagerBkupStatus,
-            RProperty::EInt, KFileManagerBkupReadPolicy,
-            KFileManagerBkupWritePolicy );
-        if ( err == KErrNone || err == KErrAlreadyExists )
-            {
-            err = RProperty::Set(
-                KPSUidFileManagerStatus, KFileManagerBkupStatus, aType );
-            }
-        }
-    LOG_IF_ERROR1(
-        err, "FileManagerRemovableDriveHandler::PublishBurStatus-err=%d", err )
-        */
-    }