filemanager/GFLM/inc/CGflmFileListModel.h
branchRCL_3
changeset 38 491b3ed49290
parent 36 95243422089a
child 39 65326cf895ed
--- a/filemanager/GFLM/inc/CGflmFileListModel.h	Thu Aug 19 09:42:45 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,355 +0,0 @@
-/*
-* Copyright (c) 2002-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:  File list model
-*
-*/
-
-
-
-#ifndef CGFLMFILELISTMODEL_H
-#define CGFLMFILELISTMODEL_H
-
-
-//  INCLUDES
-#include <e32base.h>
-#include <badesca.h>        // MDesCArray
-#include <f32file.h>        // RFs
-#include "GFLM.hrh"
-
-
-// FORWARD DECLARATIONS
-class MGflmItemGroup;
-class CGflmItemGroupImpl;
-class CGflmGroupItem;
-class MGflmItemFilter;
-class CGflmDirectoryListingCache;
-class CGflmFileRecognizer;
-class CGflmItemLocalizer;
-class CGflmDriveResolver;
-class CGflmDriveItem;
-class CGflmFileFinder;
-
-
-// CLASS DECLARATION
-/**
-*  A class that implements the basic file list functionality.
-*  @lib GFLM.lib
-*  @since 2.0
-*/
-class CGflmFileListModel : public CActive, public MDesCArray
-    {
-    public:  // Constructors and destructor
-
-        /**
-        * Two-phased constructor.
-        * @since 3.2
-        * @param aFs Shareable file server session, see RFs::ShareProtected()
-        * @return Pointer to a CGflmFileListModel instance
-        */
-        IMPORT_C static CGflmFileListModel* NewL( RFs& aFs );
-
-        /**
-        * Destructor.
-        */
-        virtual ~CGflmFileListModel();
-
-    public: // New functions
-
-        /**
-        * Refreshes the model
-        * @since 2.0
-        * @param aStatus A reference to a TRequestStatus object that
-        *        is used to notify the client thread about completion of
-        *        the refresh
-        * @param aRefreshMode Refresh mode
-        */
-        IMPORT_C void RefreshListL(
-            TRequestStatus& aStatus,
-            TGflmRefreshMode aRefreshMode = ERefreshItems );
-
-        /**
-        * Cancels the asynchronous refresh request
-        * @since 2.0
-        */
-		IMPORT_C void CancelRefresh();
-
-        /**
-        * Obtains a pointer to a CGflmGroupItem object.
-        * The item is indexed by a global index.
-        * Raises a panic (EGlobalIndexOutOfBounds) if the index refers to a
-        * non-existent item.
-        * @since 2.0
-        * @param aIndex Global index of the item.
-        * @return A pointer to a CGflmGroupItem object.
-        */
-        IMPORT_C CGflmGroupItem* Item( TInt aIndex ) const;
-
-        /**
-        * Resets the model. All item groups are destroyed.
-        * @since 2.0
-        */
-        IMPORT_C void ResetModel();
-
-        /**
-        * Obtains a pointer to a MGflmItemGroup object.
-        * Raises a panic (EInvalidGroupId) if a group is not found with given id.
-        * @since 2.0
-        * @param aId Id of the group
-        * @return A pointer to a MGflmItemGroup object.
-        */
-        IMPORT_C MGflmItemGroup* FindGroupById( TInt aId );
-
-        /**
-        * Creates a new item group with a given id.
-        * @since 2.0
-        * @param aId The id given to the created group
-        * @return A pointer to the created MGflmItemGroup object
-        */
-        IMPORT_C MGflmItemGroup* CreateGroupL( TInt aId );
-
-        /**
-        * Creates a new item group with a given id.
-        * @since 3.1
-        * @param aId The id given to the created group
-        * @param aInclusion The group item inclusion
-        * @return A pointer to the created MGflmItemGroup object
-        */
-        IMPORT_C MGflmItemGroup* CreateGroupL(
-            TInt aId, TUint aInclusion );
-
-        /**
-        * Recognizes a file and resolves it's MIME-type.
-        * This method accesses GFLM's internal recognizer cache
-        * and is thus recomended for efficiency. NOTE: The file doesn't
-        * have to belong to the current state of the model.
-        * @since 2.0
-        * @param aFilename Full path of the file to be recognized
-        * @return A pointer descriptor containing the MIME-type of the item.
-        *         If the MIME-type couldn't be recognized, returns KNullDesC
-        */
-        IMPORT_C TPtrC ResolveMimeTypeL( const TDesC& aFilename );
-
-        /**
-        * Sets the item filter object for the model to use.
-        * If aOwned is ETrue the model gets the ownership of the object.
-        * @since 2.0
-        * @param aFilter A pointer to a MGflmItemFilter object to be used
-        */
-        IMPORT_C void SetCustomFilter( MGflmItemFilter* aFilter );
-
-        /**
-        * Returns the validity of the model. If the refresh operation failed
-        * or was canceled the model is corrupt and it's items shouldn't be
-        * accessed
-        * @since 2.0
-        * @return ETrue if the model is corrupt. EFalse if the model is in
-        *         valid state.
-        */
-        IMPORT_C TBool IsCorrupt() const;
-
-        /**
-        * Returns the localized name of a file or a directory
-        * @since 2.0
-        * @param aPath Full path to the file or directory
-        * @return A pointer descriptor containing the localized name
-        *         without the full path
-        */
-        IMPORT_C TPtrC LocalizedName( const TDesC& aPath ) const;
-
-        /**
-        * Clears the contents of the file cache
-        * @since 2.0
-        */
-        IMPORT_C void ClearCache();
-
-        /**
-        * Clears the contents of the drive info
-        * @since 3.1
-        */
-        IMPORT_C void ClearDriveInfo();
-
-        /**
-        * Gets drive item from given path
-        * @since 3.1
-        * @param aPath Given path
-        * @return A pointer to drive item (not owned)
-        *         or NULL if drive not found.
-        */
-        IMPORT_C CGflmDriveItem* DriveFromPath( const TDesC& aPath ) const;
-
-        /**
-        * Gets drive item from given id
-        * @since 3.2
-        * @param aDrive Given drive id
-        * @return A pointer to drive item (not owned)
-        *         or NULL if drive not found.
-        */
-        IMPORT_C CGflmDriveItem* DriveFromId( const TInt aDrive ) const;
-
-        /**
-        * Enables and disables search mode
-        * @since 3.2
-        * @param aEnabled Enable or disable
-        */
-        IMPORT_C void EnableSearchMode( const TBool aEnabled );
-
-        /**
-        * Get search mode
-        * @since 5.0
-        * @return search mode
-        */       
-        IMPORT_C TBool SearchMode();
-        /**
-        * Sets search string. Wild cards are allowed.
-        * @since 3.2
-        * @param aSearchString Given search string
-        */
-        IMPORT_C void SetSearchStringL( const TDesC& aSearchString );
-
-        /**
-        * Sets search folder
-        * @since 3.2
-        * @param aSearchFolder Given search folder
-        */
-        IMPORT_C void SetSearchFolderL( const TDesC& aSearchFolder );
-
-        /**
-        * Sets sort method
-        * @since 5.0
-        * @param aSortMethod Given sort method
-        */
-        IMPORT_C void SetSortMethod( TGflmSortMethod aSortMethod );
-
-        /**
-        * Gets sort method
-        * @since 5.0
-        * @return Currently used sort method
-        */
-        IMPORT_C TGflmSortMethod SortMethod() const;
-        
-        /**
-        * Flush cache in CGflmFileRecognizer
-        */
-        IMPORT_C void FlushCache();
-        
-    public: // MDesCArray
-
-        TInt MdcaCount() const;
-
-        TPtrC MdcaPoint( TInt aIndex ) const;
-
-    private: // CActive
-
-        void RunL();
-
-        TInt RunError( TInt aError );
-
-        void DoCancel();
-
-    protected:  // New functions
-
-        /**
-        * C++ default constructor.
-        */
-        CGflmFileListModel( RFs& aFs );
-
-        /**
-        * 2nd phase constructor
-        */
-        void ConstructL();
-
-    private:
-
-        static TInt WorkThreadStart( TAny* aPtr );
-
-        void WorkThread();
-
-        void NotifyClient( TInt aErr );
-
-        void GetGroupAndLocalIndex(
-            const TInt aGlobalIndex,
-            TInt& aLocalIndex,
-            MGflmItemGroup*& aGroup ) const;
-
-        void DoRefreshL();
-
-    protected:  // Data
-
-        // Ref: An open shareable file server session
-        RFs& iFs;
-
-        // Request status of the work thread client
-        TRequestStatus* iClientStatus;
-
-        // Dynamic array containing all the CGflmItemGroupImpl objects that
-        // belong to the model. Owned.
-        CArrayPtrSeg< CGflmItemGroupImpl >* iGroups;
-
-        // Instance of CGflmDirectoryListingCache. Owned.
-        CGflmDirectoryListingCache* iListingCache;
-
-        // Instance of CGflmFileRecognizer. Owned.
-        CGflmFileRecognizer* iFileRecognizer;
-
-        // Instance of CGflmItemLocalizer. Owned.
-        CGflmItemLocalizer* iItemLocalizer;
-
-        // Instance of CGflmDriveResolver. Owned.
-        CGflmDriveResolver* iDriveResolver;
-
-        // A boolean indicating wether the model is corrupt and needs to be
-        // refreshed
-        TBool iCorrupt;
-
-        // A pointer to a class implementing MGflmItemFilter interface
-        MGflmItemFilter* iFilter;
-
-        // Own: For synchronising client and work thread
-        RSemaphore iSemaphore;
-
-        // Own: Client thread id to be informed
-        TThreadId iClientId;
-
-        // A boolean indicating wether the model is shutting down
-        // Main thread is allowed write and work thread is allowed to read only
-        TBool iShutdown;
-
-        // A boolean indicating wether the refresh is canceled
-        // Main thread is allowed write and work thread is allowed to read only
-        TBool iCanceled;
-
-        // A boolean indicating if search mode enabled or disabled
-        // Main thread is allowed write and work thread is allowed to read only
-        TBool iSearchEnabled;
-
-        // Own: For finding files and directories from file system
-        CGflmFileFinder* iFileFinder;
-
-        // Own: Stores currently used sort method
-        // Main thread is allowed write and work thread is allowed to read only
-        TGflmSortMethod iSortMethod;
-
-        // Own: Stores currently used sort method in search mode
-        // Main thread is allowed write and work thread is allowed to read only
-        TGflmSortMethod iSearchSortMethod;
-
-        // Own: Stores currently used refresh mode
-        // Main thread is allowed write and work thread is allowed to read only
-        TGflmRefreshMode iRefreshMode;
-
-    };
-
-#endif      // CGFLMFILELISTMODEL_H
-
-// End of File