diff -r 6a20128ce557 -r ebfee66fde93 messagingapp/msgutils/convergedmessageutils/inc/convergedmessageimpl.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/messagingapp/msgutils/convergedmessageutils/inc/convergedmessageimpl.h Fri Jun 04 10:25:39 2010 +0100 @@ -0,0 +1,384 @@ +/* + * Copyright (c) 2009 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: This is the implementation class for ConvergedMessage + * + */ + +#ifndef CONVERGED_MESSAGE_IMPL_H +#define CONVERGED_MESSAGE_IMPL_H + + +#include "convergedmessageattachment.h" +#include "convergedmessage.h" +#include "convergedmessageid.h" +#include "convergedmessageaddress.h" +/** + * Implementation of ConvergedMessage interface. + * Encapsulates the message data for sending services. + */ +class ConvergedMessageImpl + { +public: + + /** + * Constructor + */ + ConvergedMessageImpl( + + ConvergedMessage::MessageType messageType = ConvergedMessage::None); + + /** + * Constructor + */ + ConvergedMessageImpl(const ConvergedMessageId &id); + + /** + * Copy Constructor + */ + ConvergedMessageImpl(const ConvergedMessage& msg); + + /** + * Destructor + */ + ~ConvergedMessageImpl(); + + /** + * This shall return the convergedmessageid + * @return + */ + ConvergedMessageId* id() const; + + /** + * sets the convergedmessage id + * @param id + */ + void setMessageId(ConvergedMessageId &id); + + /** + * Get the message type + * @return message type + */ + ConvergedMessage::MessageType messageType() const; + + /** + * Set the message type + * @param type message type + */ + void setMessageType(ConvergedMessage::MessageType type); + + /** + * Get the message sub-type + * @return message sub-type + */ + ConvergedMessage::MessageSubType messageSubType() const; + + /** + * Set the message sub-type + * @param type message sub-type + */ + void setMessageSubType(ConvergedMessage::MessageSubType type); + + /** + * Get the message priority + * @return message priority + */ + ConvergedMessage::Priority priority() const; + + /** + * Set the message priority + * @param newPriority message priority + */ + void setPriority(ConvergedMessage::Priority newPriority); + + /** + * Get the message direction + * @return the direction + */ + ConvergedMessage::Direction direction() const; + + /** + * Set the message direction + * @param direction direction of message + */ + void setDirection(ConvergedMessage::Direction direction); + + /** + * Get the message sending state + * @return the SendingState of message + */ + ConvergedMessage::SendingState sendingState() const; + + /** + * Set the message sending state + * @param state message sending status + */ + void setSendingState(ConvergedMessage::SendingState state); + + /** + * Get the message status is Unread + * @return bool if the message Unread + */ + bool isUnread() const; + + /** + * Get the message attachment status + * @return bool if the message has attachment Unread + */ + bool hasAttachment() const; + + /** + * Get the message location + * @return the MessageLocation + */ + ConvergedMessage::MessageLocation location() const; + + /** + * Set the message location + * @param cation as message location + */ + void setLocation(ConvergedMessage::MessageLocation location); + + /** + * Set the message property + * @param property as message property + */ + void setProperty(ConvergedMessage::MessageProperty property); + + /** + * Returns the message properties + * @return integer for message property + */ + quint16 properties() const; + + /** + * Get the subject + * @return message subject + */ + const QString& subject() const; + + /** + * Set the message subject + * @param subject message subject + */ + void setSubject(const QString &subject); + + /** + * Get the message received/sent date + * @return The message timestamp + */ + qint64 timeStamp() const; + + /** + * Set the message received date + * @param timeStamp The message timestamp + */ + void setTimeStamp(qint64 timeStamp); + + /** + * Set message body text + * @param bodyText message body text + */ + void setBodyText(const QString &bodyText); + + /** + * Returns message body text. + * @return Message body text. + */ + const QString& bodyText() const; + + /** + * Add a recipient of type To + * @param recipient recipient address + */ + void addToRecipient(ConvergedMessageAddress &recipient); + /** + * Add recipients of type To + * This method takes the ownership of recipients array + * + * @param recipients array of recipient address + */ + void addToRecipients(ConvergedMessageAddressList &recipients); + /** + * Add a recipient of type Cc + * @param recipient recipient address + */ + void addCcRecipient(ConvergedMessageAddress &recipient); + + /** + * Add recipients of type Cc + * This method takes the ownership of recipients array + * + * @param recipients array of recipient address + */ + void addCcRecipients(ConvergedMessageAddressList &recipients); + /** + * Add a recipient of type Bcc + * @param recipient recipient address + */ + void addBccRecipient(ConvergedMessageAddress &recipient); + /** + * Add recipients of type Bcc + * This method takes the ownership of recipients array + * + * @param recipients array of recipient address + */ + void addBccRecipients(ConvergedMessageAddressList &recipients); + + /** + * Add a recipient of type From + * @param recipient recipient address + */ + void addFromRecipient(ConvergedMessageAddress &recipient); + /** + * Returns array of To addresses and their aliases. + * @return Array of To addresses and their aliases. + */ + const ConvergedMessageAddressList toAddressList() const; + + /** + * Returns array of Cc addresses and their aliases. + * @return Array of Cc addresses and their aliases. + */ + const ConvergedMessageAddressList ccAddressList() const; + + /** + * Returns array of Bcc addresses and aliases. + * @return Array of Bcc addresses and aliases. + */ + const ConvergedMessageAddressList bccAddressList() const; + /** + * Returns array of From addresses and aliases. + * @return Array of From addresses and aliases. + */ + ConvergedMessageAddress* fromAddress() const; + + /** + * Get the attachment list + * @return Attachment list + */ + ConvergedMessageAttachmentList attachments() const; + + /** + * Add a list of attachments to the message + * @param attachmentList List of attachments + */ + + void addAttachments(ConvergedMessageAttachmentList attachmentList); + + /** + * Serialize the data memebers into the stream. + * @param stream data stream to which data is serialized. + */ + void serialize(QDataStream &stream) const; + + /** + * Deserialize the stream to data members. + * @param stream data stream from which data is deserialized. + */ + void deserialize(QDataStream &stream); + +private: + /** + * Operator= overloading. Making it private with no implementation to prevent its usage + */ + ConvergedMessageImpl& operator=(const ConvergedMessage &msg); + +private: + //data + + /** + * Converge MessageId + */ + ConvergedMessageId* mId; + + /** + * Message Subject + */ + QString mSubject; + + /** + * Message Body Text + */ + QString mBodyText; + + /** + * Array of real addresses and aliases. + */ + ConvergedMessageAddressList mToAddresses; + + /** + * Array of real CC addresses and aliases. + */ + ConvergedMessageAddressList mCcAddresses; + + /** + * Array of real BC addresses and aliases. + */ + ConvergedMessageAddressList mBccAddresses; + /** + * Array of real FROM addresses and aliases. + */ + ConvergedMessageAddressList mFromAddresses; + /** + * Message From Address + */ + ConvergedMessageAddress* mFromAddress; + + /** + * Message Attachments + */ + ConvergedMessageAttachmentList mAttachments; + + /** + * Message Timestamp + */ + qint64 mTimeStamp; + + /** + * Message Attribute + */ + quint16 mProperty; + + /** + * Message type + */ + quint8 mMessageType; + + /** + * Message type + */ + quint8 mMessageSubType; + + /** + * Message priority + */ + quint8 mPriority; + + /** + * Message location + */ + quint8 mLocation; + + /** + * Message Direction + * as incoming/outgoing etc. + */ + quint8 mDirection; + + /** + * Messaging sending states + */ + quint8 mSendingState; + }; + +#endif // CONVERGED_MESSAGE_IMPL_H