filemanager/Engine/inc/CFileManagerUtils.h
branchRCL_3
changeset 38 491b3ed49290
parent 36 95243422089a
child 39 65326cf895ed
--- a/filemanager/Engine/inc/CFileManagerUtils.h	Thu Aug 19 09:42:45 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,409 +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:  Util methods for File Manager
-*
-*/
-
-
-
-#ifndef CFILEMANAGERUTILS_H
-#define CFILEMANAGERUTILS_H
-
-
-// INCLUDES
-#include <e32base.h>
-#include <badesca.h>
-#include <f32file.h>
-
-
-// FORWARD DECLARATIONS
-class CFileManagerMimeIconArray;
-class CFileManagerFolderArray;
-class CCommonContentPolicy;
-class CGflmNavigatorModel;
-class CGflmGroupItem;
-#if defined( __KEEP_DRM_CONTENT_ON_PHONE ) && defined ( FILE_MANAGER_USE_DISTRIBUTABLECHECKER )
- class CDistributableChecker;
-#endif // __KEEP_DRM_CONTENT_ON_PHONE && FILE_MANAGER_USE_DISTRIBUTABLECHECKER
-class CFileManagerFeatureManager;
-
-
-/**
-*  
-*  Collection of utility functions for file manager
-*
-*  @lib FileManagerEngine.lib
-*  @since 2.7
-*/
-NONSHARABLE_CLASS(CFileManagerUtils) : public CBase
-    {
-    public:
-        /**
-        * Two-phased constructors.
-        */
-        static CFileManagerUtils* NewL( 
-            RFs& aFs,
-            CGflmNavigatorModel& aNavigator,
-            CFileManagerFeatureManager& aFeatureManager );
-
-        /**
-        * Destructor.
-        */
-        ~CFileManagerUtils();
-    public: // New functions
-        
-        /**
-        * Gets the reference to open file server session
-        * @since 2.7
-        * @return reference to open file server session
-        */
-        RFs& Fs() const;
-
-        /**
-        * Checks is given file forward locked
-        * @since 2.7
-        * @param aFullPath file name with full path
-        * @return ETrue if file is forward locked, EFalse if not.
-        */
-        TBool IsForwardLockedFile( const TDesC& aFullPath );
-
-        /**
-        * Checks is given file drm protected
-        * @since 2.7
-        * @param aFullPath file name with full path
-        * @return ETrue if file is drm protected, EFalse if not.
-        */
-        TBool IsDrmProtectedFileL( const TDesC& aFullPath ) const;
-        
-        /**
-        * Gets the icon id of the item
-        * @since 2.7
-        * @param aFullPath Item with full path information
-        * @return Icon id of the item. If not found other icon id is used.
-        */
-        TInt ResolveIconL( const TDesC& aFullPath ) const;
-
-        /**
-        * Checks is given folder a default folder
-        * @since 2.7
-        * @param aFullPath Item with full path information
-        * @return ETrue if folder is default folder, EFalse if not.
-        */
-        TBool DefaultFolder( const TDesC& aFullPath ) const;
-
-        /**
-        * Checks is given file drm local data file (LDF)
-        * @since 3.1
-        * @param aFullPath file name with full path
-        * @return ETrue if file is local data file, EFalse if not.
-        */
-        TBool IsDrmLocalDataFile( const TDesC& aFullPath ) const;
-
-        /**
-        * Checks given item that can it be deleted.
-        * @since 3.1
-        * @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 the type of given item in CFileManagerItemProperties bitmask
-        * @since 3.1
-        * @param aFullPath full path to item
-        * @return CFileManagerItemProperties bitmask
-        */
-        TUint32 FileTypeL( const TDesC& aFullPath );
-
-        /**
-        * Gets the icon id of the item
-        * @since 3.1
-        * @param aItem GFLM struct of the item
-        * @return Icon id of the item. If not found other icon id is returned.
-        */
-        TInt ResolveIconL( CGflmGroupItem& aItem ) const;
-
-        /**
-        * Checks does given folder have any items with specified attributes
-        * @since 3.1
-        * @param aFs open file server session
-        * @param aFullPath folder name with full path
-        * @param aAttMask attribute mask
-        * @return ETrue if folder has any specified items, EFalse if not.
-        */
-        static TBool HasAny(
-            RFs& aFs, const TDesC& aFullPath,  TUint aAttMask );
-
-        /**
-        * Checks does given folder has any subfolder
-        * @since 3.1
-        * @param aFullPath folder name with full path
-        * @return ETrue if folder has any subfolders, EFalse if not.
-        */
-        TBool HasSubFolders( const TDesC& aFullPath ) const;
-
-        /**
-        * Checks does given folder has any files
-        * @since 3.1
-        * @param aFullPath folder name with full path
-        * @return ETrue if folder has any files, EFalse if not.
-        */
-        TBool HasFiles( const TDesC& aFullPath ) const;
-
-        /**
-        * Create default folders
-        * @since 3.2
-        * @param aDrive Drive which default folders are created
-        * @param aForced Selects forced or normal creation
-        */
-        void CreateDefaultFolders(
-            const TInt aDrive, const TBool aForced = ETrue ) const;
-
-        /**
-        * Checks is path located in remote drive
-        * @since 3.1
-        * @param aPath path to check
-        * @return ETrue if remote drive. Otherwise EFalse.
-        */
-        TBool IsRemoteDrive( const TDesC& aPath ) const;
-
-        /**
-         * Determine if given file must be protected (kept on the device)
-         * @since 3.1
-         * @param aFullPath file to check
-         * @param aIsProtected for storing result
-         * @return System wide error code
-         */
-        TInt IsDistributableFile( const TDesC& aFullPath,
-                                  TBool& aIsProtected );
-
-        /**
-        * Gets MIME type of file
-        * @since 3.1
-        * @return MIME type
-        */
-        TPtrC MimeTypeL( const TDesC& aFullPath ) const;
-
-        /**
-        * Gets drive id array with specified attribute mask
-        * @since 3.2
-        * @param aDrives array for ids
-        * @param aAttMask drive attribute match mask
-        */
-        void DriveList(
-            RArray< TInt >& aDrives, const TInt aAttMask ) const;
-
-        /**
-        * Checks is drive removable
-        * @since 3.2
-        * @param aPath path to check
-        * @return ETrue if removable drive. Otherwise EFalse
-        */
-        TBool IsRemovableDrive( const TDesC& aPath ) const;
-
-        /**
-        * Gets item full path
-        * @since 3.2
-        * @param aDir Parent directory path
-        * @param aEntry File system entry
-        * @param aFullPath Full path to item
-        */
-        static void GetFullPath(
-            const TDesC& aDir, const TEntry& aEntry, TDes& aFullPath );
-
-        /**
-        * Removes final backslash if exists
-        * @since 3.2
-        * @param aPath Directory path
-        * @return Pointer without backslash
-        */
-        IMPORT_C static TPtrC StripFinalBackslash( const TDesC& aPath );
-
-        /**
-        * Ensures final backslash exists
-        * @since 3.2
-        * @param aPath Directory path
-        */
-        IMPORT_C static void EnsureFinalBackslash( TDes& aPath );
-
-        /**
-        * Removes all directional chars if exist
-        * @since 3.2
-        * @param aText The text
-        * @return Pointer to cleaned up text, ownership is transferred
-        */
-        static HBufC* StripDirectionalCharsLC( const TDesC& aText );
-
-        /**
-        * Checks if final backslash exist
-        * @since 3.2
-        * @param aPath Directory path
-        */
-        IMPORT_C static TBool HasFinalBackslash( const TDesC& aPath );
-
-        /**
-        * Checks if file is copied/moved from internal to removable drive
-        * @since 3.2
-        * @param aFs Open file server session
-        * @param aSrcPath Source directory path
-        * @param aDstPath Destination directory path
-        * @return ETrue if from internal to removable, otherwise EFalse
-        */
-        IMPORT_C static TBool IsFromInternalToRemovableDrive(
-            RFs& aFs, const TDesC& aSrcPath, const TDesC& aDstPath );
-
-        /**
-        * Removes read only attribute if it is set for given item
-        * @since 3.2
-        * @param aFs Open file server session
-        * @param aFullPath Full path of the item
-        * @param aEntry Entry data of the item
-        * @return System wide error code
-        */
-        static TInt RemoveReadOnlyAttribute(
-            RFs& aFs, const TDesC& aFullPath, const TEntry& aEntry );
-
-        /**
-        * Removes read only attribute if it is set for given item
-        * @since 3.2
-        * @param aFs Open file server session
-        * @param aFullPath Full path of the item
-        * @return System wide error code
-        */
-        static TInt RemoveReadOnlyAttribute(
-            RFs& aFs, const TDesC& aFullPath );
-
-        /* Drive name layouts for selecting the most suitable text */
-        enum TDriveNameLayout
-            {
-            EMainLayout = 0,
-            ETitleLayout,
-            ELayoutCount  // Must be the last
-            };
-
-        /**
-        * Gets drive name and letter as combined single text.
-        * @since 5.0
-        * @param aDrive Drive number EDriveA...EDriveZ
-        * @param aLayout Text layout. See TDriveNameLayout.
-        * @return Text containing drive letter and name
-        */
-        HBufC* GetDriveNameL(
-            const TInt aDrive,
-            const TDriveNameLayout aLayout ) 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
-        */
-        HBufC* GetFormattedDriveNameLC(
-            const TInt aDrive,
-            const TInt aTextIdForDefaultName,
-            const TInt aTextIdForName ) const;
-
-        /**
-        * Checks is path located in remote drive
-        * @since 3.2
-        * @param aFs Open file server session
-        * @param aPath path to check
-        * @return ETrue if remote drive, otherwise EFalse
-        */
-        IMPORT_C static TBool IsRemoteDrive( RFs& aFs, const TDesC& aPath );
-
-        /**
-        * Returns localized name of the given item
-        * @since 3.2
-        * @param aFullPath full path to item which is checked
-        * @returns TPtrC reference to localized name,
-        *          KNullDesC if no localization is used
-        */
-        TPtrC LocalizedName( const TDesC& aFullPath ) const;
-
-        /**
-        * Checks is name found, the comparison includes localized folder names
-        * @since 3.2
-        * @param aFullPath full path to item which is checked
-        * @returns ETrue if name is found, otherwise EFalse. 
-        */
-        TBool IsNameFoundL( const TDesC& aFullPath ) const;
-        
-        /**
-        * Flush Cache
-        */
-        void FlushCache() const;
-        
-    private:
-        /**
-        * C++ default constructor.
-        */
-        CFileManagerUtils( 
-            RFs& aFs,  
-            CGflmNavigatorModel& aNavigator,
-            CFileManagerFeatureManager& aFeatureManager );
-
-        void ConstructL();
-
-        static void IsFlkOrLdfFileL(
-            const TDesC& aFullPath, TBool& aIsFlk, TBool& aIsLdf );
-
-        static TBool IsInternalDrive( RFs& aFs, const TInt aDrive );
-
-        CDesCArray* GetDriveNameArrayLC(
-            const TInt aDrive,
-            TUint& aDriveStatus ) const;
-
-        static TBool IsDrive(
-            RFs& aFs, const TDesC& aPath, const TUint aAttMask );
-
-        static TBool IsDrive(
-            RFs& aFs, const TInt aDrive, const TUint aAttMask );
-
-    private: 
-    
-        // Ref: reference to open file server session
-        RFs&    iFs;
-
-        //Own: List of default folders
-        CFileManagerFolderArray*    iDefaultFolders;
-
-        // Own: Handle to common content policy service to find 
-        // out is file in a Closed Content List or forward locked
-        CCommonContentPolicy*       iCommonContentPolicy;
-
-        // Own: Mime icon mapper
-        CFileManagerMimeIconArray*  iMimeIconMapper;
-
-        // Ref: GFLM navigator instance
-        CGflmNavigatorModel&        iNavigator;
-
-#if defined( __KEEP_DRM_CONTENT_ON_PHONE ) && defined ( FILE_MANAGER_USE_DISTRIBUTABLECHECKER )
-        // Own: content protection checking
-        CDistributableChecker*      iDistributableChecker;
-#endif // __KEEP_DRM_CONTENT_ON_PHONE && FILE_MANAGER_USE_DISTRIBUTABLECHECKER
-
-        // Flag to indicate if feature is supported
-        TBool iDrmFullSupported;
-
-        // Ref: reference to feature manager
-        CFileManagerFeatureManager& iFeatureManager;
-
-    };
-
-#endif      // CFILEMANAGERUTILS_H
-            
-// End of File