filemanager/src/fmbkupengine/src/CMMCScBkupFileListCollection.cpp
branchRCL_3
changeset 21 65326cf895ed
parent 20 491b3ed49290
child 22 f5c50b8af68c
--- a/filemanager/src/fmbkupengine/src/CMMCScBkupFileListCollection.cpp	Tue Aug 31 15:06:05 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,233 +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: CMMCScBkupFileListCollection implementation
-*
-*
-*/
-
-#include "CMMCScBkupFileListCollection.h"
-
-#include <bldvariant.hrh>
-#include <pathinfo.h>
-
-// User includes
-#include "MMCScBkupLogger.h"
-#include "CMMCScBkupDataOwnerInfo.h"
-#ifdef RD_FILE_MANAGER_BACKUP
-#include <driveinfo.h>
-#include "BkupEngine.hrh"
-#include "pathconfiguration.hrh"
-#endif 
-
-// Constants
-const TInt KMMCScBkupDataOwnerGranularity = 50;
-
-
-
-
-// ========================= MEMBER FUNCTIONS ================================
-
-// ---------------------------------------------------------------------------
-// CMMCScBkupFileListCollection::CMMCScBkupFileListCollection()
-// 
-// C++ constructor.
-// ---------------------------------------------------------------------------
-CMMCScBkupFileListCollection::CMMCScBkupFileListCollection( TBitFlags aCategory, 
-    RFs& aFsSession )
-    :iEntries(KMMCScBkupDataOwnerGranularity), 
-    iCategory( aCategory ),
-    iFsSession( aFsSession )
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// CMMCScBkupFileListCollection::~CMMCScBkupFileListCollection()
-// 
-// Destructor.
-// ---------------------------------------------------------------------------
-CMMCScBkupFileListCollection::~CMMCScBkupFileListCollection()
-    {
-    Reset();
-    iEntries.Close();
-    }
-
-
-// ---------------------------------------------------------------------------
-// CMMCScBkupFileListCollection::ConstructL()
-// 
-// 
-// ---------------------------------------------------------------------------
-void CMMCScBkupFileListCollection::ConstructL()
-    {
-    }
-
-
-// ---------------------------------------------------------------------------
-// CMMCScBkupFileListCollection::NewL()
-// 
-// 
-// ---------------------------------------------------------------------------
-CMMCScBkupFileListCollection* CMMCScBkupFileListCollection::NewL( TBitFlags aCategory,
-    RFs& aFsSession )
-    {
-    CMMCScBkupFileListCollection* self = new(ELeave) CMMCScBkupFileListCollection( aCategory, aFsSession );
-    CleanupStack::PushL(self);
-    self->ConstructL();
-    CleanupStack::Pop(self);
-    return self;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CMMCScBkupFileListCollection::AppendL()
-// 
-// 
-// ---------------------------------------------------------------------------
-void CMMCScBkupFileListCollection::AppendL( const RArray<TEntry>& aArray, RArray< const CMMCScBkupFileInfo* >& aAddedItems, TSecureId aAssociatedSID )
-    {
-    const TInt count = aArray.Count();
-
-    __LOG2("CMMCScBkupFileListCollection::AppendL() - Number of files %d to check for category %x", count, Category().Value() );
-    
-    for(TInt i=0; i<count; i++)
-        {
-        const TEntry& entry = aArray[i];
-#ifdef RD_FILE_MANAGER_BACKUP
-        TBool skipFile = EFalse;
-
-        if(Category().Value() != EBUCatUserFiles && Category().Value() != EBUCatAllInOne)
-            {
-            // Check whether public file in system user data folder. If it is and not part of
-            // user file category, then discard file from collection
-            const TDesC& path = PathInfo::PhoneMemoryRootPath();
-            TInt error = entry.iName.FindF(path);
-            if(error != KErrNotFound)
-                {
-                __LOG1("CMMCScBkupFileListCollection::AppendL() - Skipping file %S", &entry.iName );
-                skipFile = ETrue;
-                }
-            }
-        else if(Category().Value() == EBUCatUserFiles)
-            {
-            // Check also if public file is from mass-storage. If yes and user-files category in
-            // question, prevent file getting backed up, because otherwise it is probable 2 GB 
-            // get exceeded and we cannot save larger than 2 GB archive. Allow public files being 
-            // backed up in other categories.
-            TUint drvStatus( 0 );
-            TInt drive( KErrNotFound );
-            
-            if( RFs::CharToDrive( entry.iName[0], drive ) != KErrNone )
-                {
-                drive = KErrNotFound;
-                }
-            
-            TInt err = DriveInfo::GetDriveStatus(iFsSession, drive, drvStatus );
-            
-            if ( err == KErrNone && ( drvStatus & DriveInfo::EDriveInternal ) &&
-                 ( drvStatus & DriveInfo::EDriveExternallyMountable ) )
-                {
-                __LOG1("CMMCScBkupFileListCollection::AppendL() - Skipping file %S due it in mass storage", &entry.iName );
-                skipFile = ETrue;
-                }
-            }
-
-        if(!skipFile)
-#endif // RD_FILE_MANAGER_BACKUP
-            {
-            // Check whether the file is already present before adding it (avoid duplicate 
-            // public files)
-            CMMCScBkupFileInfo* fileInfo = CMMCScBkupFileInfo::NewLC( entry, aAssociatedSID );
-
-            TLinearOrder<CMMCScBkupFileInfo> comparer( CMMCScBkupFileInfo::OrderByFileName );
-            const TInt indexIfFound = iEntries.FindInOrder( fileInfo, comparer );
-            if  (indexIfFound < 0)
-                {
-                // Item wasn't found - insert it in sorted order
-                AppendL( fileInfo );
-                CleanupStack::Pop( fileInfo );
-                
-                __LOG1("CMMCScBkupFileListCollection::AppendL() - Adding file %S", &fileInfo->FileName() );
-
-                // Add a copy to our return array.
-                aAddedItems.AppendL( fileInfo );
-                }
-            else
-                {
-                // Duplicate, discard
-                __LOG1("CMMCScBkupFileListCollection::AppendL() - Duplicate file %S", &fileInfo->FileName() );
-                CleanupStack::PopAndDestroy( fileInfo );
-                }
-            }
-        }
-    }
-
-
-// ---------------------------------------------------------------------------
-// CMMCScBkupFileListCollection::AppendL()
-// 
-// 
-// ---------------------------------------------------------------------------
-void CMMCScBkupFileListCollection::AppendL( CMMCScBkupFileInfo* aFileInfo )
-    {
-    TLinearOrder<CMMCScBkupFileInfo> comparer( CMMCScBkupFileInfo::OrderByFileName );
-    iEntries.InsertInOrderL( aFileInfo, comparer );
-    }
-
-
-// ---------------------------------------------------------------------------
-// CMMCScBkupFileListCollection::Count()
-// 
-// 
-// ---------------------------------------------------------------------------
-TInt CMMCScBkupFileListCollection::Count() const
-    {
-    return iEntries.Count();
-    }
-
-
-// ---------------------------------------------------------------------------
-// CMMCScBkupFileListCollection::Entry()
-// 
-// 
-// ---------------------------------------------------------------------------
-const CMMCScBkupFileInfo& CMMCScBkupFileListCollection::Entry(TInt aIndex) const
-    {
-    const CMMCScBkupFileInfo& entry = *iEntries[aIndex];
-    return entry;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CMMCScBkupFileListCollection::Remove()
-// 
-// 
-// ---------------------------------------------------------------------------
-void CMMCScBkupFileListCollection::Remove( TInt aIndex )
-    {
-    CMMCScBkupFileInfo* entry = iEntries[aIndex];
-    delete entry;
-    iEntries.Remove(aIndex);
-    }
-
-
-// ---------------------------------------------------------------------------
-// CMMCScBkupFileListCollection::Reset()
-// 
-// 
-// ---------------------------------------------------------------------------
-void CMMCScBkupFileListCollection::Reset()
-    {
-    iEntries.ResetAndDestroy();
-    }
-