diff -r 491b3ed49290 -r 65326cf895ed filemanager/src/fmbkupenginewrapper/private/symbian/fmbkupengine_p.cpp --- 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 -#include -#include -#include -#include -#include -#include -#include -#include -#ifdef RD_MULTIPLE_DRIVE -#include -#endif // RD_MULTIPLE_DRIVE -#include -#include -#include "CMMCScBkupEngine.h" -#include "MMCScBkupOperations.h" -#include "CMMCScBkupArchiveInfo.h" -#include "filemanagerprivatecrkeys.h" - -#include -#include - -#include "fmcommon.h" - -#include - -/* -#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 ( 10 ) ; - iBkupCategoryList = new RPointerArray ( 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 drivesAndOperationList, - QList 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::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::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::const_iterator it = fmbkupCategory->uids()->begin(); - it != fmbkupCategory->uids()->end(); ++it ) { - unsigned int value = *it; - category->addUids( value ); - } - - - for( QList::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 drivesAndOperationList ) -{ - iError = FmErrNone; - - QList< FmRestoreInfo > selection; - FmRestoreSettings& rstSettings( *( q->RestoreSettingsL() ) ); - rstSettings.GetSelectionL( selection ); - - iBkupCategoryList->ResetAndDestroy(); - for( QList::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 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::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 drivesAndOperationList, - QList< FmRestoreInfo > &restoreInfoList, - const QString& aDrive ) - { - int targetDrive = DriverNameToNumber( aDrive ); - - restoreInfoList.clear(); - - /////// - iDrvAndOpList->Reset(); - iBkupCategoryList->ResetAndDestroy(); - - for( QList::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 ) - */ - }