diff -r 819e59dfc032 -r 2d9cac8919d3 filebrowser/engine/engine.h --- a/filebrowser/engine/engine.h Mon Oct 04 10:09:02 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,222 +0,0 @@ -/* -* Copyright (c) 2010 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 __ENGINE_H__ -#define __ENGINE_H__ - -// INCLUDES -#include -#include -#include - -#include "FBFileUtils.h" - -// setting keys (do not change uids of existing keys to maintain compatibility to older versions!) -const TUid KFBSettingDisplayMode = { 0x00 }; -const TUid KFBSettingFileViewMode = { 0x01 }; -const TUid KFBSettingShowSubDirectoryInfo = { 0x02 }; -const TUid KFBSettingShowAssociatedIcons = { 0x03 }; -const TUid KFBSettingRememberLastPath = { 0x04 }; -const TUid KFBSettingLastPath = { 0x05 }; - -const TUid KFBSettingSupportNetworkDrives = { 0x06 }; -const TUid KFBSettingBypassPlatformSecurity = { 0x07 }; -const TUid KFBSettingRemoveFileLocks = { 0x08 }; -const TUid KFBSettingIgnoreProtectionsAtts = { 0x09 }; -const TUid KFBSettingRemoveROMWriteProtection = { 0x0A }; - -const TUid KFBSettingFolderSelection = { 0x0B }; -const TUid KFBSettingEnableToolbar = { 0x0C }; - - -// FORWARD DECLARATIONS -class CFileBrowserFileListContainer; -class CFileBrowserScreenCapture; -class CFileBrowserFileUtils; -class CEikonEnv; -class CDictionaryFileStore; -class MFileBrowserUI; - -// CLASS DECLARATIONS - -class TFileBrowserSettings - { -public: - TInt iDisplayMode; - TInt iFileViewMode; - TBool iShowSubDirectoryInfo; - TBool iShowAssociatedIcons; - TBool iRememberLastPath; - TFileName iLastPath; - TBool iRememberFolderSelection; - TBool iEnableToolbar; - - TBool iSupportNetworkDrives; - TBool iBypassPlatformSecurity; - TBool iRemoveFileLocks; - TBool iIgnoreProtectionsAtts; - TBool iRemoveROMWriteProrection; - }; - -// INFERFACE FOR COMMUNICATION WITH UI - -class MFileBrowserUI -{ -public: -// /** -// * Method from getting current index -// * @return current index. -// */ -// virtual TInt QueryCurrentItemIndex() = 0; - - /** - * Shows info message with text - * @param A aText text to be shown in message body. - * @param A aTitle text to be shown in message title. - * @return None. - */ - virtual void ShowInformationNote(const TDesC &aDescText, const TDesC &aDescTitle) = 0; - - /** - * Shows error message with error text - * @param aText An error text to be shown in message. - * @return None. - */ - virtual void ShowErrorNote(const TDesC& aText, TBool aNoTimeout = EFalse) = 0; - - /** - * Shows confirmation message with text - * @param aText An text to be shown in message. - * @return None. - */ - virtual void ShowConfirmationNote(const TDesC& aText, TBool aNoTimeout = EFalse) = 0; - - /** - * Shows progress bar with text - * @param aText A text to be shown at top of the progress bar. - * @param aMinimum A minimum progress bar value. - * @param aMaximum A maximum progress bar value. - * @return None. - */ - virtual void ShowProgressDialog(const TDesC& aDescText, TInt aMinimum, TInt aMaximum ) = 0; - - /** - * Cancel progress dialog - * @return None. - */ - virtual void CancelProgressDialog() = 0; - - /** - * Set progress dialog value - * @param aValue A vaule to be shown at top of the progress dialog. - */ - virtual void SetProgressValue(TInt aValue) = 0; -// -// /** -// * Sets progress bar value -// * @param aValue A value between min and max value of the progress bar range -// * @return None. -// */ -// virtual void SetProgressBarValue(TInt aValue) = 0; -// -// /** -// * Hides progress bar -// * @return None. -// */ -// virtual void HideProgressBar() = 0; -// - /** - * Shows wait dialog with text - * @param aText A text to be shown at top of the wait bar. - * @return None. - */ - virtual void ShowWaitDialog(const TDesC& aText) = 0; - - /** - * Cancel wait dialog - * @return None. - */ - virtual void CancelWaitDialog() = 0; - - /** - * Processes all pending events to allow wait/progresa dialog to update itself - * @return None. - */ - virtual void ProcessEvents() = 0; - - /** - * Shows confirmation dialog - * @param aFileName String contaning file name and path - * @return ETrue if user pressed OK button, otherwise EFalse. - */ - virtual TBool ShowConfirmationQuery(const TDesC& aDescText) = 0; - - /** - * Notify wrapping model data has changed - */ - virtual void NotifyModelHasChanged() = 0; - -}; - -class CEngine : public CBase - { -public: - static CEngine* NewL(MFileBrowserUI *aFileBrowserUI); - ~CEngine(); - -private: - CEngine(); - void ConstructL(MFileBrowserUI *aFileBrowserUI); - void LoadSettingsL(); - void LoadDFSValueL(CDictionaryFileStore* aDicFS, const TUid& aUid, TInt& aValue); - void LoadDFSValueL(CDictionaryFileStore* aDicFS, const TUid& aUid, TDes& aValue); - void SaveDFSValueL(CDictionaryFileStore* aDicFS, const TUid& aUid, const TInt& aValue); - void SaveDFSValueL(CDictionaryFileStore* aDicFS, const TUid& aUid, const TDes& aValue); - -public: - void ActivateEngineL(); - void DeActivateEngineL(); - void SaveSettingsL(TBool aNotifyModules=ETrue); - TInt LaunchSettingsDialogL(); - inline TFileBrowserSettings& Settings() { return iSettings; } - inline CEikonEnv* EikonEnv() { return iEnv; } - inline RApaLsSession& LsSession() { return iLs; } - inline CFileBrowserScreenCapture* ScreenCapture() { return iScreenCapture; } - inline CFileBrowserFileUtils* FileUtils() { return iFileUtils; } - inline MFileBrowserUI* FileBrowserUI() { return iFileBrowserUI; } - - void OpenWithApparcL(TFileName aFileName); - void OpenWithDocHandlerL(TFileName aFileName, TBool aEmbed); -// TInt QueryCurrentItemIndex(); - TSearchAttributes GetSearchAttributes(); - void ChangeAttributes(TSearchAttributes attributes); - TSearchResults SearchResults(); - CFileEntryList* FoundFiles(); - void SearchL(); - -private: - MFileBrowserUI *iFileBrowserUI; - CFileBrowserScreenCapture *iScreenCapture; - CFileBrowserFileUtils *iFileUtils; - CEikonEnv* iEnv; - TFileBrowserSettings iSettings; - RApaLsSession iLs; - TBool iIsHashKeySelectionInUse; - }; - - -#endif // __ENGINE_H__