filebrowser/inc/FBFileUtils.h
branchRCL_3
changeset 21 b3cee849fa46
parent 20 48060abbbeaf
child 22 fad26422216a
--- a/filebrowser/inc/FBFileUtils.h	Thu Aug 19 09:55:38 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,380 +0,0 @@
-/*
-* Copyright (c) 2009 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:  
-*
-*/
-
-
-#ifndef FILEBROWSER_FILEUTILS_H
-#define FILEBROWSER_FILEUTILS_H
-
-// INCLUDES
-#include <e32base.h>
-#include <f32file.h>
-#include <w32std.h>
-#include <badesca.h>
-#include <coedef.h>
-#include <AknServerApp.h>
-#include <msvapi.h>
-#include <AknProgressDialog.h> 
-#include <tz.h>
-
-_LIT(KIRAppPath, "z:\\sys\\bin\\irapp.exe");
-_LIT(KBTAppPath, "z:\\sys\\bin\\btui.exe");
-_LIT(KUSBAppPath, "z:\\sys\\bin\\usbclasschangeui.exe");
-_LIT(KErrRdPath, "c:\\resource\\ErrRd");
-_LIT(KErrRdDir, "c:\\resource\\");
-
-
-// FORWARD DECLARATIONS
-class CFileBrowserModel;
-class CFileBrowserFileOps;
-class CAknIconArray;
-class TAknsItemID;
-class CDocumentHandler;
-class CAknWaitDialog;
-class CAknProgressDialog;
-class CEikProgressInfo;
-class CFBFileOpClient;
-class CAknProgressDialog;
-class CEikProgressInfo;
-class CAknOpenFileService;
-class CMessageDigest;
-
-// CLASS DECLARATIONS
-
-class TSearchAttributes
-	{
-public:
-    TFileName       iSearchDir;
-    TFileName       iWildCards;
-    TFileName       iTextInFile;
-    TUint           iMinSize;
-    TUint           iMaxSize;
-    TTime           iMinDate;
-    TTime           iMaxDate;
-    TBool           iRecurse;
-	};
-
-class TDriveEntry
-	{
-public:
-    TChar           iLetter;
-    TInt            iNumber;
-    TVolumeInfo     iVolumeInfo;
-    TBuf<64>        iMediaTypeDesc;
-    TBuf<128>       iAttributesDesc;
-    TInt            iIconId;
-	};
-
-class TFileEntry
-	{
-public:
-    TFileName       iPath;
-    TEntry          iEntry;
-    TInt            iDirEntries;
-    TInt            iIconId;
-	};
-
-class TAppIcon
-	{
-public:
-    TInt            iId;
-    TUid            iUid;
-	};
-
-typedef CArrayFixSeg<TDriveEntry> CDriveEntryList;
-typedef CArrayFixSeg<TFileEntry> CFileEntryList;
-typedef CArrayFixSeg<TAppIcon> CAppIconList;
-
-
-class CCommandParamsBase : public CBase
-    {
-    };
-
-class CCommandParamsAttribs : public CCommandParamsBase
-    {
-public:
-    TFileEntry iSourceEntry;
-    TUint iSetMask;
-    TUint iClearMask;
-    TTime iTime;
-    TUint iSwitch;
-public:
-    CCommandParamsAttribs(const TFileEntry& aSourceEntry, TUint aSetMask, TUint aClearMask, const TTime& aTime, TUint aSwitch) : iSourceEntry(aSourceEntry), iSetMask(aSetMask), iClearMask(aClearMask), iTime(aTime), iSwitch(aSwitch) {}
-    };
-    
-class CCommandParamsCopyOrMove : public CCommandParamsBase
-    {
-public:
-    TFileEntry iSourceEntry;
-    TFileName iTargetPath;
-    TUint iSwitch;
-public:
-    CCommandParamsCopyOrMove(const TFileEntry& aSourceEntry, const TDesC& aTargetPath, TUint aSwitch) : iSourceEntry(aSourceEntry), iTargetPath(aTargetPath), iSwitch(aSwitch) {}
-    };
-        
-class CCommandParamsRename : public CCommandParamsBase
-    {
-public:
-    TFileEntry iSourceEntry;
-    TFileName iTargetPath;
-    TUint iSwitch;
-public:
-    CCommandParamsRename(const TFileEntry& aSourceEntry, const TDesC& aTargetPath, TUint aSwitch) : iSourceEntry(aSourceEntry), iTargetPath(aTargetPath), iSwitch(aSwitch) {}
-    };
-
-class CCommandParamsDelete : public CCommandParamsBase
-    {
-public:
-    TFileEntry iSourceEntry;
-    TUint iSwitch;
-public:
-    CCommandParamsDelete(const TFileEntry& aSourceEntry, TUint aSwitch) : iSourceEntry(aSourceEntry), iSwitch(aSwitch) {}
-    };
-
-class CCommandParamsDriveSnapShot : public CCommandParamsBase
-    {
-public:
-    TInt iSourceDriveLetter;
-    TInt iTargetDriveLetter;
-public:
-    CCommandParamsDriveSnapShot(TChar aSourceDriveLetter, TChar aTargetDriveLetter) : iSourceDriveLetter(aSourceDriveLetter), iTargetDriveLetter(aTargetDriveLetter) {}
-    };
-    
-class TCommand
-    {
-public:
-    TInt iCommandId;
-    CCommandParamsBase* iParameters;
-public:
-    TCommand(TInt aCommandId, CCommandParamsBase* aParameters) : iCommandId(aCommandId), iParameters(aParameters) {}
-    };
-
-typedef CArrayFixSeg<TCommand> CCommandArray;
-
-
-
-class CFileBrowserFileUtils : public CActive, public MAknServerAppExitObserver, public MMsvSessionObserver, public MProgressDialogCallback 
-	{
-private:
-    enum TState // active object states
-    	{
-    	EIdle = 0,              // do nothing
-    	};
-
-    enum TClipBoardMode
-    	{
-    	EClipBoardModeCut = 0,
-    	EClipBoardModeCopy
-    	};
-
-    enum TListingMode
-    	{
-    	ENormalEntries = 0,
-    	ESearchResults,
-    	EOpenFiles,
-    	EMsgAttachmentsInbox,
-    	EMsgAttachmentsDrafts,
-    	EMsgAttachmentsSentItems,
-    	EMsgAttachmentsOutbox
-    	};
-    	    	
-public:
-	static CFileBrowserFileUtils* NewL(CFileBrowserModel* aModel);
-	~CFileBrowserFileUtils();
-
-private:
-	CFileBrowserFileUtils(CFileBrowserModel* aModel);
-	void ConstructL();
-
-private: // from CActive
-	void RunL();
-    TInt RunError(TInt aError);
-	void DoCancel();
-
-private: // from MAknServerAppExitObserver
-    void HandleServerAppExit(TInt aReason);
-
-private: // from MMsvSessionObserver
-    void HandleSessionEventL(TMsvSessionEvent aEvent, TAny* aArg1, TAny* aArg2, TAny* aArg3);
-
-private:  //from MProgressDialogCallback
-    void DialogDismissedL(TInt aButtonId);  
-    
-private: // command handling
-    void StartExecutingCommandsL(const TDesC& aLabel);
-    void ExecuteCommand();
-    void CheckForMoreCommandsL();
-    void AppendToCommandArrayL(TInt aCommand, CCommandParamsBase* aParameters);
-    TInt CommandArrayCount() const;
-    void ResetCommandArray();       
-
-private: // misc functionality
-    void GenerateDirectoryDataL();
-    void GetDriveListL();
-    void GetDirectoryListingL();
-    CAknIconArray* GenerateIconArrayL(TBool aGenerateNewBasicIconArray=EFalse);
-    void AppendGulIconToIconArrayL(CAknIconArray* aIconArray, const TDesC& aIconFile, TInt aIconId, TInt aMaskId, const TAknsItemID aAknsItemId);
-    TInt AppIconIdForUid(TUid aUid);
-    TUid GetAppUid(TFileEntry aFileEntry);
-    CDesCArray* GenerateItemTextArrayL();
-    TInt GetSelectedItemsOrCurrentItemL(CFileEntryList* aFileEntryList);
-    void DoCopyToFolderL(CFileEntryList* aEntryList, const TDesC& aTargetDir, TBool aDeleteSource);
-    TInt DoSearchFiles(const TDesC& aFileName, const TDesC& aPath);
-    TInt DoSearchFilesRecursiveL(const TDesC& aFileName, const TDesC& aPath);
-    TInt DoFindFiles(const TDesC& aFileName, const TDesC& aPath);
-    TInt DoFindFilesRecursiveL(const TDesC& aFileName, const TDesC& aPath);
-    void ReadAttachmentPathsRecursiveL(CMsvSession* aSession, CMsvEntry* aContext, CDesCArray* aAttPaths);
-    void WriteMessageEntryInfoRecursiveL(CMsvSession* aSession, CMsvEntry* aContext, RFile& aFile, TInt& aLevel);
-    void DoWriteMessageEntryInfoL(CMsvEntry* aContext, RFile& aFile, TInt aLevel);
-    void ConvertCharsToPwd(TDesC& aWord, TDes8& aConverted) const;
-    HBufC8* MessageDigestInHexLC(CMessageDigest* aMD, RFile& aFile);
-    void OpenCommonFileActionQueryL();
-    
-public: // public interfaces
-    TKeyResponse HandleOfferKeyEventL(const TKeyEvent& aKeyEvent, TEventCode aType);
-    void HandleSettingsChangeL();
-    void SetSortModeL(TInt aSortMode);
-    void SetOrderModeL(TInt aOrderMode);
-    void RefreshViewL();
-    TBool IsCurrentDriveReadOnly();
-    TBool IsCurrentItemDirectory();
-    void MoveUpOneLevelL();
-    void MoveDownToDirectoryL();
-    void ClipboardCutL();
-    void ClipboardCopyL();
-    void ClipboardPasteL();
-    void CopyToFolderL(TBool aMove=EFalse);
-    void DeleteL();
-    void TouchL();
-    void RenameL();
-    void SetAttributesL();
-    void SearchL();
-    void NewFileL();
-    void NewDirectoryL();
-    void SendToL();
-    void CompressL();
-    void DecompressL();
-    void PropertiesL();
-    void OpenWithApparcL();
-    void OpenWithDocHandlerL(TBool aEmbed);
-    void OpenWithFileServiceL();
-    TBool FileExists(const TDesC& aPath);
-    TInt LaunchProgramL(const TDesC& aPath);
-    void MemoryInfoPopupL();
-    void ShowFileCheckSumsL(TInt aType);
-    void SetErrRdL(TBool aEnable);
-    void EnableAvkonIconCacheL(TBool aEnable);
-    void SimulateLeaveL();
-    void SimulatePanicL();
-    void SimulateExceptionL();
-    void SetDebugMaskL();
-    void WriteAllAppsL();
-    void WriteAllFilesL();
-    void ListOpenFilesL();
-    void ListMessageAttachmentsL(TInt aType);
-    void WriteMsgStoreWalkL();
-    void FileEditorL(TInt aType);
-    void SetDrivePasswordL();
-    void UnlockDriveL();
-    void ClearDrivePasswordL();
-    void EraseDrivePasswordL();
-    void FormatDriveL(TBool aQuickFormat);
-    void CheckDiskL();
-    void ScanDriveL();
-    void SetDriveNameL();
-    void SetDriveVolumeLabelL();
-    void EjectDriveL();
-    void DismountFileSystemL();
-    void EraseMBRL();
-    void PartitionDriveL();
-    TBool DriveSnapShotPossible();
-    void DriveSnapShotL();
-    void EditDataTypesL();
-    void SecureBackupL(TInt aType);
-    
-public:    
-    inline TInt SortMode() { return iSortMode; }
-    inline TInt OrderMode() { return iOrderMode; }
-    inline CFileEntryList* ClipBoardList() { return iClipBoardList; }
-    inline TBool IsDriveListViewActive() { return iCurrentPath==KNullDesC && iListingMode==ENormalEntries; }
-    inline TBool IsNormalModeActive() { return iListingMode==ENormalEntries; }
-
-private:
-	TState                          iState;
-    CFileBrowserModel*              iModel;
-    CFileBrowserFileOps*            iFileOps;
-    CAknWaitDialog*                 iWaitDialog;
-    CAknProgressDialog*             iProgressDialog;
-    CEikProgressInfo*               iProgressInfo;
-    CCommandArray*                  iCommandArray;
-    TInt                            iCurrentEntry;
-    TInt                            iSucceededOperations;
-    TInt                            iFailedOperations;
-    TInt                            iLastError;
-    RTimer                          iTimer;
-	RFs                             iFs;
-	TListingMode                    iListingMode;
-	CFileMan*                       iFileMan;
-	TInt                            iViewMode;
-    TFileName                       iCurrentPath;
-    TInt                            iSortMode;
-    TInt                            iOrderMode;
-    TInt                            iClipboardMode;
-    CDesCArray*                     iClipboardPaths;
-    CDriveEntryList*                iDriveEntryList;
-    CFileEntryList*                 iFileEntryList;
-    CFileEntryList*                 iFindFileEntryList;
-    CAppIconList*                   iAppIconList;
-    TClipBoardMode                  iClipBoardMode;
-    CFileEntryList*                 iClipBoardList;
-    TSearchAttributes               iSearchAttributes;
-    CDocumentHandler*               iDocHandler;
-    CAknOpenFileService*		    iOpenFileService;
-    RFile                           iMsgStoreWalkFile;
-    TInt                            iPrevFolderIndex;
-    TFileName                       iPrevFolderName;
-    RTz                             iTz;
-    };
-
-
-// utility class for waiting for asychronous requests
-class CAsyncWaiter : public CActive
-	{
-public:
-	static CAsyncWaiter* NewL( TInt aPriority = EPriorityStandard );
-	static CAsyncWaiter* NewLC( TInt aPriority = EPriorityStandard );
-	~CAsyncWaiter();
-	
-	void StartAndWait();
-	TInt Result() const;
-	
-private:
-	CAsyncWaiter( TInt aPriority );
-	
-	// from CActive
-	void RunL();
-	void DoCancel();
-	
-private:
-    CActiveSchedulerWait iWait;
-	TInt iError;
-	};
-	
-	
-#endif
-
-// End of File
-