creator/inc/creator_messageelement.h
changeset 0 d6fe6244b863
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/creator/inc/creator_messageelement.h	Tue Feb 02 00:17:27 2010 +0200
@@ -0,0 +1,92 @@
+/*
+* 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 CREATORMESSAGEELEMENT_H_
+#define CREATORMESSAGEELEMENT_H_
+
+#include "creator_scriptelement.h"
+#include "creator_message.h"
+
+namespace creatormsg
+{
+    _LIT(KMessage, "message");
+    _LIT(KType, "type");
+    _LIT(KTo, "to");
+    _LIT(KFrom, "from");
+    _LIT(KFolder, "folder");
+    _LIT(KSubject, "subject");
+    _LIT(KText, "text");
+    _LIT(KAttachmentPath, "attachmentpath");
+    _LIT(KAttachmentId, "attachmentid");
+    _LIT(KStatus, "status");
+    _LIT(KSms, "sms");
+    _LIT(KMms, "mms");
+    _LIT(KAms, "ams");
+    _LIT(KEmail, "email");
+    _LIT(KSmart, "smart");
+    _LIT(KBt, "bt");
+    _LIT(KIr, "ir");
+    _LIT(KSent, "sent");
+    _LIT(KInbox, "inbox");
+    _LIT(KDraft, "draft");
+    _LIT(KOutbox, "outbox");
+    _LIT(KMailbox, "mailbox");
+    _LIT(KRead, "read");
+    _LIT(KNew, "new");
+}
+
+/*
+ * Builds message parameters from the parsed script and adds a command to the engine 
+ */
+class CCreatorMessageElement : public CCreatorScriptElement
+{
+public:
+    static CCreatorMessageElement* NewL(CCreatorEngine* aEngine, const TDesC& aName, const TDesC& aContext = KNullDesC);
+    void ExecuteCommandL();
+protected:    
+    CCreatorMessageElement(CCreatorEngine* aEngine);
+    /*
+     * Creates message address. The address type is based on the message type.
+     * @return Phone number string for SMS, MMS, AMS and Smart messages. Email address for other types.
+     * @param msgType Message type.
+     */
+    HBufC* CreateMessageAddressLC(const TDesC& msgType);
+    /*
+     * Sets message type to parameters
+     * @param aParameters Message parameters
+     * @param aMsgTypeStr Message type string
+     */
+    void SetMessageTypeL(CMessagesParameters& aParameters, const TDesC& aMsgTypeStr ) const;
+    /*
+     * Gets length of the random data
+     * @return Length of the random data
+     * @param aRandomLenStr String defining the random length (from the script)
+     * @param aMsgType Message type string
+     */
+    TInt GetRandomBodyLengthL(const TDesC& aRandomLenStr, const TDesC& aMsgType ) const;
+    /*
+     * Gets maximum length of the body text
+     * @return Maximum length of the body text
+     * @param aMsgType Message type string
+     */
+    TInt GetMaxBodyLength( const TDesC& aMsgType ) const;
+
+};
+    
+
+#endif /*CREATORMESSAGEELEMENT_H_*/