diff -r ba8a586c45f1 -r c20154ccf3c0 creator/inc/engine.h --- a/creator/inc/engine.h Fri Jun 11 16:29:34 2010 +0100 +++ b/creator/inc/engine.h Thu Jul 22 16:33:59 2010 +0100 @@ -22,14 +22,15 @@ // INCLUDES #include #include -#include -#include +#include +#include +#include +#include //#include #include #include #include -//#include //#include #include #include @@ -37,18 +38,6 @@ #include "creator.hrh" #include "creator_std.h" -#include "creator_scriptentry.h" -#include "creator_modulebase.h" -#include "creator_browser.h" -#include "creator_calendar.h" -#include "creator_phonebookbase.h" -#include "creator_note.h" -#include "creator_log.h" -#include "creator_connectionmethodbase.h" -#include "creator_mailbox.h" -//#include "creator_imps.h" -#include "creator_message.h" -#include "creator_landmark.h" #include "creator_randomdataparser.h" //class CCreatorAppUi; @@ -57,17 +46,21 @@ class CCreatorCalendarBase; class CCreatorNotepad; class CCreatorLogs; -class CCreatorAccessPoints; +//class CCreatorAccessPoints; class CCreatorMailboxes; class CCreatorIMPS; class CCreatorFiles; class CCreatorMessages; class CCreatorLandmarks; +class MCreatorModuleBase; +class CCreatorPhonebookBase; +class CCreatorModuleBaseParameters; +//class CCreatorConnectionSettingsBase; class CDictionaryFileStore; class CImageDecoder; class CFbsBitmap; class CBitmapScaler; - +class CCommandParser; class EngineWrapper; class CCreatorCmdScriptRun; @@ -85,27 +78,79 @@ R_ATTACHMENT_SINGLE_SELECTION_QUERY }; +/* + * Interface for UI dialogs + */ +class MUIObserver + { +public: + /** + * Called when some dialog in UI is closed + * + * @since S60 10.1 + * @param aPositiveAction ETrue if "Ok", "Yes" or other "positive" button was pressed + * @param aUserData number that was passed to UI before dialog was opened + * @return None. + */ + virtual void QueryDialogClosedL(TBool aPositiveAction, TInt aUserData) = 0; + + }; + +/* + * Interface for CCommandParser + */ +class MCommandParserObserver + { +public: + /** + * Called when CCommandParser user has choosen script file + * + * @since S60 10.1 + * @param aSuccess ETrue if "Ok", "Yes" or other "positive" button was pressed + * @param aFileName filename chosen by user + * @return None. + */ + virtual void ScriptChosenL(TBool aSuccess, const TDesC& aFileName = KNullDesC) = 0; + + /** + * Called when CCommandParser user has choosen random data file + * + * @since S60 10.1 + * @param aSuccess ETrue if "Ok", "Yes" or other "positive" button was pressed + * @param aFileName filename chosen by user + * @return None. + */ + virtual void RandomDataFileChosenL(TBool aSuccess, const TDesC& aFileName = KNullDesC) = 0; + }; + /** * Device memory information */ class TMemoryDetails { public: - TBuf<16> iCFree; - TBuf<16> iDFree; - TBuf<16> iEFree; - TBuf<16> iHFree; - TBuf<16> iCSize; - TBuf<16> iDSize; + + TBuf<16> iFree; + TBuf<16> iSize; + TChar iDriveLetter; + + TBuf<16> iRamFree; + TBuf<16> iRomFree; + TBool iENotAvailable; - TBuf<16> iESize; - TBuf<16> iHSize; + + TBuf<16> iRamSize; + TBuf<16> iRomSize; }; // Common constant for undefined integer value: const TInt KUndef = KErrNotFound; -class CCreatorEngine : public CActive +class CCreatorEngine : public CActive, public MUIObserver, public MCommandParserObserver { +enum ECreatorEngineState{ + ECreatorEngineDeleteAllEntries, + ECreatorEngineDeleteAllCreatorEntries, +}; public: enum TRandomStringType @@ -196,6 +241,7 @@ static CCreatorEngine* NewLC(EngineWrapper *aEngineWrapper); ~CCreatorEngine(); + inline RPointerArray GetMemoryDetailsList(){ return iMemoryDetailsList; }; inline TMemoryDetails GetMemoryDetails(){ return iMemoryDetails; }; inline EngineWrapper* GetEngineWrapper(){ return iEngineWrapper; }; @@ -213,10 +259,8 @@ TInt RunError(TInt aError); void DoCancel(); - void ExecuteFirstCommandL(const TDesC& aText); void ExecuteCommand(); void StartEnginesL(); - void ShutDownEnginesL(); void CheckForMoreCommandsL(); TBool IsDeleteCommand( TInt aCommand ); @@ -228,11 +272,45 @@ void GenerateSourceImageFileL( const TTestDataPath aFileType, const TDesC& aFileName ); void GenereteSourceTextFileL( const TDesC& aFileName, TInt aSize ); +public: // from MUIObserver + /** + * Called when some dialog in UI is closed + * + * @since S60 10.1 + * @param aPositiveAction ETrue if "Ok", "Yes" or other "positive" button was pressed + * @param aUserData number that was passed to UI before dialog was opened + * @return ?description + */ + virtual void QueryDialogClosedL(TBool aPositiveAction, TInt aUserData); + +public: // from MCommandParserObserver + /** + * Called when CCommandParser user has choosen script file + * + * @since S60 10.1 + * @param aSuccess ETrue if "Ok", "Yes" or other "positive" button was pressed + * @param aFileName filename chosen by user + * @return None. + */ + virtual void ScriptChosenL(TBool aSuccess, const TDesC& aFileName = KNullDesC); + + /** + * Called when CCommandParser user has choosen random data file + * + * @since S60 10.1 + * @param aSuccess ETrue if "Ok", "Yes" or other "positive" button was pressed + * @param aFileName filename chosen by user + * @return None. + */ + virtual void RandomDataFileChosenL(TBool aSuccess, const TDesC& aFileName = KNullDesC); + public: void ExecuteOptionsMenuCommandL(TInt aCommand); void RunScriptL(); TInt RunScriptL(const TDesC& aScriptFile); - + void ShutDownEnginesL(); + void ExecuteFirstCommandL(const TDesC& aText); + void AppendToCommandArrayL(TInt aCommand, CCreatorModuleBaseParameters* aParameters, TInt aNumberOfEntries = 1); TInt CommandArrayCount(); @@ -280,7 +358,7 @@ void SetDefaultPathForFileCommandL(TInt aCommand, TFileName& aPath); - TBool GetRandomDataFilenameL(TDes& aFilename); + TBool GetRandomDataL(); TBool GetRandomDataFromFileL(const TDesC& aFilename); void CancelComplete(); CDictionaryFileStore* FileStoreLC(); @@ -290,6 +368,8 @@ void WriteEntryIdsToStoreL( RArray& aEntryIds, const TUid aModuleUid ); void RemoveStoreL( const TUid aModuleUid ); void ProgressDialogCancelledL(); + + void SortCommands(); private: // needed by the engine itself @@ -297,7 +377,6 @@ CEikonEnv* iEnv; //CCreatorAppUi* iAppUi; TInt iCurrentEntry; - TInt iEntriesToBeCreated; TInt iFailedCommands; CDesCArrayFlat* iSoundFileArray; @@ -331,13 +410,14 @@ CCreatorPhonebookBase* iPhonebook; CCreatorNotepad* iNotepad; CCreatorLogs* iLogs; - CCreatorConnectionSettingsBase* iAccessPoints; +// CCreatorConnectionSettingsBase* iAccessPoints; CCreatorMailboxes* iMailboxes; CCreatorIMPS* iIMPS; CCreatorFiles* iFiles; CCreatorMessages* iMessages; CCreatorLandmarks* iLandmarks; CCreatorCmdScriptRun* iCmdScriptRun; + CCommandParser* iCommandParser; // options menu command home module MCreatorModuleBase* iUsedOptionsMenuModule; @@ -359,6 +439,9 @@ EngineWrapper* iEngineWrapper; // Enginewrapper that is used for communicating between QT and Symbian TMemoryDetails iMemoryDetails; + + RPointerArray iMemoryDetailsList; + TInt iResourceFileId; HBufC* iCommandLineScriptName;