/*
* 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_*/