creator/inc/creator_model.h
branchRCL_3
changeset 19 b3cee849fa46
parent 18 48060abbbeaf
child 20 fad26422216a
--- a/creator/inc/creator_model.h	Thu Aug 19 09:55:38 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,455 +0,0 @@
-/*
-* Copyright (c) 2008 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 __CREATORENGINE_H__
-#define __CREATORENGINE_H__
-
-
-#include "creator_appui.h"
-#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"
-
-#include <e32base.h>
-#include <aknenv.h>
-#include <coeutils.h>
-#include <apparc.h>
-#include <eikenv.h>
-#include <AknProgressDialog.h>
-#include <eikprogi.h>
-#include <bautils.h>
-#include <commdb.h>
-#include <imageconversion.h> //TFrameInfo
-
-class CCreatorAppUi;
-class TCommand;
-class CCreatorBrowser;
-class CCreatorCalendarBase;
-class CCreatorNotepad;
-class CCreatorLogs;
-class CCreatorAccessPoints;
-class CCreatorMailboxes;
-class CCreatorIMPS;
-class CCreatorFiles;
-class CCreatorMessages;
-class CCreatorLandmarks;
-class CDictionaryFileStore;
-class CImageDecoder;
-class CFbsBitmap;
-class CBitmapScaler;
-
-// Common constant for undefined integer value:
-const TInt KUndef = KErrNotFound;
-
-class CCreatorEngine : public CActive, public MProgressDialogCallback 
-	{
-public:
-    
-    enum TRandomStringType
-        {
-        EFirstName = 0,
-        ESurname,
-        ECompany,
-        EAddress,
-        EJobTitle,
-        EPhoneNumber,
-        EGroupName,
-        EMeetingReason,
-        EMeetingPlace,
-        EMemoText,
-        EAnniversaryReason,
-        EToDoText,
-        EReminderText,
-        EMessageSubject,
-        EMessageText,
-        ECity,
-        ECountry,
-        EPostcode,        
-        EState,
-        EPobox,
-        EPrefix,
-        ESuffix,
-        ELandmarkName,
-        ELandmarkDescription
-        };
-
-
-// note! changing order will cause regression in other modules
-
-    enum TTestDataPath
-        {
-        EJPEG_25kB = 0,
-        EJPEG_200kB,
-        EJPEG_500kB,
-        EPNG_15kB,
-        EGIF_2kB,
-        ERNG_1kB,
-        EMIDI_10kB,
-        EWAVE_20kB,
-        EAMR_20kB,
-        EExcel_15kB,
-        EWord_20kB,
-        EPowerPoint_40kB,
-        EText_10kB,
-        EText_70kB,
-        E3GPP_70kB,
-        EMP3_250kB,
-        EAAC_100kB,
-        ERM_95kB,
-        EBMP_25kB,
-        EHTML_20kB,
-        EJAD_1kB,
-        EJAR_10kB,
-        EJP2_65kB,
-        EMP4_200kB,
-        EMXMF_40kB,
-        ERAM_1kB,
-        ESVG_15kB,
-        ESWF_15kB,
-        ETIF_25kB,
-        EVCF_1kB,
-        EVCS_1kB,
-        ESISX_10kB,
-        EWMA_50kB,
-        EWMV_200kB,
-        ESavedDeck_1kB,
-        LAST_FILE_ID//When you add new items to enum, add them before last item, so random number generations does not need to be updated also         
-        };
-        
-    enum TRandomDateType
-        {
-        EDatePast,
-        EDateFuture    
-        };
-
-public:
-    static CCreatorEngine* NewL(CCreatorAppUi* aAppUi);
-    ~CCreatorEngine();
-
-private:
-    CCreatorEngine();
-    void ConstructL(CCreatorAppUi* aAppUi);
-    void Init();
-    void RunL();
-    TInt RunError(TInt aError);
-    void DoCancel();
-
-    void ExecuteFirstCommandL(const TDesC& aText);
-    void ExecuteCommand();
-    void StartEnginesL();
-    void ShutDownEnginesL();
-    void CheckForMoreCommandsL();
-    void DialogDismissedL(TInt aButtonId);  //from MProgressDialogCallback 
-    
-    TBool IsDeleteCommand( TInt aCommand );
-    
-    TInt ReadRandomDataL(const TRandomStringType aRandomStringType,
-    		             const TInt aResourceId,
-    		             const TDesC& aFilename,
-    		             const CCreatorRandomDataParser::TRandomDataType aRandomDataType);
-    void GenerateSourceImageFileL( const TTestDataPath aFileType, const TDesC& aFileName );
-    void GenereteSourceTextFileL( const TDesC& aFileName, TInt aSize );
-
-public:
-    void ExecuteOptionsMenuCommandL(TInt aCommand);
-    void RunScriptL();
-    TInt RunScriptL(const TDesC& aScriptFile);
-
-    void AppendToCommandArrayL(TInt aCommand, CCreatorModuleBaseParameters* aParameters, TInt aNumberOfEntries = 1);
-    TInt CommandArrayCount();
-
-    TBool EntriesQueryDialogL(TInt& aNumberOfEntries, const TDesC& aPrompt, TBool aAcceptsZero=EFalse);
-    TBool TimeQueryDialogL(TTime& aTime, TInt aResourceId);
-    TBool YesNoQueryDialogL(const TDesC& aPrompt);
-    
-    TPtrC TestDataPathL(enum TTestDataPath aTestDataPath);
-    TPtrC RandomSoundFileL(); // Returns temporary path, which will be removed on shutdown 
-    TPtrC RandomPictureFileL();  // Returns temporary path, which will be removed on shutdown
-    TPtrC CreateRandomSoundFileL(); // Copies file to new location and returns the new path
-    TPtrC CreateSoundFileL(TTestDataPath aId); // Copies file to new location and returns the new path
-    
-    void CopyFileL(const TFileName& aSourceFile, const TFileName& aTargetFile, TBool aOverwrite = EFalse );
-    /*
-     * Gets attacment file id based on the file id string
-     * @return Attachment file id
-     * @param aAttachmentIdStr Attachment file id string
-     */
-    TInt GetAttachmentIdL( const TDesC& aAttachmentIdStr ) const;    
-
-    TUint32 GetDefaultIAPL();
-    TUint32 AccessPointNameToIdL(const TDesC& aAPName, TBool aAnyIfNotFound = EFalse );
-
-    TPtrC RandomString(enum TRandomStringType aRandomStringType);    
-    TInt RandomNumber(TInt aRange);
-    TInt RandomNumber(TInt aMin, TInt aMax);
-    TTime RandomDate(TRandomDateType type, TInt aMinDays = 0, TInt aMaxDays = 360 );
-    TTime RandomDate(TTime baseTime, TRandomDateType type, TInt aMinDays = 0, TInt aMaxDays = 360);  
-    TTime RandomTime(TTime baseTime, TRandomDateType type, TInt aMinHours=0, TInt aMaxHours=24, TInt aMinMinutes=0, TInt aMaxMinutes=60 );
-    CDesCArrayFlat* SoundFilesL();
-    CDesCArrayFlat* PictureFilesL();
-    
-    HBufC* CreateEmailAddressLC();
-    HBufC* CreateHTTPUrlLC();
-    HBufC* CreateRandomStringLC(TInt aStrLen);
-    
-    HBufC* CreateEmailAddressLC(
-            const TDesC& firstname,
-            const TDesC& lastname,
-            const TDesC& domain,
-            const TDesC& country ) const;
-    
-    HBufC* CreateUrlLC(
-            const TDesC& protocol,
-            const TDesC& prefix,
-            const TDesC& domain,
-            const TDesC& country) const;
-    
-    void SetDefaultPathForFileCommandL(TInt aCommand, TFileName& aPath);
-
-    TBool GetRandomDataFilenameL(TDes& aFilename);
-    TBool GetRandomDataFromFileL(const TDesC& aFilename);
-    void CancelComplete();
-    CDictionaryFileStore* FileStoreLC();
-    void ReadEntryIdsFromStoreL( RArray<TInt>& aEntryIds, const TUid aModuleUid );
-    void WriteEntryIdsToStoreL( RArray<TInt>& aEntryIds, const TUid aModuleUid );
-    void ReadEntryIdsFromStoreL( RArray<TUint32>& aEntryIds, const TUid aModuleUid );
-    void WriteEntryIdsToStoreL( RArray<TUint32>& aEntryIds, const TUid aModuleUid );
-    void RemoveStoreL( const TUid aModuleUid );
-    
-private:
-    // needed by the engine itself
-    RTimer iTimer;
-    CEikonEnv* iEnv;
-    CCreatorAppUi* iAppUi;
-    TInt iCurrentEntry;
-    TInt iEntriesToBeCreated;
-    TInt iFailedCommands;
-
-    CDesCArrayFlat* iSoundFileArray;
-    CDesCArrayFlat* iPictureFileArray;
-    CCommandArray* iCommandArray;
-    RPointerArray<CCreatorModuleBaseParameters> iParameterArray;
-    // progress bar
-    CAknProgressDialog* iProgressDialog;
-    CEikProgressInfo* iProgressInfo;
-        
-    // for the random data generator
-    TInt64 iSeed;
-    
-    class TStringArrayPtr
-        {
-        public:
-        TStringArrayPtr(TRandomStringType aType, CDesCArray* aPtr)
-            {
-            iStringType = aType;
-            iArrayPtr = aPtr;
-            };
-        TRandomStringType iStringType;
-        CDesCArray* iArrayPtr;
-        }; 
-    
-    RArray<TStringArrayPtr> iStringArrays;
-    
-    // modules
-    CCreatorBrowser* iBrowser;
-    CCreatorCalendarBase* iCalendar;
-    CCreatorPhonebookBase* iPhonebook;
-    CCreatorNotepad* iNotepad;
-    CCreatorLogs* iLogs;
-    CCreatorConnectionSettingsBase* iAccessPoints;
-    CCreatorMailboxes* iMailboxes;
-    CCreatorIMPS* iIMPS;
-    CCreatorFiles* iFiles;
-    CCreatorMessages* iMessages;
-    CCreatorLandmarks* iLandmarks;
-
-    // options menu command home module
-    MCreatorModuleBase* iUsedOptionsMenuModule;
-    
-    HBufC* iTempPath;
-    
-    RPointerArray<HBufC> iAllocatedFilePaths;
-    TBool iUserCancelled;
-    
-    // For generating missing bitmaps
-    HBufC8* iBitmapData;
-    CFbsBitmap* iBitmap;
-    CFbsBitmap* iScaledBitmap;
-    CImageDecoder* iDecoder;
-    TFrameInfo iFrameinfo;
-    CImageEncoder* iEncoder;
-    CFrameImageData* iFrameImageData;
-    CBitmapScaler* iScaler;
-
-public:
-
-	};
-
-// this class contains a command which will be executed
-class TCommand
-    {
-public:
-    TInt iCommandId;
-    CCreatorModuleBaseParameters* iParameters;
-public:
-    TCommand(TInt aCommandId, CCreatorModuleBaseParameters* aParameters);
-    ~TCommand();
-
-    };
-
-
-// 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;
-	};
-	
-	
-/*
- * Maps file id string (file name) to TTestDataPath (file id) and TCreatorIds (command id)
- */
-// File ids:
-	
-	_LIT(K3GPP_70KB, "3GPP-70kB");
-	_LIT(KAAC_100KB, "AAC-100kB");
-	_LIT(KAMR_20KB, "AMR-20kB");
-	_LIT(KXLS_15KB, "XLS-15kB");
-	_LIT(KGIF_2KB, "GIF-2kB");
-	_LIT(KJPEG_200KB, "JPEG-200kB");
-	_LIT(KJPEG_25KB, "JPEG-25kB");
-	_LIT(KJPEG_500KB, "JPEG-500kB");
-	_LIT(KMIDI_10KB, "MIDI-10kB");
-	_LIT(KMP3_250KB, "MP3-250kB");
-	_LIT(KPNG_15KB, "PNG-15kB");
-	_LIT(KPPT_40KB, "PPT-40kB");
-	_LIT(KRM_95KB, "RM-95kB");
-	_LIT(KRNG_1KB, "RNG-1kB");
-	_LIT(KTXT_10KB, "TXT-10kB");
-	_LIT(KTXT_70KB, "TXT-70kB");
-	_LIT(KWAV_20KB, "WAV-20kB");
-	_LIT(KDOC_20KB, "DOC-20kB");
-	_LIT(KSWF_15KB, "SWF-15kB");
-	_LIT(KJAD_1KB, "JAD-1kB");
-	_LIT(KJAR_10KB, "JAR-10kB");
-	_LIT(KTIF_25KB, "TIF-25kB");
-	_LIT(KMXMF_40KB, "MXMF-40kB");
-	_LIT(KBMP_25KB, "BMP-25kB");
-	_LIT(KJP2_25KB, "JP2-25kB");
-	_LIT(KSVG_15KB, "SVG-15kB");
-	_LIT(KHTML_20KB, "HTML-20kB");
-	_LIT(KVCF_1KB, "VCF-1kB");
-	_LIT(KVCS_1KB, "VCS-1kB");
-	_LIT(KMP4_200KB, "MP4-200kB");
-	_LIT(KSISX_10KB, "SISX-10kB");
-	_LIT(KRAM_1KB, "RAM-1kB");
-    _LIT(KDECK_1KB, "DECK-1kB");
-    _LIT(KWMA_50KB, "WMA-50kB");
-    _LIT(KWMV_200KB, "WMV-200kB");
-	
-class FileMapping
-    {
-	public:
-	FileMapping(const TDesC& aFileName, TInt aFileId, TInt aCommandId );
-	const TDesC& FileName() const;
-	TInt FileId() const;
-	TInt CommandId() const;
-
-	private:
-	const TDesC& iFileName;
-	TInt  iFileId;
-	TInt  iCommandId;
-	};
-	
-	/*
-	 * This table contains the string <-> TTestDataPath mappings for the file types
-	 */
-	static FileMapping FileMap[] = 
-	    {
-      
-	    FileMapping(K3GPP_70KB, CCreatorEngine::E3GPP_70kB, ECmdCreateFileEntry3GPP_70kB),
-	    FileMapping(KAAC_100KB, CCreatorEngine::EAAC_100kB, ECmdCreateFileEntryAAC_100kB),
-	    FileMapping(KAMR_20KB, CCreatorEngine::EAMR_20kB, ECmdCreateFileEntryAMR_20kB),
-	    FileMapping(KXLS_15KB, CCreatorEngine::EExcel_15kB, ECmdCreateFileEntryXLS_15kB),
-	    FileMapping(KGIF_2KB, CCreatorEngine::EGIF_2kB, ECmdCreateFileEntryGIF_2kB),
-	    FileMapping(KJPEG_200KB, CCreatorEngine::EJPEG_200kB, ECmdCreateFileEntryJPEG_200kB),
-	    FileMapping(KJPEG_25KB, CCreatorEngine::EJPEG_25kB, ECmdCreateFileEntryJPEG_25kB),
-	    FileMapping(KJPEG_500KB, CCreatorEngine::EJPEG_500kB, ECmdCreateFileEntryJPEG_500kB),
-	    FileMapping(KMIDI_10KB, CCreatorEngine::EMIDI_10kB, ECmdCreateFileEntryMIDI_10kB),
-	    FileMapping(KMP3_250KB, CCreatorEngine::EMP3_250kB, ECmdCreateFileEntryMP3_250kB),
-	    FileMapping(KPNG_15KB, CCreatorEngine::EPNG_15kB, ECmdCreateFileEntryPNG_15kB),
-	    FileMapping(KPPT_40KB, CCreatorEngine::EPowerPoint_40kB, ECmdCreateFileEntryPPT_40kB),
-	    FileMapping(KRM_95KB, CCreatorEngine::ERM_95kB, ECmdCreateFileEntryRM_95kB),
-	    FileMapping(KRNG_1KB, CCreatorEngine::ERNG_1kB, ECmdCreateFileEntryRNG_1kB),
-	    FileMapping(KTXT_10KB, CCreatorEngine::EText_10kB, ECmdCreateFileEntryTXT_10kB),
-	    FileMapping(KTXT_70KB, CCreatorEngine::EText_70kB, ECmdCreateFileEntryTXT_70kB),
-	    FileMapping(KWAV_20KB, CCreatorEngine::EWAVE_20kB, ECmdCreateFileEntryWAV_20kB),
-	    FileMapping(KDOC_20KB, CCreatorEngine::EWord_20kB, ECmdCreateFileEntryDOC_20kB),
-	    FileMapping(KBMP_25KB, CCreatorEngine::EBMP_25kB, ECmdCreateFileEntryBMP_25kB),
-	    FileMapping(KDECK_1KB, CCreatorEngine::ESavedDeck_1kB, ECmdCreateFileEntryDeck_1kB),
-	    FileMapping(KHTML_20KB, CCreatorEngine::EHTML_20kB, ECmdCreateFileEntryHTML_20kB),
-	    FileMapping(KJAD_1KB, CCreatorEngine::EJAD_1kB, ECmdCreateFileEntryJAD_1kB),
-	    FileMapping(KJAR_10KB, CCreatorEngine::EJAR_10kB, ECmdCreateFileEntryJAR_10kB),
-	    FileMapping(KJP2_25KB, CCreatorEngine::EJP2_65kB, ECmdCreateFileEntryJP2_65kB),
-	    FileMapping(KMP4_200KB, CCreatorEngine::EMP4_200kB, ECmdCreateFileEntryMP4_200kB),
-	    FileMapping(KMXMF_40KB, CCreatorEngine::EMXMF_40kB, ECmdCreateFileEntryMXMF_40kB),
-	    FileMapping(KRAM_1KB, CCreatorEngine::ERAM_1kB, ECmdCreateFileEntryRAM_1kB),
-	    FileMapping(KSVG_15KB, CCreatorEngine::ESVG_15kB, ECmdCreateFileEntrySVG_15kB),
-	    FileMapping(KSWF_15KB, CCreatorEngine::ESWF_15kB, ECmdCreateFileEntrySWF_15kB),
-	    FileMapping(KTIF_25KB, CCreatorEngine::ETIF_25kB, ECmdCreateFileEntryTIF_25kB),
-	    FileMapping(KVCF_1KB, CCreatorEngine::EVCF_1kB, ECmdCreateFileEntryVCF_1kB),
-	    FileMapping(KVCS_1KB, CCreatorEngine::EVCS_1kB, ECmdCreateFileEntryVCS_1kB),
-	    FileMapping(KSISX_10KB, CCreatorEngine::ESISX_10kB, ECmdCreateFileEntrySISX_10kB),
-	    FileMapping(KWMA_50KB, CCreatorEngine::EWMA_50kB, ECmdCreateFileEntryWMA_50kB),
-	    FileMapping(KWMV_200KB, CCreatorEngine::EWMV_200kB, ECmdCreateFileEntryWMV_200kB)
-	    };
-
-#endif // __CREATORENGINE_H__
-