filemanager/bkupengine/src/CMMCScBkupStateArchiveOpDataOwners.cpp
branchRCL_3
changeset 38 491b3ed49290
parent 36 95243422089a
child 39 65326cf895ed
--- a/filemanager/bkupengine/src/CMMCScBkupStateArchiveOpDataOwners.cpp	Thu Aug 19 09:42:45 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,272 +0,0 @@
-/*
-* Copyright (c) 2005-2008 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: CMMCScBkupStateArchiveOpDataOwners implementation
-*
-*
-*/
-
-#include "CMMCScBkupStateArchiveOpDataOwners.h"
-
-// System includes
-#include <e32std.h>
-#include <s32strm.h>
-#include <s32mem.h>
-
-// User includes
-#include "MMCScBkupLogger.h"
-#include "CMMCScBkupArchive.h"
-#include "RMMCScBkupProgressSizer.h"
-#include "CMMCScBkupArchiveFooter.h"
-#include "CMMCScBkupDataOwnerInfo.h"
-#include "CMMCScBkupIndexDataOwners.h"
-#include "MMMCScBkupProgressObserver.h"
-#include "CMMCScBkupDataOwnerCollection.h"
-#include "MMMCScBkupArchiveDataInterface.h"
-
-
-
-// ========================= MEMBER FUNCTIONS ================================
-
-// ---------------------------------------------------------------------------
-// CMMCScBkupStateArchiveOpDataOwners::CMMCScBkupStateArchiveOpDataOwners()
-// 
-// C++ constructor.
-// ---------------------------------------------------------------------------
-CMMCScBkupStateArchiveOpDataOwners::CMMCScBkupStateArchiveOpDataOwners( MMMCScBkupDriver& aDriver )
-:   CMMCScBkupStateOpAware( aDriver ), iIndexValueCurrent( -1 )
-    {
-    __LOG1("CMMCScBkupStateArchiveOpDataOwners::CMMCScBkupStateArchiveOpDataOwners() - 0x%08x", StateId().iUid );
-    }
-
-
-// ---------------------------------------------------------------------------
-// CMMCScBkupStateArchiveOpDataOwners::~CMMCScBkupStateArchiveOpDataOwners()
-// 
-// Destructor.
-// ---------------------------------------------------------------------------
-CMMCScBkupStateArchiveOpDataOwners::~CMMCScBkupStateArchiveOpDataOwners()
-    {
-    Cancel();
-    }
-
-
-// ---------------------------------------------------------------------------
-// CMMCScBkupStateArchiveOpDataOwners::NewL()
-// 
-// 
-// ---------------------------------------------------------------------------
-CMMCScBkupStateArchiveOpDataOwners* CMMCScBkupStateArchiveOpDataOwners::NewL( MMMCScBkupDriver& aDriver )
-    {
-    CMMCScBkupStateArchiveOpDataOwners* self = new(ELeave) CMMCScBkupStateArchiveOpDataOwners( aDriver );
-    return self;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CMMCScBkupStateArchiveOpDataOwners::StateId()
-// 
-// 
-// ---------------------------------------------------------------------------
-TMMCScBkupStateId CMMCScBkupStateArchiveOpDataOwners::StateId() const
-    {
-    return KMMCScBkupStateIdArchiveOpDataOwners;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CMMCScBkupStateArchiveOpDataOwners::NextStateBackupId()
-// 
-// 
-// ---------------------------------------------------------------------------
-TMMCScBkupStateId CMMCScBkupStateArchiveOpDataOwners::NextStateBackupId( TBool /*aPartial*/ ) const
-    {
-    return KMMCScBkupStateIdArchiveOpArchiveFooter;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CMMCScBkupStateArchiveOpDataOwners::NextStateRestoreId()
-// 
-// 
-// ---------------------------------------------------------------------------
-TMMCScBkupStateId CMMCScBkupStateArchiveOpDataOwners::NextStateRestoreId( TBool /*aPartial*/ ) const
-    {
-    return KMMCScBkupStateIdValidateDiskSpace;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CMMCScBkupStateArchiveOpDataOwners::PerformStateInitBackupL()
-// 
-// 
-// ---------------------------------------------------------------------------
-void CMMCScBkupStateArchiveOpDataOwners::PerformStateInitBackupL( TBool /*aPartial*/ )
-    {
-    // Work is carried out inside asynchronous step
-    CompleteSelf();
-    }
-
-
-// ---------------------------------------------------------------------------
-// CMMCScBkupStateArchiveOpDataOwners::PerformStateInitRestoreL()
-// 
-// 
-// ---------------------------------------------------------------------------
-void CMMCScBkupStateArchiveOpDataOwners::PerformStateInitRestoreL( TBool /*aPartial*/ )
-    {
-    // Restore each data owner asynchronously
-    CompleteSelf();
-    }
-
-
-// ---------------------------------------------------------------------------
-// CMMCScBkupStateArchiveOpDataOwners::PerformAsynchronousStateStepBackupL()
-// 
-// 
-// ---------------------------------------------------------------------------
-void CMMCScBkupStateArchiveOpDataOwners::PerformAsynchronousStateStepBackupL( TBool /*aPartial*/ )
-    {
-    CMMCScBkupDataOwnerCollection& dataOwners = Driver().DrvDataOwners();
-    CMMCScBkupArchiveFooter& footer = Driver().DrvArchive().Footer();
-    CMMCScBkupIndexBase& indexBase = footer.IndexByType(EMMCScBkupOwnerDataTypeDataOwner);
-    CMMCScBkupIndexDataOwners& index = static_cast< CMMCScBkupIndexDataOwners& >( indexBase );
-    const TInt count = dataOwners.Count();
-    //
-    if  ( ++iIndexValueCurrent < count )
-        {
-        CMMCScBkupDataOwnerInfo& owner = dataOwners.Owner( iIndexValueCurrent );
-
-        // Externalise 
-        MMMCScBkupArchiveDataInterface& archiveDataInterface = ADI();
-        RWriteStream stream( archiveDataInterface.ADIWriteStreamUncompressedLC() );
-        stream << owner;
-        stream.CommitL();
-        CleanupStack::PopAndDestroy(); // stream
-
-
-        // Save the offset of the data owner
-        const TMMCScBkupArchiveVector& info = archiveDataInterface.ADICurrentArchiveVectorInfo();
-        index.AddIndexRecordL( info );
-
-        // Now move on to the next data owner
-        CompleteSelf();
-        }
-    }
-
-
-// ---------------------------------------------------------------------------
-// CMMCScBkupStateArchiveOpDataOwners::PerformAsynchronousStateStepRestoreL()
-// 
-// 
-// ---------------------------------------------------------------------------
-void CMMCScBkupStateArchiveOpDataOwners::PerformAsynchronousStateStepRestoreL( TBool /*aPartial*/ )
-    {
-    CMMCScBkupDataOwnerCollection& dataOwners = Driver().DrvDataOwners();
-    CMMCScBkupArchiveFooter& footer = Driver().DrvArchive().Footer();
-    CMMCScBkupIndexBase& indexBase = footer.IndexByType( EMMCScBkupOwnerDataTypeDataOwner );
-    CMMCScBkupIndexDataOwners& index = static_cast< CMMCScBkupIndexDataOwners& >( indexBase );
-    const TInt count = index.Count();
-    __LOG1( "CMMCScBkupStateArchiveOpDataOwners::PerformAsynchronousStateStepRestoreL() - %d data owner index records...", count );
-    //
-    if  ( ++iIndexValueCurrent < count )
-        {
-        const TMMCScBkupArchiveVector& entry = index.At( iIndexValueCurrent );
-        __LOG3( "CMMCScBkupStateArchiveOpDataOwners::PerformAsynchronousStateStepRestoreL() - entry[%03d] at offset: 0x%08x, length: %4d", iIndexValueCurrent, entry.Offset(), entry.Length() );
-
-        MMMCScBkupArchiveDataInterface& archiveDataInterface = ADI();
-        RReadStream stream( archiveDataInterface.ADIReadStreamUncompressedLC( entry.Offset() ) );
-        
-        // Internalize a new entry and add it to the data owner collection
-        CMMCScBkupDataOwnerInfo* dataOwner = CMMCScBkupDataOwnerInfo::NewLC( stream );
-        dataOwners.AppendL( dataOwner );
-        CleanupStack::Pop( dataOwner );
-
-        // Tidy up & check that we didn't read too much - oops
-        const TMMCScBkupArchiveVector& readInfo = archiveDataInterface.ADICurrentArchiveVectorInfo();
-        if  ( readInfo.Length() > entry.Length() )
-            {
-            __LOG( "CMMCScBkupStateArchiveOpDataOwners::PerformAsynchronousStateStepRestoreL() - ERROR - Read too much data! -> leave with KErrCorrupt" );
-            User::Leave( KErrCorrupt );
-            }
-        CleanupStack::PopAndDestroy(); // stream
-
-        // Continue to next entry
-        CompleteSelf();
-        }
-    }
-
-
-// ---------------------------------------------------------------------------
-// CMMCScBkupStateArchiveOpDataOwners::PerformLastRightsBackupL()
-// 
-// 
-// ---------------------------------------------------------------------------
-void CMMCScBkupStateArchiveOpDataOwners::PerformLastRightsBackupL( TBool /*aPartial*/ )
-    {
-    CMMCScBkupIndexBase& index = Driver().DrvArchive().Footer().IndexByType( EMMCScBkupOwnerDataTypeDataOwner );
-    index.StoreL( Driver() );
-    }
-
-
-// ---------------------------------------------------------------------------
-// CMMCScBkupStateArchiveOpDataOwners::PerformLastRightsRestoreL()
-// 
-// 
-// ---------------------------------------------------------------------------
-void CMMCScBkupStateArchiveOpDataOwners::PerformLastRightsRestoreL( TBool /*aPartial*/ )
-    {
-    // Calculate restore byte size (for all drives)
-    CMMCScBkupDataOwnerCollection& dataOwners = Driver().DrvDataOwners();
-    const TInt64 totalDataRestoreSize = dataOwners.TotalOperationalSizeL();
-
-    // Inform progress manager
-    if(Driver().DrvLastCategory())
-        {
-        __LOG2("CMMCScBkupStateArchiveOpDataOwners::PerformLastRightsRestoreL() - report progress understood (%Ld + %Ld)", 
-            totalDataRestoreSize, Driver().DrvTotalProgress());
-        Driver().DrvProgressHandler().MMCScBkupHandleProgressDomainUnderstood( totalDataRestoreSize + Driver().DrvTotalProgress());
-        }
-    else
-        {
-        __LOG2("CMMCScBkupStateArchiveOpDataOwners::PerformLastRightsRestoreL() - adding progress amount %Ld to existing %Ld)", 
-            totalDataRestoreSize, Driver().DrvTotalProgress());
-        Driver().DrvStoreTotalProgress( totalDataRestoreSize );
-        }
-    }
-
-
-// ---------------------------------------------------------------------------
-// CMMCScBkupStateArchiveOpDataOwners::PerformAsynchronousErrorCleanupRestore()
-// 
-// 
-// ---------------------------------------------------------------------------
-TBool CMMCScBkupStateArchiveOpDataOwners::PerformAsynchronousErrorCleanupRestore( TBool /*aPartial*/, TInt aError )
-    {
-    (void) aError;
-    __LOGFILE1("CMMCScBkupStateArchiveOpDataOwners::PerformAsynchronousErrorCleanupRestore() - **** - error: %d", aError );
-
-    // Just try to skip the data owner. 
-    CompleteSelf();
-    return ETrue;
-    }
-
-
-
-
-
-
-
-
-
-