--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/filemanager/GFLM/inc/CGflmFileFinder.h Mon Jan 18 20:09:41 2010 +0200
@@ -0,0 +1,157 @@
+/*
+* Copyright (c) 2007 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: Searches items matching with given string in given file system
+*
+*/
+
+
+#ifndef CGFLMITEMFINDER_H
+#define CGFLMITEMFINDER_H
+
+// INCLUDES
+#include <e32std.h>
+#include <f32file.h>
+#include <collate.h>
+#include "GFLM.hrh"
+#include "MGflmItemGroup.h"
+
+// FORWARD DECLARATIONS
+class CGflmItemLocalizer;
+class CGflmDriveResolver;
+class MGflmItemFilter;
+class CGflmGroupItem;
+
+// CLASS DECLARATION
+/**
+* Finds the items matching with given string in given folder
+*
+* @lib GFLM.lib
+* @since 3.2
+*/
+NONSHARABLE_CLASS(CGflmFileFinder) : public CBase,
+ public MGflmItemGroup
+ {
+ public:
+ /**
+ * Two-phased constructor.
+ */
+ static CGflmFileFinder* NewL(
+ RFs& aFss,
+ CGflmItemLocalizer& aLocalizer,
+ CGflmDriveResolver& aResolver,
+ const TBool& aCancelIndicator );
+
+ /**
+ * Destructor.
+ */
+ ~CGflmFileFinder();
+
+ public:
+ /**
+ * Sets search folder
+ * @since 3.2
+ * @param aSearchFolder Given search folder
+ */
+ void SetSearchFolderL( const TDesC& aSearchFolder );
+
+ /**
+ * Sets search string. Wild cards are allowed.
+ * @since 3.2
+ * @param aSearchString Given search string
+ */
+ void SetSearchStringL( const TDesC& aSearchString );
+
+ /**
+ * Refreshes the model
+ * @since 3.2
+ * @param aFilter Pointer to filter. NULL if not used.
+ * @param aSortMethod Sort method
+ * @param aRefreshMode Refresh mode
+ */
+ void RefreshL(
+ MGflmItemFilter* aFilter,
+ TGflmSortMethod aSortMethod,
+ TGflmRefreshMode aRefreshMode );
+
+ public: // From MGflmItemGroup
+
+ TInt Id() const;
+
+ TInt ItemCount() const;
+
+ CGflmGroupItem* Item( TInt aIndex );
+
+ void AddSourceL( const TDesC& aDirectory );
+
+ void ResetSources();
+
+ void AddActionItemL( TInt aId, const TDesC& aCaption );
+
+ void SetInclusion( TUint aInclusion );
+
+ const TCollationMethod* CollationMethod();
+
+ private:
+ /**
+ * C++ default constructor.
+ */
+ CGflmFileFinder(
+ RFs& aFss,
+ CGflmItemLocalizer& aLocalizer,
+ CGflmDriveResolver& aResolver,
+ const TBool& aCancelIndicator );
+
+ void ConstructL();
+
+ void DoSearchL( MGflmItemFilter* aFilter );
+
+ private: // Data
+ // Ref: An open shareable file server session
+ RFs& iFss;
+
+ // Ref: Item localizer
+ CGflmItemLocalizer& iItemLocalizer;
+
+ // Ref: Drive resolver
+ CGflmDriveResolver& iDriveResolver;
+
+ // Own: Read only cancel indicator
+ const TBool& iCancelIndicator;
+
+ // Own: Contains folder string
+ HBufC* iSearchFolder;
+
+ // Own: Contains folder path with search string with wild cards
+ HBufC* iSearchFolderWild;
+
+ // Own: Contains search string
+ HBufC* iSearchString;
+
+ // Own: Contains search string with wild cards
+ HBufC* iSearchStringWild;
+
+ // Own: Contains found items
+ RPointerArray< CGflmGroupItem > iSearchResults;
+
+ // Own: Buffer for full path handling
+ TFileName iFullPath;
+
+ // Own: Used collation method
+ TCollationMethod iSortCollationMethod;
+ };
+
+#endif // CGFLMITEMFINDER_H
+
+// End of File
+