diff -r 000000000000 -r 72b543305e3a email/imap4mtm/imapsession/inc/cimapenvelope.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/email/imap4mtm/imapsession/inc/cimapenvelope.h Thu Dec 17 08:44:11 2009 +0200 @@ -0,0 +1,114 @@ +// Copyright (c) 2006-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 __CIMAPENVELOPE_H__ +#define __CIMAPENVELOPE_H__ + +#include + +/** +Represents an "envelope" component of +a BODYSTRUCTURE. See section 9 of RFC3501 +@internalTechnology +@prototype +*/ +class CImapEnvelope : public CBase + { +public: + static CImapEnvelope* NewL(); + ~CImapEnvelope(); + + /** + Represents an IMAP address structure. + The three main fields typically map to an email address of the form + "iName" + See RFC2822 for the full meaning of each field. + */ + struct TAddress + { + public: + IMPORT_C HBufC16* CreateAddressStringL() const; + + void SetName(const TDesC8& aName); + void SetAdl(const TDesC8& aAdl); + void SetMailbox(const TDesC8& aMailbox); + void SetHost(const TDesC8& aHost); + + private: + /** + addr-name = nstring + */ + TPtrC8 iName; + /** + addr-adl = nstring + This contains routing information. + */ + TPtrC8 iAdl; + /** + addr-mailbox = nstring + */ + TPtrC8 iMailbox; + /** + addr-host = nstring + */ + TPtrC8 iHost; + }; + + /** + An array of TAddress structures. + @see CImapEnvelope::TAddress + */ + typedef RArray RArrayTAddress; + + IMPORT_C const TDesC8& EnvDate(); + IMPORT_C const TDesC8& EnvSubject(); + IMPORT_C const RArrayTAddress& EnvFrom(); + IMPORT_C const RArrayTAddress& EnvSender(); + IMPORT_C const RArrayTAddress& EnvReplyTo(); + IMPORT_C const RArrayTAddress& EnvTo(); + IMPORT_C const RArrayTAddress& EnvCc(); + IMPORT_C const RArrayTAddress& EnvBcc(); + IMPORT_C const TDesC8& EnvInReplyTo(); + IMPORT_C const TDesC8& EnvMessageId(); + + void SetEnvDate(const TDesC8& aEnvDate); + void SetEnvSubject(const TDesC8& aEnvSubject); + void AppendEnvFromL(const TAddress& aAddress); + void AppendEnvSenderL(const TAddress& aAddress); + void AppendEnvReplyToL(const TAddress& aAddress); + void AppendEnvToL(const TAddress& aAddress); + void AppendEnvCcL(const TAddress& aAddress); + void AppendEnvBccL(const TAddress& aAddress); + void SetEnvInReplyTo(const TDesC8& aEnvInReplyTo); + void SetEnvMessageId(const TDesC8& aEnvMessageId); + +protected: + CImapEnvelope(); + +private: + + TPtrC8 iEnvDate; + TPtrC8 iEnvSubject; + RArrayTAddress iEnvFrom; + RArrayTAddress iEnvSender; + RArrayTAddress iEnvReplyTo; + RArrayTAddress iEnvTo; + RArrayTAddress iEnvCc; + RArrayTAddress iEnvBcc; + TPtrC8 iEnvInReplyTo; + TPtrC8 iEnvMessageId; + }; + +#endif // __CIMAPENVELOPE_H__