--- 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
-