filemanager/src/fmbkupenginewrapper/private/symbian/fmbkupengine_p.cpp
changeset 37 15bc28c9dd51
parent 16 ada7962b4308
--- a/filemanager/src/fmbkupenginewrapper/private/symbian/fmbkupengine_p.cpp	Mon May 03 12:24:39 2010 +0300
+++ b/filemanager/src/fmbkupenginewrapper/private/symbian/fmbkupengine_p.cpp	Tue Aug 24 10:24:14 2010 +0800
@@ -98,18 +98,28 @@
 	    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";
-    FmLogger::log( logString );
+    FM_LOG( logString );
     iDrvAndOpList->Reset();
     iBkupCategoryList->ResetAndDestroy();
 	
     logString = "startBackup_driveroperation count:" + QString::number(drivesAndOperationList.count());
-    FmLogger::log( logString );
+    FM_LOG( logString );
     
     for( QList<FmBkupDrivesAndOperation* >::iterator it = drivesAndOperationList.begin();
         it != drivesAndOperationList.end(); ++it ) {
@@ -121,7 +131,7 @@
 		}
 
     logString = "startBackup_backupCategoryList count:" + QString::number(backupCategoryList.count());
-    FmLogger::log( logString );
+    FM_LOG( logString );
 
 	
 	for( QList<FmBkupBackupCategory* >::iterator it = backupCategoryList.begin();
@@ -160,7 +170,7 @@
 	//TUint32 bkupContent = 63;
 	
     logString = "startBackup_new param";
-    FmLogger::log( logString );
+    FM_LOG( logString );
 
 	CMMCScBkupOpParamsBackupFull* params =
         CMMCScBkupOpParamsBackupFull::NewL(
@@ -173,20 +183,19 @@
 
 
     logString = "startBackup_param ok";
-    FmLogger::log( logString );
+    FM_LOG( logString );
 
     CCoeEnv* coeEnv = CCoeEnv::Static();
     CEikonEnv* eikonEnv = (STATIC_CAST(CEikonEnv*,coeEnv));
     eikonEnv->SetSystem(ETrue);
 
     logString = "startBackup_StartOperationL";
-    FmLogger::log( logString );
+    FM_LOG( logString );
 
     QList< FmRestoreInfo > restoreInfoList;
-    TInt driveNumber = DriverNameToNumber( drive );
-    GetRestoreInfoArray( drivesAndOperationList, restoreInfoList, driveNumber );
+    GetRestoreInfoArray( drivesAndOperationList, restoreInfoList, drive );
     
-    for ( TInt i( 0 ); i < restoreInfoList.count(); i++ )
+    for ( TInt i( 0 ); i < restoreInfoList.count(); ++i )
         {        
         bool toContinue = false;
         FmRestoreInfo &info = restoreInfoList[ i ];
@@ -211,14 +220,14 @@
         EMMCScBkupOperationTypeFullBackup, *this, params ) );
 
     logString = "startBackup_end with error:" + QString::number(err) ;
-    FmLogger::log( logString );
+    FM_LOG( logString );
     return (err == KErrNone);
 }
 
 void FmBkupEnginePrivate::cancelBackup()
 {
 	QString logString  = "cancelBackup";
-	FmLogger::log(logString);
+	FM_LOG(logString);
 	switch( mProcess )
     {
     case FmBkupEngine::ProcessBackup: // FALLTHROUGH
@@ -399,12 +408,13 @@
             break;
             }
         }
-    FmLogger::log( logString );
+    FM_LOG( logString );
     return ret;
     }
 
 int FmBkupEnginePrivate::error()
 {
+    FM_LOG( "FmBkupEnginePrivate::error:" + QString::number( iError ) );
     switch (iError) 
     {
     case KErrNone: 
@@ -419,6 +429,14 @@
         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;
     }    
@@ -536,8 +554,6 @@
         iDrvAndOpList->AppendL( drvAndOp );
         }
     ////////
-    
-   FmBackupSettings& bkupSettings( *( q->BackupSettingsL() ) );
 
     // Create restore params - ownership is transferred to
     // secure backup engine
@@ -616,6 +632,7 @@
         CMMCScBkupOpParamsRestoreFull::NewL( driveReader, EBUCatAllInOne );
     CleanupStack::PopAndDestroy(); // driveReader
 
+    FmBackupSettings& bkupSettings( *( q->BackupSettingsL() ) );
     // Get list of all archives
     RPointerArray< CMMCScBkupArchiveInfo > archives;
     TCleanupItem cleanupItem( ResetAndDestroyArchives, &archives );
@@ -650,9 +667,9 @@
 
 void FmBkupEnginePrivate::GetRestoreInfoArray( QList<FmBkupDrivesAndOperation* > drivesAndOperationList,
         QList< FmRestoreInfo > &restoreInfoList,
-        const TInt aDrive )
+        const QString& aDrive )
     {
-    FmBackupSettings& settings( *( q->BackupSettingsL() ) );
+    int targetDrive = DriverNameToNumber( aDrive );    
 
     restoreInfoList.clear();
     
@@ -684,7 +701,7 @@
         archives,
         params,
         AllowedDriveAttMatchMask(),
-        aDrive );
+        targetDrive );
 
     // Fill restore info
     TInt count( archives.Count() );
@@ -705,7 +722,7 @@
         int s       = iDateTime.Second();
         int year    = iDateTime.Year();
         int month   = iDateTime.Month() + 1;
-        int day     = iDateTime.Day();
+        int day     = iDateTime.Day()+1;
         QTime time( h, m, s);
         QDate date( year, month, day );
         
@@ -750,6 +767,9 @@
 
 TInt FmBkupEnginePrivate::DriverNameToNumber( QString driverName )
     {
+        if( driverName.isEmpty() ) {
+            return KErrNotFound;
+        }
         TInt drive = 0;
         drive = driverName[0].toUpper().toAscii() - 'A' + EDriveA;
         return drive;
@@ -784,7 +804,6 @@
                 }
             }
         }
-    
     fs.Close();
     }