diff -r 000000000000 -r d6fe6244b863 creator/inc/creator_modulebase.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/creator/inc/creator_modulebase.h Tue Feb 02 00:17:27 2010 +0200 @@ -0,0 +1,114 @@ +/* +* 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 __CREATOR_MODULEBASE_H__ +#define __CREATOR_MODULEBASE_H__ + +#include + +// Dictionary uids for each Creator module. +// Dictionaries are for storing item identifiers created by Creator. +// Item identifiers are for enabling deletion of only items created by Creator. +const TUid KUidDictionaryUidContacts = { 0x00 }; +const TUid KUidDictionaryUidContactGroups = { 0x01 }; +const TUid KUidDictionaryUidCalendar = { 0x02 }; +const TUid KUidDictionaryUidBrowserBookmarks = { 0x03 }; +const TUid KUidDictionaryUidFiles = { 0x04 }; +const TUid KUidDictionaryUidLogs = { 0x05 }; +const TUid KUidDictionaryUidMessages = { 0x06 }; +const TUid KUidDictionaryUidMailbox = { 0x07 }; +const TUid KUidDictionaryUidIAP = { 0x08 }; +const TUid KUidDictionaryUidIMPS = { 0x09 }; +const TUid KUidDictionaryUidNotes = { 0x0A }; +const TUid KUidDictionaryUidLandmarks = { 0x0B }; +const TUid KUidDictionaryUidBrowserSavedPg = { 0x0C }; +const TUid KUidDictionaryUidBrowserBookmarkF = { 0x0D }; +const TUid KUidDictionaryUidBrowserSavedPgF = { 0x0E }; + +class CCreatorEngine; +class MCreatorModuleBaseParameters; +class CCommandParser; + +class MCreatorModuleBase + { +public: + +private: + // constructs the module, add "iEngine = aEngine" and other construction stuff to the body + virtual void ConstructL(CCreatorEngine* aEngine) = 0; + +public: + // this one is called when user select some features directly from menu, not running a script + // should call CreateRandomData() function + // returns ETrue when success, EFalse when user has cancelled + virtual TBool AskDataFromUserL(TInt aCommand, TInt& aNumberOfEntries) = 0; + virtual void DeleteAllL() = 0; + virtual void DeleteAllCreatedByCreatorL() = 0; + +public: + CCreatorEngine* iEngine; + +private: + + }; + + +class MCreatorModuleBaseParameters + { + // a base class for the parameters, no default implementation + + public: + enum TParseParams + { + EParamNone = 0, + ECalendarMeeting, + ECalendarMemo, + ECalendarAnniv, + ECalendarTodo + }; + +public: + virtual void ParseL(CCommandParser* /*aParser*/, TParseParams /*aCase = 0*/) = 0; + + + }; + +// Following struct represents the parameters that links for example contact groups +// to contac-sets. +typedef struct + { + TInt iLinkId; // ID + TInt iLinkAmount; // Amount of elements in linked set + } TLinkIdParam; + + +class CCreatorModuleBaseParameters : public CBase, public MCreatorModuleBaseParameters + { + public: + virtual void ParseL(CCommandParser* /*aParser*/, TParseParams /*aCase = 0*/){}; + virtual TInt ScriptLinkId() const {return -1;}; + virtual void SetScriptLinkId(TInt) {}; + // a base class for the parameters, no default implementation + }; + + + + +#endif // __CREATOR_MODULEBASE_H__ + \ No newline at end of file