Update contrib.
2 * Copyright (c) 2004-2010 Nokia Corporation and/or its subsidiary(-ies).
4 * This component and the accompanying materials are made available
5 * under the terms of the License "Eclipse Public License v1.0"
6 * which accompanies this distribution, and is available
7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
9 * Initial Contributors:
10 * Nokia Corporation - initial contribution.
26 #ifndef __CAF_FILECONTENTITERATOR_H__
27 #define __CAF_FILECONTENTITERATOR_H__
31 #include "StreamablePtrArray.h"
32 #include <caf/virtualpathptr.h>
33 #include "ContentIteratorInterface.h"
35 namespace ContentAccess
38 class CFileContentIteratorBase;
40 /** Recursively iterates over all files and then into each file to determine the content
46 NONSHARABLE_CLASS(CFileContentIterator): public MContentIterator
49 /** Create a content iterator for a particular path in the file system
50 @param aPath The path to search under
51 @param aRecursive Whether to explore sub-directories under the given path
52 @param aMimeType The mime type to search for. Finds content objects of any mime types if this parameter is omitted
53 @leave KErrNotFound If no suitable content objects were found inside the given path
55 static CFileContentIterator* NewL(const TDesC& aPath, TBool aRecursive, const TDesC8& aMimeType);
57 virtual ~CFileContentIterator();
60 virtual const TDesC& FileName() const;
61 virtual const TDesC& UniqueId() const;
62 virtual const TDesC& Name() const;
63 virtual const TDesC8& MimeType() const;
68 CFileContentIterator();
69 void ConstructL(const TDesC& aPath, TBool aRecursive, const TDesC8& aMimeType);
71 // Manager for doing GetDir()
74 // Construction Parameters
79 CFileContentIteratorBase* iSubIterator;