diff -r dcf0eedfc1a3 -r d189ee25cf9d emailservices/nmailbase/inc/nmmessageenvelope.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/emailservices/nmailbase/inc/nmmessageenvelope.h Tue Aug 31 15:04:17 2010 +0300 @@ -0,0 +1,130 @@ +/* +* 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: +* +*/ + +#ifndef NMMESSAGEENVELOPE_H_ +#define NMMESSAGEENVELOPE_H_ + +#include + +#include "nmbasedef.h" +#include "nmcommon.h" +#include "nmaddress.h" + + +class NMBASE_EXPORT NmMessageEnvelopePrivate : public QSharedData +{ + +public: + NmMessageEnvelopePrivate(); + virtual ~NmMessageEnvelopePrivate(); + + NmMessageFlags flags() const; + void setFlags(const NmMessageFlags flags, bool set); + void setFlag(const NmMessageFlag flag, bool set); + bool isFlagSet(const NmMessageFlag flag) const; + +public: + NmId mMessageId; + NmId mFolderId; // id for top-level message/messageId for message parts + NmId mMailboxId; + QString mSubject; + NmAddress mSender; + QDateTime mSentTime; + QList mToRecipients; + QList mCcRecipients; + QList mBccRecipients; + +private: + NmMessageFlags mMessageFlags; +}; + + +class NMBASE_EXPORT NmMessageEnvelope +{ + +public: + NmMessageEnvelope(); + NmMessageEnvelope(const NmId &messageId); + NmMessageEnvelope(const NmMessageEnvelope &envelope); + NmMessageEnvelope(QExplicitlySharedDataPointer nmPrivateMessageEnvelope); + NmMessageEnvelope &operator=(const NmMessageEnvelope &envelope); + bool operator==(const NmMessageEnvelope &envelope) const; + bool operator!=(const NmMessageEnvelope &envelope) const; + virtual ~NmMessageEnvelope(); + + void setMessageId(const NmId &messageId); + NmId messageId() const; + + NmId folderId() const; + void setFolderId(const NmId &folderId); + + NmId mailboxId() const; + void setMailboxId(const NmId &mailboxId); + + void setSubject(const QString &subject); + QString subject() const; + + void setSender(const NmAddress &sender); + NmAddress sender() const; + + void setSentTime(const QDateTime &sentTime); + QDateTime sentTime() const; + + void setHasAttachments(bool hasAttachments); + bool hasAttachments() const; + + void setRead(bool read); + bool isRead() const; + + void setReplied(bool replied); + bool isReplied() const; + + void setForwarded(bool forwarded); + bool isForwarded() const; + + void setPriority(NmMessagePriority forwarded); + NmMessagePriority priority() const; + + NmMessageFlags flags() const; + + QList& toRecipients() const; + void setToRecipients(QList toRecipients); + void clearToRecipients(); + + QList& ccRecipients() const; + void setCcRecipients(QList ccRecipients); + void clearCcRecipients(); + + QList& bccRecipients() const; + void setBccRecipients(QList bccRecipients); + void clearBccRecipients(); + +private: + // Data object shared between Symbian and QT data types. + QExplicitlySharedDataPointer d; + + friend class CFSMailMessageBase; +}; + +Q_DECLARE_METATYPE(const NmMessageEnvelope*) +Q_DECLARE_METATYPE(NmMessageEnvelope*) + +#endif /* NMMESSAGEENVELOPE_H_ */ + + + +