filemanager/Engine/inc/CFileManagerEngine.h
branchRCL_3
changeset 38 491b3ed49290
parent 36 95243422089a
child 39 65326cf895ed
--- a/filemanager/Engine/inc/CFileManagerEngine.h	Thu Aug 19 09:42:45 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,928 +0,0 @@
-/*
-* Copyright (c) 2002-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:  Main class of the File Manager Engine
-*
-*/
-
-
-
-#ifndef CFILEMANAGERENGINE_H
-#define CFILEMANAGERENGINE_H
-
-// INCLUDES
-#include <e32base.h>
-#include <badesca.h>
-#include <f32file.h>
-#include <AknServerApp.h>
-#include "MFileManagerProcessObserver.h"
-#include "FileManagerEngine.hrh"
-#include "TFileManagerDriveInfo.h"
-#include "CFileManagerRestoreSettings.h"
-
-// CONSTANTS
-// File Manager engine spcific error codes
-// defined numbers should be far away from system wide error code numbers
-const TInt KErrFmgrSeveralFilesInUse    = -4500;
-const TInt KErrFmgrDefaultFolder        = -4501;
-const TInt KErrFmgrNotSupportedRemotely = -4502;
-
-// FORWARD DECLARATIONS
-class CGflmNavigatorModel;
-class CFileManagerItemProperties;
-class CFileManagerActiveDelete;
-class CFileManagerActiveSize;
-class CFileManagerActiveExecute;
-class CFileManagerRefresher;
-class CFileManagerFileSystemEvent;
-class CFileManagerUtils;
-//class CMGXFileManager;
-class CFileManagerItemFilter;
-class CFileManagerRemovableDriveHandler;
-class CFileManagerRemoteDriveHandler;
-class CFileManagerDocHandler;
-class CFileManagerBackupSettings;
-class CFileManagerRestoreSettings;
-class CFileManagerActiveRename;
-class CFileManagerFeatureManager;
-class MAknServerAppExitObserver;
-
-
-// CLASS DECLARATION
-/**
-*  This class implements the main functionalities of File Manager Engine
-*
-*  @lib FileManagerEngine.lib
-*  @since 2.0
-*/
-NONSHARABLE_CLASS(CFileManagerEngine) : public CBase
-    {
-
-    public:
-
-        // Engine state
-        enum TState
-            {
-            ENavigation = 0, // For using navigation list model
-            ESearch // For using search list model
-            };
-
-        // Sort method
-        enum TSortMethod
-            {
-            EByName = 0,
-            EByType,
-            EMostRecentFirst,
-            ELargestFirst,
-            EByMatch
-            };
-
-    public:
-        /**
-        * Two-phased constructor.
-        * @param aFs Shareable file server session, see RFs::ShareProtected()
-        * @return Pointer to a CFileManagerEngine instance
-        */
-        IMPORT_C static CFileManagerEngine* NewL( RFs& aFs );
-
-        /**
-        * Destructor.
-        */
-        IMPORT_C ~CFileManagerEngine();
-
-    public: // Interface
-    
-        /**
-        * Set currently viewed memory
-        * @since 2.0
-        * @param aMemory The memory type
-        * @return system wide error code
-        */
-        IMPORT_C TInt SetMemoryL( TFileManagerMemory aMemory );
-
-        /**
-        * Returns the currently viewed memory
-        * @since 2.0
-        * @return TFileManagerMemory, the memory type
-        */
-        IMPORT_C TFileManagerMemory Memory() const;
-
-        /**
-        * Returns selected views item in array, which ListBox can show
-        * @since 2.0
-        * @return Array of formatted strings of current view
-        */
-        IMPORT_C MDesCArray* FileList() const;
-
-        /**
-        * Engine signals events with this observer
-        * @since 2.0
-        * @param aObserver The process observer or NULL, ownership is not transferred
-        */
-        IMPORT_C void SetObserver( MFileManagerProcessObserver* aObserver );
-
-        /**
-        * Returns full path of the current directory
-        * @since 2.0
-        * @return Full path of current directory
-        */
-        IMPORT_C TPtrC CurrentDirectory() const;
-
-        /**
-        * Returns localized name of the current directory
-        * @since 2.0
-        * @return Full path of current directory
-        */
-        IMPORT_C TPtrC LocalizedNameOfCurrentDirectory() const;
-
-        /**
-        * This backsteps the navigator to previously visible folder
-        * @since 2.0
-        */
-        IMPORT_C void BackstepL();
-
-        /**
-        * Returns the type of given item index in CFileManagerItemProperties bitmask
-        * @since 2.0
-        * @param aIndex The index to current view index.
-        * @return CFileManagerItemProperties bitmask
-        */
-        IMPORT_C TUint32 FileTypeL( const TInt aIndex ) const;
-
-        /**
-        * Returns the type of given item index in CFileManagerItemProperties bitmask
-        * @since 2.0
-        * @param aFullPath  Full path to item which type is needed..
-        * @return CFileManagerItemProperties bitmask
-        */
-        IMPORT_C TUint32 FileTypeL( const TDesC& aFullPath ) const;
-
-        /**
-        * Delete file(s) or folder, caller should delete the returned object.
-        * @since 2.0
-        * @param aIndexList List of indexes from current directory which is going to be deleted
-        * @return pointer to newly created CFileManagerActiveDelete object
-        */
-        IMPORT_C CFileManagerActiveDelete* CreateActiveDeleteL(
-            CArrayFixFlat< TInt >& aIndexList );
-
-        /**
-        * Creates a new folder
-        * @since 2.0
-        * @param aFolderName Name of the new folder which is created current directory
-        */
-        IMPORT_C void NewFolderL( const TDesC& aFolderName );
-
-        /**
-        * Set the current item name
-        * @since 5.0
-        * @param aFileName File name to be set
-        */
-        IMPORT_C void SetCurrentItemName( const TDesC& aFileName );
-        
-        /**
-        * Rename the file or folder.
-        * @since 3.2
-        * @param aIndex index of the file or folder from current directory 
-        * @param aNewFileName name where that file or folder name is changed
-        * @return System wide error code
-        */
-        IMPORT_C void RenameL( const TInt aIndex, const TDesC& aNewFileName );
-
-        /**
-        * Opens the file or folder
-        * @since 2.0
-        * @param aIndex from the current directory list
-        */
-        IMPORT_C void OpenL( const TInt aIndex );
-
-        /**
-        * Returns the depth of the current folder
-        * @since 2.0
-        * @return Current depth in folder tree, 0 is root, 1 one folder down
-        */
-        IMPORT_C TInt FolderLevel();
-
-        /**
-        * Checks from current directory, if the name is found
-        * @since 2.0
-        * @param aString Name which is matched with current directory files and folders
-        * @return ETrue if exists
-        *         EFalse if not exists in current directory
-        */
-        IMPORT_C TBool IsNameFoundL(const TDesC& aString);
-
-        /**
-        * returns number of the current drive.
-        * @since 2.0
-        * @returns TDriveNumber type, or KErrNotFound if no current drive set
-        */
-        IMPORT_C TInt CurrentDrive();
-
-        /**
-        * returns info class of the item
-        * @since 2.0
-        * @param aIndex to current directory item
-        * @return class which contains all necessary data for info box, receiver must delete it
-        */
-        IMPORT_C CFileManagerItemProperties* GetItemInfoL( const TInt aIndex );
-
-        /**
-        * returns info about MMC status
-        * @since 2.0
-        * @return class which contains all necessary data for MMC status
-        */
-        IMPORT_C TFileManagerDriveInfo GetMMCInfoL() const;
-
-        /**
-        * Sets the state of the engine
-        * @since 2.0
-        * @param aState TState, the state type
-        */
-        IMPORT_C void SetState( TState aState );
-
-        /**
-        * Gets the state of the engine
-        * @since 2.0
-        * @return TState, the state type
-        */
-        IMPORT_C CFileManagerEngine::TState State() const;
-
-        /**
-        * Updates the current view
-        * @since 2.0
-        */
-        IMPORT_C void RefreshDirectory();
-
-        /**
-        * Returns string which was used for finding items
-        * @since 2.0
-        * @return Ref to string 
-        */
-        IMPORT_C TPtrC SearchString() const;
-
-        /**
-        * Is given file name valid
-        * @since 2.0
-        * @param aDriveAndPath root path
-        * @param aName name of the file
-        * @param aIsFolder ETrue folder and EFalse file name
-        * @return ETrue if file name is valid
-        */
-        IMPORT_C TBool IsValidName(
-            const TDesC& aDriveAndPath,
-            const TDesC& aName,
-            TBool aIsFolder ) const;
-
-        /**
-        * Check that if given file name contains illegal characters
-        * @since 2.0
-        * @param aName name of the file
-        * @return ETrue if file name is valid
-        */
-        IMPORT_C TBool IllegalChars( const TDesC& aName ) const;
-
-        /**
-        * Check that there is enough memory to do specific operation
-        * @since 2.0
-        * @param aToFolder Target memory
-        * @param aSize Space needed bytes
-        * @param aOperation Move or Copy
-        * @return ETrue if there is enough space for operation
-        */
-        IMPORT_C TBool EnoughSpaceL(
-            const TDesC& aToFolder,
-            TInt64 aSize,
-            MFileManagerProcessObserver::TFileManagerProcess aOperation ) const;
-
-        /**
-        * Sets the file system event on or off
-        * @since 2.0
-        * @param aSet   ETrue sets file system event
-        *               EFalse turns events off
-        */
-        IMPORT_C void FileSystemEvent( TBool aEventOn );
-
-        /**
-        * Returns the current focus index if rename, copy/move or new folder
-        * operation has happened
-        * @since 2.0
-        * @return   index to current focused item, 
-        *           KErrNotFound if not found
-        */
-        IMPORT_C TInt CurrentIndex();
-
-        /**
-        * returns the file name with full path which is behind given index
-        * @since 2.0
-        * @param aIndex to current directory item
-        * @return HBufC buffer which caller must release after usage
-        */
-        IMPORT_C HBufC* IndexToFullPathL( const TInt aIndex) const; 
-
-        /**
-        * returns the file name with full path which is behind given index
-        * @since 3.2
-        * @param aIndex to current directory item
-        * @return HBufC buffer which caller must release after usage
-        */
-        IMPORT_C HBufC* IndexToFullPathLC( const TInt aIndex ) const;
-
-        /**
-        * Checks given item that can it be deleted.
-        * @since 2.0
-        * @param aFullPath full path to item which is checked
-        * @returns ETrue if item can be deleted, EFalse if not
-        */
-        TBool CanDelete( const TDesC& aFullPath ) const;
-
-        /**
-        * returns localized name of the given item
-        * @since 2.0
-        * @param aFullPath full path to item which is checked
-        * @returns TDesC reference to localized name
-        */
-        IMPORT_C TPtrC LocalizedName( const TDesC& aFullPath ) const;
-
-        /**
-        * returns the count of files in folder
-        * @since 2.0
-        * @return count of files in folder
-        */
-        IMPORT_C TInt FilesInFolderL();
-
-        /**
-        * Cancels the refresh operation
-        * @since 2.0
-        * @return   ETrue if refresh process is cancelled, 
-        *           EFalse if there wasn't any refresh process ongoing
-        */
-        IMPORT_C TBool CancelRefresh();
-
-        /**
-        * Checks given index is it folder, this call is very quick
-        * because it uses icon information to retrieve item type
-        * @since 2.0
-        * @param aIndex index to item 
-        * @return   ETrue item behind the index is folder 
-        *           EFalse item behind the index is not folder
-        */
-        IMPORT_C TBool IsFolder( const TInt aIndex ) const;
-
-        /**
-        * Asynchronous notifies about drive added or changed
-        * @since 5.2
-        * @param aPtr Pointer to an instance of this class
-        * @return 0
-        */
-        static TInt DriveAddedOrChangeAsyncL( TAny* aPtr );
-
-        /**
-        * Notifies about drive added or changed
-        * @since 3.1
-        */
-        void DriveAddedOrChangedL();
-
-        /**
-        * Notifies about folder content changed
-        * @since 3.2
-        */
-        void FolderContentChangedL();
-
-        /**
-        * Resolves the icon id of the given item index
-        * @since 2.7
-        * @param aIndex index to item 
-        * @return   Icon id of the item behind the index
-        *           
-        */
-        IMPORT_C TInt IconIdL( const TInt aIndex ) const;
-
-        /**
-        * Checks is given folder system folder
-        * @since 3.1
-        * @param aFull Full path to item
-        * @return ETrue if folder is system folder, EFalse if not
-        */
-        IMPORT_C TBool IsSystemFolder( const TDesC& aFullPath ) const;
-
-        /**
-        * Gets current drive name
-        * @since 3.2
-        * @return Drive name
-        */
-        IMPORT_C TPtrC CurrentDriveName();
-
-        /**
-         * Renames the current drive
-         * @since 3.1
-         * @param aDrive Drive number EDriveA...EDriveZ
-         * @param aName The new name
-         * @return System wide error code
-         */
-        IMPORT_C TInt RenameDrive(
-            const TInt aDrive, const TDesC& aName );
-
-        /**
-         * Retrieves current drive information
-         * @param aInfo A reference to a TFileManagerDriveInfo object
-         */
-        IMPORT_C void GetDriveInfoL( TFileManagerDriveInfo& aInfo );
-
-        /**
-         * Sets password on current drive
-         * @since 3.1
-         * @param aDrive Drive number EDriveA...EDriveZ
-         * @param aOld The old password
-         * @param aNew The new password
-         * @return System wide error code
-         */
-        IMPORT_C TInt SetDrivePassword(
-            const TInt aDrive,
-            const TMediaPassword& aOld,
-            const TMediaPassword& aNew );
-
-        /**
-         * Removes password from current drive
-         * @since 3.1
-         * @param aDrive Drive number EDriveA...EDriveZ
-         * @param aPwd The current password
-         * @return System wide error code
-         */
-        IMPORT_C TInt RemoveDrivePassword(
-            const TInt aDrive,
-            const TMediaPassword& aPwd );
-
-        /**
-         * Unlocks the current drive
-         * @since 3.1
-         * @param aDrive Drive number EDriveA...EDriveZ
-         * @param aPwd The current password
-         * @return System wide error code
-         */
-        IMPORT_C TInt UnlockDrive(
-            const TInt aDrive,
-            const TMediaPassword& aPwd );
-
-       /**
-         * Starts format process
-         * @since 3.1
-         * @param aDrive Drive number EDriveA...EDriveZ
-         */
-        IMPORT_C void StartFormatProcessL( const TInt aDrive );
-
-       /**
-         * Starts eject process
-         * @since 3.2
-         * @param aDrive Drive number EDriveA...EDriveZ
-         */
-        IMPORT_C void StartEjectProcessL( const TInt aDrive );
-
-        /**
-         * Initiates backup or restore process
-         * @since 3.1
-         * @param aProcess The process to start:
-         *                 EBackupProcess or ERestoreProcess
-         */
-        IMPORT_C void StartBackupProcessL(
-            MFileManagerProcessObserver::TFileManagerProcess aProcess );
-
-        /**
-         * Cancels ongoing process
-         * @since 3.1
-         * @param aProcess The process to cancel
-         */
-        IMPORT_C void CancelProcess(
-            MFileManagerProcessObserver::TFileManagerProcess aProcess );
-
-        /**
-         * Get drive state
-         * @since 3.1
-         * @param aState For TFileManagerDriveInfo::TDriveState bits
-         * @param aPath Only drive letter is used
-         * @return System wide error code
-         */
-        IMPORT_C TInt DriveState( TUint32& aState, const TDesC& aPath ) const;
-
-        /**
-         * Get drive state
-         * @since 3.1
-         * @param aState For TFileManagerDriveInfo::TDriveState bits
-         * @param aDrive
-         * @return System wide error code
-         */
-        IMPORT_C TInt DriveState( TUint32& aState, const TInt aDrive ) const;
-
-        /**
-         * Determine if given file must be protected (kept on the device)
-         * @since 3.1
-         * @param aFullPath Full path to item
-         * @param aIsProtected The protection status
-         * @return System wide error code
-         */
-        IMPORT_C TInt IsDistributableFile( const TDesC& aFullPath,
-                                           TBool& aIsProtected ) const;
-
-        /**
-         * Connects or disconnects remote drive
-         * @since 3.1
-         * @param aDrive Drive number EDriveA...EDriveZ
-         * @param aConnect ETrue when connecting, EFalse when disconnecting
-         * @return System wide error code
-         */
-        IMPORT_C TInt SetRemoteDriveConnection(
-            const TInt aDrive, TBool aConnect );
-
-        /**
-         * Deletes the remote drive settings from remote storage framework
-         * @since 3.1
-         * @param aDrive Drive number EDriveA...EDriveZ
-         * @return System wide error code
-         */
-        IMPORT_C TInt DeleteRemoteDrive( const TInt aDrive );
-
-        /**
-         * Gets drive root directory
-         * @since 3.1
-         * @param aDrive Drive number EDriveA...EDriveZ
-         * @return Reference to root directory string
-         */
-        IMPORT_C TPtrC DriveRootDirectory( const TInt aDrive ) const;
-
-        /**
-         * Gets backup settings
-         * @since 3.1
-         * @return Reference to backup settings.
-         */
-        IMPORT_C CFileManagerBackupSettings& BackupSettingsL();
-
-        /**
-         * Gets restore settings
-         * @since 3.1
-         * @return Reference to restore settings.
-         */
-        IMPORT_C CFileManagerRestoreSettings& RestoreSettingsL();
-
-        /**
-         * Gets drive name
-         * @since 3.1
-         * @param aDrive Drive that name is required
-         * @return Reference to drive name.
-         */
-        IMPORT_C TPtrC DriveName( const TInt aDrive );
-
-        /**
-         * Gets drive info
-         * @since 3.1
-         * @param aDrive Drive that info is required
-         * @param aInfo For storing drive info
-         */
-        IMPORT_C void GetDriveInfoL(
-            const TInt aDrive, TFileManagerDriveInfo& aInfo ) const;
-
-        /**
-         * Gets restore info array
-         * @since 3.1
-         * @param aArray For storing restore info
-         * @param aDrive For getting info from specific drive
-         */
-        IMPORT_C void GetRestoreInfoArrayL(
-            RArray< CFileManagerRestoreSettings::TInfo >& aArray,
-            const TInt aDrive = KErrNotFound ) const;
-
-        /**
-         * Checks if any ejectable drive is present
-         * @since 3.1
-         * @return ETrue if present, otherwise EFalse
-         */
-        IMPORT_C TBool AnyEjectableDrivePresent() const;
-
-        /**
-         * Ensures that contents of a directory are up to date
-         * including remote drives when current view is updated
-         * @since 3.1
-         */
-        IMPORT_C void ForcedRefreshDirectory();
-
-        /**
-         * Calculates the total size of given items
-         * @since 3.2
-         * @param aIndexList List of indexes from current directory
-         * @return Total size
-         */
-        IMPORT_C TInt64 GetFileSizesL(
-            const CArrayFixFlat< TInt >& aIndexList );
-
-        /**
-         * Gets navigation level, the depth of backstep stack
-         * @since 3.2
-         * @return The navigation level
-         */
-        IMPORT_C TInt NavigationLevel() const;
-
-        /**
-        * Gets drive name and letter as combined formatted text.
-        * @since 5.0
-        * @param aDrive Drive number EDriveA...EDriveZ
-        * @param aTextIdForDefaultName TextId of default name format string
-        * @param aTextIdForName TextId of name format string
-        * @return Text containing drive letter and name
-        */
-        IMPORT_C HBufC* GetFormattedDriveNameLC(
-            const TInt aDrive,
-            const TInt aTextIdForDefaultName,
-            const TInt aTextIdForName = 0 ) const;
-
-        /**
-        * Returns info class of the item
-        * @since 5.0
-        * @param aIndex to current directory item
-        * @return class which contains all necessary data for info box, receiver must delete it
-        */
-        IMPORT_C CFileManagerItemProperties* GetItemInfoLC( const TInt aIndex );
-
-        /**
-        * Sets search string.
-        * @since 3.2
-        * @param aSearchString Search string
-        */
-        IMPORT_C void SetSearchStringL( const TDesC& aSearchString );
-
-        /**
-        * Sets search folder.
-        * @since 3.2
-        * @param aSearchString Search folder
-        */
-        IMPORT_C void SetSearchFolderL( const TDesC& aSearchFolder );
-
-        /**
-        * Sets the directory with backsteps.
-        * @since 3.2
-        * @param aDirectory New current directory
-        */
-        IMPORT_C void SetDirectoryWithBackstepsL( const TDesC& aDirectory );
-
-        /**
-        * Stores current navigation index.
-        * @since 3.2
-        * @param aIndex The index to current view index.
-        */
-        IMPORT_C void SetCurrentIndex( const TInt aIndex );
-
-        /**
-        * Sets the sort method of the engine
-        * @since 5.0
-        * @param aSortMethod TSortMethod, the sort method type
-        */
-        IMPORT_C void SetSortMethod( TSortMethod aSortMethod );
-
-        /**
-        * Gets the sort method of the engine
-        * @since 5.0
-        * @return TSortMethod, the sort method type
-        */
-        IMPORT_C CFileManagerEngine::TSortMethod SortMethod() const;
-
-        /**
-        * Re-sorts the current view
-        * @since 5.0
-        */
-        IMPORT_C void RefreshSort();
-
-        /**
-        * Gets the feature manager
-        * @since 3.2
-        */
-        IMPORT_C CFileManagerFeatureManager& FeatureManager() const;
-        
-        /**
-        * Set server application exit observer
-        * @Param aObserver The ServerAppExit observer or NULL, ownership is not transferred
-        */
-        IMPORT_C void SetAppExitOb( MAknServerAppExitObserver* aObserver );
-        
-        /**
-        * Deletes the backup archives selected using
-        * CFileManagerRestoreSettings::SetSelection() method.
-        * @since 5.0
-        */
-        IMPORT_C void DeleteBackupsL();
-        
-		/**
-        * Check if a drive is mounted
-        * @Param aDrive The target drive to check
-		* @Return TBool to indicate check result
-        * @since 5.2
-        */
-        IMPORT_C TBool IsDriverMounted( TInt aDrive );
-        
-    public:
-    	
-        /**
-        * Set whether the file is a sis file
-        * @Param aSisFile file is or not a sis file
-        */
-        void SetSisFile( TBool aSisFile );
-        
-        /*
-        * Notice the ServerAppExit event
-        * @Param aReason the reason of the server application exit
-        */
-        void NoticeServerAppExit( TInt aReason );
-        
-        /**
-        * Sets embedded app status
-        * @param aStatus ETrue if embedded app on, EFalse if not
-        */
-        void EmbeddedAppStatus( TBool aStatus );
-
-        /* MFileManagerWaitNote */
-        void ShowWaitDialogL( MAknBackgroundProcess& aProcess );
-
-        //CMGXFileManager& MGXFileManagerL();
-
-        RFs& Fs() const;
-
-        TBool HasAppRemoteDriveSupport( TUid aUid );
-
-        TBool IsRemoteDriveConnected( const TInt aDrive  ) const;
-
-        TBool BackupFileExistsL( const TInt aDrive  ) const;
-
-        // Ensures that drive info is refreshed on next update
-        void ClearDriveInfo();
-
-        // Cancels ongoing transfer
-        void CancelTransfer( const TDesC& aFullPath );
-
-        /**
-        * Gets the latest backup time
-        * @since 5.0
-        * @param aBackupTime Stores the latest backup time
-        * @return System wide error code
-        */
-        TInt LatestBackupTime( TTime& aBackupTime );
-
-    private:
-        /**
-        * C++ default constructor.
-        */
-        CFileManagerEngine( RFs& aFs );
-
-        /**
-        * By default Symbian 2nd phase constructor is private.
-        */
-        void ConstructL();
-
-        // Adds current dir fullpath to given name, returns HBufC buffer which must be released
-        HBufC* AddFullPathLC( const TDesC& aName, const TBool aIsFolder );
-
-        // Sets file system event watcher for given path
-        void SetFileSystemEventL( const TDesC& aFullPath = KNullDesC );
-
-        // For checking mount state
-        TInt CheckDriveMountL( TInt aDrive ) const;
-
-        // For getting drive info
-        void GetDriveInfoL(
-            const TDesC& aPath, TFileManagerDriveInfo& aInfo ) const;
-
-        // Opens file
-        void OpenFileL( const TDesC& aFullPath );
-
-        // Opens directory
-        void OpenDirectoryL( const TDesC& aFullPath );
-
-        // Checks is current drive available
-        TBool CurrentDriveAvailable();
-
-        /**
-        * Start asynchronous disk event notification timer
-        * @since 5.2
-        */
-        void StartDiskEventNotifyTimerAsyncL();
-
-        /**
-        * Stop asynchronous disk event notification timer
-        * @since 5.2
-        */
-        void StopDiskEventNotifyTimerAsync();
-
-    private:
-
-        // Own: General File List Model is used via this object.
-        CGflmNavigatorModel*        iNavigator;
-
-        // Ref: For file operations
-        RFs&                        iFs;
-
-        // Normal or search state 
-        TState                      iState;
-
-        // Own: String which was used in latest search
-        HBufC*                      iSearchString;
-
-        // Own: String which is used for search process
-        HBufC*                      iSearchProcessString;
-
-        // Own: AO for async GFLM refresh operation
-        CFileManagerRefresher*      iRefresher;
-
-        // Ref: Handle to current observer
-        MFileManagerProcessObserver* iProcessObserver;
-
-        // Own: Handles file system events
-        CFileManagerFileSystemEvent* iFileSystemEvent;
-
-        // item name of current index, used to search current index
-        TFileName                   iCurrentItemName;
-
-        // Own: Folder size calculation
-        CFileManagerActiveSize*     iActiveSize;
-
-        // Own: Checks drive notifications
-        CFileManagerFileSystemEvent* iDiskEvent;
-
-        // Own: Indicates if embedded application is on
-        TBool iEmbeddedApplicationOn;
-
-        // Own: MG2 update notification object
-        //CMGXFileManager*            iMgxFileManager;
-
-        // Own: Compines services of couple classes
-        CFileManagerUtils*          iUtils;
-
-        // Own: Used for item filtering
-        CFileManagerItemFilter* iItemFilter;
-
-        // Own: Used for handling memory card etc functinalities
-        CFileManagerRemovableDriveHandler* iRemovableDrvHandler;
-
-        // Own: Used for handling remote drive functinalities
-        CFileManagerRemoteDriveHandler* iRemoteDrvHandler;
-
-        // Own: Used for opening files
-        CFileManagerDocHandler* iDocHandler;
-
-        // Own: Used for backup settings
-        CFileManagerBackupSettings* iBackupSettings;
-
-        // Own: Used for restore settings
-        CFileManagerRestoreSettings* iRestoreSettings;
-
-        // Own: Indicates last drive available status
-        TBool iLastDriveAvailable;
-
-        // Own: Stores current drive info
-        TFileManagerDriveInfo iCurrentDriveInfo;
-
-        // Own: Indicates if current drive info is refreshed
-        TBool iCurrentDriveInfoRefreshed;
-
-        // Own: Indicates if wait dialog is on
-        TBool iWaitDialogOn;
-
-        // Own: Stores drive name
-        HBufC* iDriveName;
-
-        // Own: Navigation indices
-        RArray< TInt > iNavigationIndices;
-
-        // Own: Used for rename
-        CFileManagerActiveRename* iActiveRename;
-
-        // Own: Used for storing search folder
-        HBufC* iSearchFolder;
-
-        // Own: Indicates file system event status
-        TBool iFileSystemEventEnabled;
-
-        // Own: Indicates if drive added or changed update is postponed
-        TBool iDriveAddedOrChangedPostponed;
-
-        // Own: Manages runtime variated features
-        CFileManagerFeatureManager* iFeatureManager;
-        
-        // Ref: Handle to current ServerAppExit observer
-        MAknServerAppExitObserver* iObserver;
-        
-        //Own: Whether the file was a sis type
-        TBool iSisFile;
-
-        //Own: postpone disk event notification while disk refresh is ongoing
-        CPeriodic* iDelayedDiskEventNotify;
-    };
-
-#endif      // CFILEMANAGERENGINE_H
-            
-// End of File