diff -r d1daf54a55b5 -r 1957042d8c7e filesystemuis/memscaneng/serversrc/msengfindallscanner.cpp --- a/filesystemuis/memscaneng/serversrc/msengfindallscanner.cpp Tue Feb 02 00:03:31 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,167 +0,0 @@ -/* -* Copyright (c) 2006 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: -* Scanner class used to scan file system by filename extension -* -* -*/ - - -// SYSTEM INCLUDES -#include - -// USER INCLUDES -#include "msengfindallscanner.h" -#include "msenguihandler.h" -#include "memscanutils.h" - - -// ================= MEMBER FUNCTIONS ======================================== - -// --------------------------------------------------------------------------- -// CMsengFindAllScanner::CMsengFindAllScanner() -// -// C++ default constructor. Can NOT contain any code, that might leave. -// --------------------------------------------------------------------------- -CMsengFindAllScanner::CMsengFindAllScanner(MMsengScannerObserver& aObserver, - CMsengInfoArray& aScanArray, - RFs& aFsSession) -: CMsengFileScanner(aObserver, aScanArray, aFsSession) - { - } - - -// --------------------------------------------------------------------------- -// CMsengFindAllScanner::NewL() -// -// Two-phased constructor -// --------------------------------------------------------------------------- -CMsengFindAllScanner* CMsengFindAllScanner::NewL( - MMsengScannerObserver& aObserver, - CMsengInfoArray& aScanArray, - RFs& aFsSession) - { - CMsengFindAllScanner* self = new (ELeave) CMsengFindAllScanner(aObserver, - aScanArray, aFsSession); - return self; - } - -// --------------------------------------------------------------------------- -// CMsengFindAllScanner::~CMsengFindAllScanner() -// -// Destructor -// --------------------------------------------------------------------------- -CMsengFindAllScanner::~CMsengFindAllScanner() - { - } - -// --------------------------------------------------------------------------- -// CMsengFindAllScanner::FindFilesL() -// -// -// --------------------------------------------------------------------------- -CDir* CMsengFindAllScanner::FindFilesL(const TDesC& aDirectory, TBool& aMoveToNextDirectory) - { - TRACES( RDebug::Print(_L("CMsengFindAllScanner::FindFilesL(%S)"), &aDirectory) ); - - // Get a list of results for this directory - CDir* results; - const TInt error = FsSession().GetDir(aDirectory, - KEntryAttMaskSupported|KEntryAttAllowUid, ESortNone, results); - if (error == KErrNotFound) - { - results = NULL; - } - - // Always move onto searching the next directory - aMoveToNextDirectory = ETrue; - - // Return populated (or potentially NULL) list. - return results; - } - -// --------------------------------------------------------------------------- -// CMsengFindAllScanner::HandleLocatedEntryL() -// -// -// --------------------------------------------------------------------------- -CMsengFileScanner::TLocationResponse CMsengFindAllScanner::HandleLocatedEntryL( - const TDesC& aFullFileNameAndPath, const TEntry& aEntry) - { - // Figure out the data group by comparing the start of the path - - TInt dataDirCount = InfoArray().DataDirs().Count(); - for(TInt i=0; i < dataDirCount; i++) - { - TPtrC dataDirPath = InfoArray().DataDirs().MdcaPoint(i); - if(aFullFileNameAndPath.Length() >= dataDirPath.Length()) - { - TFileName currentPath; - currentPath.Copy(aFullFileNameAndPath.Left(dataDirPath.Length())); - - // Compare whether folder matches - if(!currentPath.Compare(dataDirPath)) - { - TBool isExcluded = EFalse; - TInt fileLength = aFullFileNameAndPath.Length() - dataDirPath.Length(); - TInt excludedFiles = 0; - if(InfoArray().DataDirExcludedFiles().Count()) - { - excludedFiles = InfoArray().DataDirExcludedFiles().At(i)->MdcaCount(); - } - - currentPath.Copy(aFullFileNameAndPath.Right(fileLength)); - - TRACES( RDebug::Print(_L("Check file %S"), ¤tPath) ); - - for(TInt j=0; j < excludedFiles; j++) - { - TRACES - ( - TPtrC file = InfoArray().DataDirExcludedFiles().At(i)->MdcaPoint(j); - RDebug::Print(_L("Comparing to excluded file %S"), &file); - ); - - if(!currentPath.Compare( - InfoArray().DataDirExcludedFiles().At(i)->MdcaPoint(j))) - { - isExcluded = ETrue; - break; - } - } - - if(!isExcluded) - { - // Add size of object when file is not in list of excluded files - if(InfoArray().DataDirGroups().Count()) - { - TInt group = InfoArray().DataDirGroups().At(i); - InfoArray().AddSizeByGroupL(group, aEntry.iSize); - - TRACES - ( - RDebug::Print(_L("File %S belongs to group: %d"), - &aFullFileNameAndPath, group) - ); - } - } - } - } - } - - // We processed this one - return EEntryWasProcessed; - } - -// End of File