filemanager/bkupengine/src/CMMCScBkupStateOpAware.cpp
changeset 0 6a9f87576119
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/filemanager/bkupengine/src/CMMCScBkupStateOpAware.cpp	Mon Jan 18 20:09:41 2010 +0200
@@ -0,0 +1,275 @@
+/*
+* 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: CMMCScBkupStateOpAware implementation
+*
+*
+*/
+
+#include "CMMCScBkupStateOpAware.h"
+
+
+
+
+// ========================= MEMBER FUNCTIONS ================================
+
+// ---------------------------------------------------------------------------
+// CMMCScBkupStateOpAware::CMMCScBkupStateOpAware()
+// 
+// C++ constructor.
+// ---------------------------------------------------------------------------
+CMMCScBkupStateOpAware::CMMCScBkupStateOpAware( MMMCScBkupDriver& aDriver, TInt aPriority )
+:   CMMCScBkupState( aDriver, aPriority )
+    {
+    }
+
+
+// ---------------------------------------------------------------------------
+// CMMCScBkupStateOpAware::NextStateId()
+// 
+// 
+// ---------------------------------------------------------------------------
+TMMCScBkupStateId CMMCScBkupStateOpAware::NextStateId() const
+    {
+    TMMCScBkupStateId state = KMMCScBkupStateIdOperationComplete;
+    //
+    const TMMCScBkupOperationType type = Driver().DrvOperation();
+    switch(type)
+        {
+    case EMMCScBkupOperationTypeFullBackup:
+    case EMMCScBkupOperationTypePartialBackup:
+        state = NextStateBackupId( type == EMMCScBkupOperationTypePartialBackup );
+        break;
+    case EMMCScBkupOperationTypeFullRestore:
+    case EMMCScBkupOperationTypePartialRestore:
+        state = NextStateRestoreId( type == EMMCScBkupOperationTypePartialRestore );
+        break;
+    default:
+        ASSERT( EFalse );
+        break;
+        }
+    //
+    return state;
+    }
+
+
+// ---------------------------------------------------------------------------
+// CMMCScBkupStateOpAware::PerformAsynchronousStateStepBackupL()
+// 
+// 
+// ---------------------------------------------------------------------------
+void CMMCScBkupStateOpAware::PerformAsynchronousStateStepBackupL( TBool /*aPartial*/ )
+    {
+    }
+
+
+// ---------------------------------------------------------------------------
+// CMMCScBkupStateOpAware::PerformAsynchronousStateStepRestoreL()
+// 
+// 
+// ---------------------------------------------------------------------------
+void CMMCScBkupStateOpAware::PerformAsynchronousStateStepRestoreL( TBool /*aPartial*/ )
+    {
+    }
+
+
+// ---------------------------------------------------------------------------
+// CMMCScBkupStateOpAware::PerformAsynchronousCancellationBackup()
+// 
+// 
+// ---------------------------------------------------------------------------
+void CMMCScBkupStateOpAware::PerformAsynchronousCancellationBackup( TBool /*aPartial*/ )
+    {
+    }
+
+
+// ---------------------------------------------------------------------------
+// CMMCScBkupStateOpAware::PerformAsynchronousCancellationRestore()
+// 
+// 
+// ---------------------------------------------------------------------------
+void CMMCScBkupStateOpAware::PerformAsynchronousCancellationRestore( TBool /*aPartial*/ )
+    {
+    }
+
+
+// ---------------------------------------------------------------------------
+// CMMCScBkupStateOpAware::PerformLastRightsBackupL()
+// 
+// 
+// ---------------------------------------------------------------------------
+void CMMCScBkupStateOpAware::PerformLastRightsBackupL( TBool /*aPartial*/ )
+    {
+    }
+
+
+// ---------------------------------------------------------------------------
+// CMMCScBkupStateOpAware::PerformLastRightsRestoreL()
+// 
+// 
+// ---------------------------------------------------------------------------
+void CMMCScBkupStateOpAware::PerformLastRightsRestoreL( TBool /*aPartial*/ )
+    {
+    }
+
+
+// ---------------------------------------------------------------------------
+// CMMCScBkupStateOpAware::PerformAsynchronousErrorCleanupBackup()
+// 
+// 
+// ---------------------------------------------------------------------------
+TBool CMMCScBkupStateOpAware::PerformAsynchronousErrorCleanupBackup( TBool /*aPartial*/, TInt /*aError*/ )
+    {
+    return EFalse;
+    }
+
+
+// ---------------------------------------------------------------------------
+// CMMCScBkupStateOpAware::PerformAsynchronousErrorCleanupRestore()
+// 
+// 
+// ---------------------------------------------------------------------------
+TBool CMMCScBkupStateOpAware::PerformAsynchronousErrorCleanupRestore( TBool /*aPartial*/, TInt /*aError*/ )
+    {
+    return EFalse;
+    }
+
+
+// ---------------------------------------------------------------------------
+// CMMCScBkupStateOpAware::PerformStateInitL()
+// 
+// 
+// ---------------------------------------------------------------------------
+void CMMCScBkupStateOpAware::PerformStateInitL()
+    {
+    const TMMCScBkupOperationType type = Driver().DrvOperation();
+    switch(type)
+        {
+    case EMMCScBkupOperationTypeFullBackup:
+    case EMMCScBkupOperationTypePartialBackup:
+        PerformStateInitBackupL( type == EMMCScBkupOperationTypePartialBackup );
+        break;
+    case EMMCScBkupOperationTypeFullRestore:
+    case EMMCScBkupOperationTypePartialRestore:
+        PerformStateInitRestoreL( type == EMMCScBkupOperationTypePartialRestore );
+        break;
+    default:
+        ASSERT( EFalse );
+        break;
+        }
+    }
+
+
+// ---------------------------------------------------------------------------
+// CMMCScBkupStateOpAware::PerformAsynchronousStateStepL()
+// 
+// 
+// ---------------------------------------------------------------------------
+void CMMCScBkupStateOpAware::PerformAsynchronousStateStepL()
+    {
+    const TMMCScBkupOperationType type = Driver().DrvOperation();
+    switch(type)
+        {
+    case EMMCScBkupOperationTypeFullBackup:
+    case EMMCScBkupOperationTypePartialBackup:
+        PerformAsynchronousStateStepBackupL( type == EMMCScBkupOperationTypePartialBackup );
+        break;
+    case EMMCScBkupOperationTypeFullRestore:
+    case EMMCScBkupOperationTypePartialRestore:
+        PerformAsynchronousStateStepRestoreL( type == EMMCScBkupOperationTypePartialRestore );
+        break;
+    default:
+        ASSERT( EFalse );
+        break;
+        }
+    }
+
+
+// ---------------------------------------------------------------------------
+// CMMCScBkupStateOpAware::PerformAsynchronousCancellation()
+// 
+// 
+// ---------------------------------------------------------------------------
+void CMMCScBkupStateOpAware::PerformAsynchronousCancellation()
+    {
+    const TMMCScBkupOperationType type = Driver().DrvOperation();
+    switch(type)
+        {
+    case EMMCScBkupOperationTypeFullBackup:
+    case EMMCScBkupOperationTypePartialBackup:
+        PerformAsynchronousCancellationBackup( type == EMMCScBkupOperationTypePartialBackup );
+        break;
+    case EMMCScBkupOperationTypeFullRestore:
+    case EMMCScBkupOperationTypePartialRestore:
+        PerformAsynchronousCancellationRestore( type == EMMCScBkupOperationTypePartialRestore );
+        break;
+    default:
+        ASSERT( EFalse );
+        break;
+        }
+    }
+
+
+// ---------------------------------------------------------------------------
+// CMMCScBkupStateOpAware::PerformLastRightsL()
+// 
+// 
+// ---------------------------------------------------------------------------
+void CMMCScBkupStateOpAware::PerformLastRightsL()
+    {
+    const TMMCScBkupOperationType type = Driver().DrvOperation();
+    switch(type)
+        {
+    case EMMCScBkupOperationTypeFullBackup:
+    case EMMCScBkupOperationTypePartialBackup:
+        PerformLastRightsBackupL( type == EMMCScBkupOperationTypePartialBackup );
+        break;
+    case EMMCScBkupOperationTypeFullRestore:
+    case EMMCScBkupOperationTypePartialRestore:
+        PerformLastRightsRestoreL( type == EMMCScBkupOperationTypePartialRestore );
+        break;
+    default:
+        ASSERT( EFalse );
+        break;
+        }
+    }
+
+
+// ---------------------------------------------------------------------------
+// CMMCScBkupStateOpAware::PerformAsynchronousErrorCleanup()
+// 
+// 
+// ---------------------------------------------------------------------------
+TBool CMMCScBkupStateOpAware::PerformAsynchronousErrorCleanup( TInt aError )
+    {
+    TBool handled = EFalse;
+    //
+    const TMMCScBkupOperationType type = Driver().DrvOperation();
+    switch(type)
+        {
+    case EMMCScBkupOperationTypeFullBackup:
+    case EMMCScBkupOperationTypePartialBackup:
+        handled = PerformAsynchronousErrorCleanupBackup( type == EMMCScBkupOperationTypePartialBackup, aError );
+        break;
+    case EMMCScBkupOperationTypeFullRestore:
+    case EMMCScBkupOperationTypePartialRestore:
+        handled = PerformAsynchronousErrorCleanupRestore( type == EMMCScBkupOperationTypePartialRestore, aError );
+        break;
+    default:
+        ASSERT( EFalse );
+        break;
+        }
+    //
+    return handled;
+    }
+