/*
 * DO NOT EDIT.  THIS FILE IS GENERATED FROM ../../../dist/idl/nsIMsgCompFields.idl
 */

#ifndef __gen_nsIMsgCompFields_h__
#define __gen_nsIMsgCompFields_h__


#ifndef __gen_msgIStructuredHeaders_h__
#include "msgIStructuredHeaders.h"
#endif

/* For IDL files that don't want to include root IDL files. */
#ifndef NS_NO_VTABLE
#define NS_NO_VTABLE
#endif
class nsIMsgAttachment; /* forward declaration */

class nsISimpleEnumerator; /* forward declaration */


/* starting interface:    nsIMsgCompFields */
#define NS_IMSGCOMPFIELDS_IID_STR "10928477-4f24-4357-9397-fbd847f46f0a"

#define NS_IMSGCOMPFIELDS_IID \
  {0x10928477, 0x4f24, 0x4357, \
    { 0x93, 0x97, 0xfb, 0xd8, 0x47, 0xf4, 0x6f, 0x0a }}

class NS_NO_VTABLE nsIMsgCompFields : public msgIWritableStructuredHeaders {
 public:

  NS_DECLARE_STATIC_IID_ACCESSOR(NS_IMSGCOMPFIELDS_IID)

  /* attribute AString from; */
  NS_IMETHOD GetFrom(nsAString & aFrom) = 0;
  NS_IMETHOD SetFrom(const nsAString & aFrom) = 0;

  /* attribute AString replyTo; */
  NS_IMETHOD GetReplyTo(nsAString & aReplyTo) = 0;
  NS_IMETHOD SetReplyTo(const nsAString & aReplyTo) = 0;

  /* attribute AString to; */
  NS_IMETHOD GetTo(nsAString & aTo) = 0;
  NS_IMETHOD SetTo(const nsAString & aTo) = 0;

  /* attribute AString cc; */
  NS_IMETHOD GetCc(nsAString & aCc) = 0;
  NS_IMETHOD SetCc(const nsAString & aCc) = 0;

  /* attribute AString bcc; */
  NS_IMETHOD GetBcc(nsAString & aBcc) = 0;
  NS_IMETHOD SetBcc(const nsAString & aBcc) = 0;

  /* readonly attribute bool hasRecipients; */
  NS_IMETHOD GetHasRecipients(bool *aHasRecipients) = 0;

  /* attribute AString fcc; */
  NS_IMETHOD GetFcc(nsAString & aFcc) = 0;
  NS_IMETHOD SetFcc(const nsAString & aFcc) = 0;

  /* attribute AString fcc2; */
  NS_IMETHOD GetFcc2(nsAString & aFcc2) = 0;
  NS_IMETHOD SetFcc2(const nsAString & aFcc2) = 0;

  /* attribute AString newsgroups; */
  NS_IMETHOD GetNewsgroups(nsAString & aNewsgroups) = 0;
  NS_IMETHOD SetNewsgroups(const nsAString & aNewsgroups) = 0;

  /* attribute string newspostUrl; */
  NS_IMETHOD GetNewspostUrl(char * *aNewspostUrl) = 0;
  NS_IMETHOD SetNewspostUrl(const char * aNewspostUrl) = 0;

  /* attribute AString followupTo; */
  NS_IMETHOD GetFollowupTo(nsAString & aFollowupTo) = 0;
  NS_IMETHOD SetFollowupTo(const nsAString & aFollowupTo) = 0;

  /* attribute AString subject; */
  NS_IMETHOD GetSubject(nsAString & aSubject) = 0;
  NS_IMETHOD SetSubject(const nsAString & aSubject) = 0;

  /* attribute AString organization; */
  NS_IMETHOD GetOrganization(nsAString & aOrganization) = 0;
  NS_IMETHOD SetOrganization(const nsAString & aOrganization) = 0;

  /* attribute string references; */
  NS_IMETHOD GetReferences(char * *aReferences) = 0;
  NS_IMETHOD SetReferences(const char * aReferences) = 0;

  /* attribute string priority; */
  NS_IMETHOD GetPriority(char * *aPriority) = 0;
  NS_IMETHOD SetPriority(const char * aPriority) = 0;

  /* attribute string messageId; */
  NS_IMETHOD GetMessageId(char * *aMessageId) = 0;
  NS_IMETHOD SetMessageId(const char * aMessageId) = 0;

  /* attribute string characterSet; */
  NS_IMETHOD GetCharacterSet(char * *aCharacterSet) = 0;
  NS_IMETHOD SetCharacterSet(const char * aCharacterSet) = 0;

  /* readonly attribute string defaultCharacterSet; */
  NS_IMETHOD GetDefaultCharacterSet(char * *aDefaultCharacterSet) = 0;

  /* attribute AString templateName; */
  NS_IMETHOD GetTemplateName(nsAString & aTemplateName) = 0;
  NS_IMETHOD SetTemplateName(const nsAString & aTemplateName) = 0;

  /* attribute string draftId; */
  NS_IMETHOD GetDraftId(char * *aDraftId) = 0;
  NS_IMETHOD SetDraftId(const char * aDraftId) = 0;

  /* attribute boolean returnReceipt; */
  NS_IMETHOD GetReturnReceipt(bool *aReturnReceipt) = 0;
  NS_IMETHOD SetReturnReceipt(bool aReturnReceipt) = 0;

  /* attribute long receiptHeaderType; */
  NS_IMETHOD GetReceiptHeaderType(int32_t *aReceiptHeaderType) = 0;
  NS_IMETHOD SetReceiptHeaderType(int32_t aReceiptHeaderType) = 0;

  /* attribute boolean DSN; */
  NS_IMETHOD GetDSN(bool *aDSN) = 0;
  NS_IMETHOD SetDSN(bool aDSN) = 0;

  /* attribute boolean attachVCard; */
  NS_IMETHOD GetAttachVCard(bool *aAttachVCard) = 0;
  NS_IMETHOD SetAttachVCard(bool aAttachVCard) = 0;

  /* attribute boolean forcePlainText; */
  NS_IMETHOD GetForcePlainText(bool *aForcePlainText) = 0;
  NS_IMETHOD SetForcePlainText(bool aForcePlainText) = 0;

  /* attribute boolean useMultipartAlternative; */
  NS_IMETHOD GetUseMultipartAlternative(bool *aUseMultipartAlternative) = 0;
  NS_IMETHOD SetUseMultipartAlternative(bool aUseMultipartAlternative) = 0;

  /* attribute boolean bodyIsAsciiOnly; */
  NS_IMETHOD GetBodyIsAsciiOnly(bool *aBodyIsAsciiOnly) = 0;
  NS_IMETHOD SetBodyIsAsciiOnly(bool aBodyIsAsciiOnly) = 0;

  /* attribute boolean forceMsgEncoding; */
  NS_IMETHOD GetForceMsgEncoding(bool *aForceMsgEncoding) = 0;
  NS_IMETHOD SetForceMsgEncoding(bool aForceMsgEncoding) = 0;

  /* attribute boolean attachmentReminder; */
  NS_IMETHOD GetAttachmentReminder(bool *aAttachmentReminder) = 0;
  NS_IMETHOD SetAttachmentReminder(bool aAttachmentReminder) = 0;

  /* attribute long deliveryFormat; */
  NS_IMETHOD GetDeliveryFormat(int32_t *aDeliveryFormat) = 0;
  NS_IMETHOD SetDeliveryFormat(int32_t aDeliveryFormat) = 0;

  /* attribute string contentLanguage; */
  NS_IMETHOD GetContentLanguage(char * *aContentLanguage) = 0;
  NS_IMETHOD SetContentLanguage(const char * aContentLanguage) = 0;

  /* attribute string creatorIdentityKey; */
  NS_IMETHOD GetCreatorIdentityKey(char * *aCreatorIdentityKey) = 0;
  NS_IMETHOD SetCreatorIdentityKey(const char * aCreatorIdentityKey) = 0;

  /* attribute AString body; */
  NS_IMETHOD GetBody(nsAString & aBody) = 0;
  NS_IMETHOD SetBody(const nsAString & aBody) = 0;

  /* readonly attribute nsISimpleEnumerator attachments; */
  NS_IMETHOD GetAttachments(nsISimpleEnumerator * *aAttachments) = 0;

  /* void addAttachment (in nsIMsgAttachment attachment); */
  NS_IMETHOD AddAttachment(nsIMsgAttachment *attachment) = 0;

  /* void removeAttachment (in nsIMsgAttachment attachment); */
  NS_IMETHOD RemoveAttachment(nsIMsgAttachment *attachment) = 0;

  /* void removeAttachments (); */
  NS_IMETHOD RemoveAttachments(void) = 0;

  /* void splitRecipients (in AString aRecipients, in boolean aEmailAddressOnly, out unsigned long aLength, [array, size_is (aLength), retval] out wstring aResult); */
  NS_IMETHOD SplitRecipients(const nsAString & aRecipients, bool aEmailAddressOnly, uint32_t *aLength, char16_t * **aResult) = 0;

  /* void ConvertBodyToPlainText (); */
  NS_IMETHOD ConvertBodyToPlainText(void) = 0;

  /* attribute boolean needToCheckCharset; */
  NS_IMETHOD GetNeedToCheckCharset(bool *aNeedToCheckCharset) = 0;
  NS_IMETHOD SetNeedToCheckCharset(bool aNeedToCheckCharset) = 0;

  /* attribute nsISupports securityInfo; */
  NS_IMETHOD GetSecurityInfo(nsISupports * *aSecurityInfo) = 0;
  NS_IMETHOD SetSecurityInfo(nsISupports *aSecurityInfo) = 0;

};

  NS_DEFINE_STATIC_IID_ACCESSOR(nsIMsgCompFields, NS_IMSGCOMPFIELDS_IID)

/* Use this macro when declaring classes that implement this interface. */
#define NS_DECL_NSIMSGCOMPFIELDS \
  NS_IMETHOD GetFrom(nsAString & aFrom) override; \
  NS_IMETHOD SetFrom(const nsAString & aFrom) override; \
  NS_IMETHOD GetReplyTo(nsAString & aReplyTo) override; \
  NS_IMETHOD SetReplyTo(const nsAString & aReplyTo) override; \
  NS_IMETHOD GetTo(nsAString & aTo) override; \
  NS_IMETHOD SetTo(const nsAString & aTo) override; \
  NS_IMETHOD GetCc(nsAString & aCc) override; \
  NS_IMETHOD SetCc(const nsAString & aCc) override; \
  NS_IMETHOD GetBcc(nsAString & aBcc) override; \
  NS_IMETHOD SetBcc(const nsAString & aBcc) override; \
  NS_IMETHOD GetHasRecipients(bool *aHasRecipients) override; \
  NS_IMETHOD GetFcc(nsAString & aFcc) override; \
  NS_IMETHOD SetFcc(const nsAString & aFcc) override; \
  NS_IMETHOD GetFcc2(nsAString & aFcc2) override; \
  NS_IMETHOD SetFcc2(const nsAString & aFcc2) override; \
  NS_IMETHOD GetNewsgroups(nsAString & aNewsgroups) override; \
  NS_IMETHOD SetNewsgroups(const nsAString & aNewsgroups) override; \
  NS_IMETHOD GetNewspostUrl(char * *aNewspostUrl) override; \
  NS_IMETHOD SetNewspostUrl(const char * aNewspostUrl) override; \
  NS_IMETHOD GetFollowupTo(nsAString & aFollowupTo) override; \
  NS_IMETHOD SetFollowupTo(const nsAString & aFollowupTo) override; \
  NS_IMETHOD GetSubject(nsAString & aSubject) override; \
  NS_IMETHOD SetSubject(const nsAString & aSubject) override; \
  NS_IMETHOD GetOrganization(nsAString & aOrganization) override; \
  NS_IMETHOD SetOrganization(const nsAString & aOrganization) override; \
  NS_IMETHOD GetReferences(char * *aReferences) override; \
  NS_IMETHOD SetReferences(const char * aReferences) override; \
  NS_IMETHOD GetPriority(char * *aPriority) override; \
  NS_IMETHOD SetPriority(const char * aPriority) override; \
  NS_IMETHOD GetMessageId(char * *aMessageId) override; \
  NS_IMETHOD SetMessageId(const char * aMessageId) override; \
  NS_IMETHOD GetCharacterSet(char * *aCharacterSet) override; \
  NS_IMETHOD SetCharacterSet(const char * aCharacterSet) override; \
  NS_IMETHOD GetDefaultCharacterSet(char * *aDefaultCharacterSet) override; \
  NS_IMETHOD GetTemplateName(nsAString & aTemplateName) override; \
  NS_IMETHOD SetTemplateName(const nsAString & aTemplateName) override; \
  NS_IMETHOD GetDraftId(char * *aDraftId) override; \
  NS_IMETHOD SetDraftId(const char * aDraftId) override; \
  NS_IMETHOD GetReturnReceipt(bool *aReturnReceipt) override; \
  NS_IMETHOD SetReturnReceipt(bool aReturnReceipt) override; \
  NS_IMETHOD GetReceiptHeaderType(int32_t *aReceiptHeaderType) override; \
  NS_IMETHOD SetReceiptHeaderType(int32_t aReceiptHeaderType) override; \
  NS_IMETHOD GetDSN(bool *aDSN) override; \
  NS_IMETHOD SetDSN(bool aDSN) override; \
  NS_IMETHOD GetAttachVCard(bool *aAttachVCard) override; \
  NS_IMETHOD SetAttachVCard(bool aAttachVCard) override; \
  NS_IMETHOD GetForcePlainText(bool *aForcePlainText) override; \
  NS_IMETHOD SetForcePlainText(bool aForcePlainText) override; \
  NS_IMETHOD GetUseMultipartAlternative(bool *aUseMultipartAlternative) override; \
  NS_IMETHOD SetUseMultipartAlternative(bool aUseMultipartAlternative) override; \
  NS_IMETHOD GetBodyIsAsciiOnly(bool *aBodyIsAsciiOnly) override; \
  NS_IMETHOD SetBodyIsAsciiOnly(bool aBodyIsAsciiOnly) override; \
  NS_IMETHOD GetForceMsgEncoding(bool *aForceMsgEncoding) override; \
  NS_IMETHOD SetForceMsgEncoding(bool aForceMsgEncoding) override; \
  NS_IMETHOD GetAttachmentReminder(bool *aAttachmentReminder) override; \
  NS_IMETHOD SetAttachmentReminder(bool aAttachmentReminder) override; \
  NS_IMETHOD GetDeliveryFormat(int32_t *aDeliveryFormat) override; \
  NS_IMETHOD SetDeliveryFormat(int32_t aDeliveryFormat) override; \
  NS_IMETHOD GetContentLanguage(char * *aContentLanguage) override; \
  NS_IMETHOD SetContentLanguage(const char * aContentLanguage) override; \
  NS_IMETHOD GetCreatorIdentityKey(char * *aCreatorIdentityKey) override; \
  NS_IMETHOD SetCreatorIdentityKey(const char * aCreatorIdentityKey) override; \
  NS_IMETHOD GetBody(nsAString & aBody) override; \
  NS_IMETHOD SetBody(const nsAString & aBody) override; \
  NS_IMETHOD GetAttachments(nsISimpleEnumerator * *aAttachments) override; \
  NS_IMETHOD AddAttachment(nsIMsgAttachment *attachment) override; \
  NS_IMETHOD RemoveAttachment(nsIMsgAttachment *attachment) override; \
  NS_IMETHOD RemoveAttachments(void) override; \
  NS_IMETHOD SplitRecipients(const nsAString & aRecipients, bool aEmailAddressOnly, uint32_t *aLength, char16_t * **aResult) override; \
  NS_IMETHOD ConvertBodyToPlainText(void) override; \
  NS_IMETHOD GetNeedToCheckCharset(bool *aNeedToCheckCharset) override; \
  NS_IMETHOD SetNeedToCheckCharset(bool aNeedToCheckCharset) override; \
  NS_IMETHOD GetSecurityInfo(nsISupports * *aSecurityInfo) override; \
  NS_IMETHOD SetSecurityInfo(nsISupports *aSecurityInfo) override; 

/* Use this macro when declaring the members of this interface when the
   class doesn't implement the interface. This is useful for forwarding. */
#define NS_DECL_NON_VIRTUAL_NSIMSGCOMPFIELDS \
  NS_METHOD GetFrom(nsAString & aFrom); \
  NS_METHOD SetFrom(const nsAString & aFrom); \
  NS_METHOD GetReplyTo(nsAString & aReplyTo); \
  NS_METHOD SetReplyTo(const nsAString & aReplyTo); \
  NS_METHOD GetTo(nsAString & aTo); \
  NS_METHOD SetTo(const nsAString & aTo); \
  NS_METHOD GetCc(nsAString & aCc); \
  NS_METHOD SetCc(const nsAString & aCc); \
  NS_METHOD GetBcc(nsAString & aBcc); \
  NS_METHOD SetBcc(const nsAString & aBcc); \
  NS_METHOD GetHasRecipients(bool *aHasRecipients); \
  NS_METHOD GetFcc(nsAString & aFcc); \
  NS_METHOD SetFcc(const nsAString & aFcc); \
  NS_METHOD GetFcc2(nsAString & aFcc2); \
  NS_METHOD SetFcc2(const nsAString & aFcc2); \
  NS_METHOD GetNewsgroups(nsAString & aNewsgroups); \
  NS_METHOD SetNewsgroups(const nsAString & aNewsgroups); \
  NS_METHOD GetNewspostUrl(char * *aNewspostUrl); \
  NS_METHOD SetNewspostUrl(const char * aNewspostUrl); \
  NS_METHOD GetFollowupTo(nsAString & aFollowupTo); \
  NS_METHOD SetFollowupTo(const nsAString & aFollowupTo); \
  NS_METHOD GetSubject(nsAString & aSubject); \
  NS_METHOD SetSubject(const nsAString & aSubject); \
  NS_METHOD GetOrganization(nsAString & aOrganization); \
  NS_METHOD SetOrganization(const nsAString & aOrganization); \
  NS_METHOD GetReferences(char * *aReferences); \
  NS_METHOD SetReferences(const char * aReferences); \
  NS_METHOD GetPriority(char * *aPriority); \
  NS_METHOD SetPriority(const char * aPriority); \
  NS_METHOD GetMessageId(char * *aMessageId); \
  NS_METHOD SetMessageId(const char * aMessageId); \
  NS_METHOD GetCharacterSet(char * *aCharacterSet); \
  NS_METHOD SetCharacterSet(const char * aCharacterSet); \
  NS_METHOD GetDefaultCharacterSet(char * *aDefaultCharacterSet); \
  NS_METHOD GetTemplateName(nsAString & aTemplateName); \
  NS_METHOD SetTemplateName(const nsAString & aTemplateName); \
  NS_METHOD GetDraftId(char * *aDraftId); \
  NS_METHOD SetDraftId(const char * aDraftId); \
  NS_METHOD GetReturnReceipt(bool *aReturnReceipt); \
  NS_METHOD SetReturnReceipt(bool aReturnReceipt); \
  NS_METHOD GetReceiptHeaderType(int32_t *aReceiptHeaderType); \
  NS_METHOD SetReceiptHeaderType(int32_t aReceiptHeaderType); \
  NS_METHOD GetDSN(bool *aDSN); \
  NS_METHOD SetDSN(bool aDSN); \
  NS_METHOD GetAttachVCard(bool *aAttachVCard); \
  NS_METHOD SetAttachVCard(bool aAttachVCard); \
  NS_METHOD GetForcePlainText(bool *aForcePlainText); \
  NS_METHOD SetForcePlainText(bool aForcePlainText); \
  NS_METHOD GetUseMultipartAlternative(bool *aUseMultipartAlternative); \
  NS_METHOD SetUseMultipartAlternative(bool aUseMultipartAlternative); \
  NS_METHOD GetBodyIsAsciiOnly(bool *aBodyIsAsciiOnly); \
  NS_METHOD SetBodyIsAsciiOnly(bool aBodyIsAsciiOnly); \
  NS_METHOD GetForceMsgEncoding(bool *aForceMsgEncoding); \
  NS_METHOD SetForceMsgEncoding(bool aForceMsgEncoding); \
  NS_METHOD GetAttachmentReminder(bool *aAttachmentReminder); \
  NS_METHOD SetAttachmentReminder(bool aAttachmentReminder); \
  NS_METHOD GetDeliveryFormat(int32_t *aDeliveryFormat); \
  NS_METHOD SetDeliveryFormat(int32_t aDeliveryFormat); \
  NS_METHOD GetContentLanguage(char * *aContentLanguage); \
  NS_METHOD SetContentLanguage(const char * aContentLanguage); \
  NS_METHOD GetCreatorIdentityKey(char * *aCreatorIdentityKey); \
  NS_METHOD SetCreatorIdentityKey(const char * aCreatorIdentityKey); \
  NS_METHOD GetBody(nsAString & aBody); \
  NS_METHOD SetBody(const nsAString & aBody); \
  NS_METHOD GetAttachments(nsISimpleEnumerator * *aAttachments); \
  NS_METHOD AddAttachment(nsIMsgAttachment *attachment); \
  NS_METHOD RemoveAttachment(nsIMsgAttachment *attachment); \
  NS_METHOD RemoveAttachments(void); \
  NS_METHOD SplitRecipients(const nsAString & aRecipients, bool aEmailAddressOnly, uint32_t *aLength, char16_t * **aResult); \
  NS_METHOD ConvertBodyToPlainText(void); \
  NS_METHOD GetNeedToCheckCharset(bool *aNeedToCheckCharset); \
  NS_METHOD SetNeedToCheckCharset(bool aNeedToCheckCharset); \
  NS_METHOD GetSecurityInfo(nsISupports * *aSecurityInfo); \
  NS_METHOD SetSecurityInfo(nsISupports *aSecurityInfo); 

/* Use this macro to declare functions that forward the behavior of this interface to another object. */
#define NS_FORWARD_NSIMSGCOMPFIELDS(_to) \
  NS_IMETHOD GetFrom(nsAString & aFrom) override { return _to GetFrom(aFrom); } \
  NS_IMETHOD SetFrom(const nsAString & aFrom) override { return _to SetFrom(aFrom); } \
  NS_IMETHOD GetReplyTo(nsAString & aReplyTo) override { return _to GetReplyTo(aReplyTo); } \
  NS_IMETHOD SetReplyTo(const nsAString & aReplyTo) override { return _to SetReplyTo(aReplyTo); } \
  NS_IMETHOD GetTo(nsAString & aTo) override { return _to GetTo(aTo); } \
  NS_IMETHOD SetTo(const nsAString & aTo) override { return _to SetTo(aTo); } \
  NS_IMETHOD GetCc(nsAString & aCc) override { return _to GetCc(aCc); } \
  NS_IMETHOD SetCc(const nsAString & aCc) override { return _to SetCc(aCc); } \
  NS_IMETHOD GetBcc(nsAString & aBcc) override { return _to GetBcc(aBcc); } \
  NS_IMETHOD SetBcc(const nsAString & aBcc) override { return _to SetBcc(aBcc); } \
  NS_IMETHOD GetHasRecipients(bool *aHasRecipients) override { return _to GetHasRecipients(aHasRecipients); } \
  NS_IMETHOD GetFcc(nsAString & aFcc) override { return _to GetFcc(aFcc); } \
  NS_IMETHOD SetFcc(const nsAString & aFcc) override { return _to SetFcc(aFcc); } \
  NS_IMETHOD GetFcc2(nsAString & aFcc2) override { return _to GetFcc2(aFcc2); } \
  NS_IMETHOD SetFcc2(const nsAString & aFcc2) override { return _to SetFcc2(aFcc2); } \
  NS_IMETHOD GetNewsgroups(nsAString & aNewsgroups) override { return _to GetNewsgroups(aNewsgroups); } \
  NS_IMETHOD SetNewsgroups(const nsAString & aNewsgroups) override { return _to SetNewsgroups(aNewsgroups); } \
  NS_IMETHOD GetNewspostUrl(char * *aNewspostUrl) override { return _to GetNewspostUrl(aNewspostUrl); } \
  NS_IMETHOD SetNewspostUrl(const char * aNewspostUrl) override { return _to SetNewspostUrl(aNewspostUrl); } \
  NS_IMETHOD GetFollowupTo(nsAString & aFollowupTo) override { return _to GetFollowupTo(aFollowupTo); } \
  NS_IMETHOD SetFollowupTo(const nsAString & aFollowupTo) override { return _to SetFollowupTo(aFollowupTo); } \
  NS_IMETHOD GetSubject(nsAString & aSubject) override { return _to GetSubject(aSubject); } \
  NS_IMETHOD SetSubject(const nsAString & aSubject) override { return _to SetSubject(aSubject); } \
  NS_IMETHOD GetOrganization(nsAString & aOrganization) override { return _to GetOrganization(aOrganization); } \
  NS_IMETHOD SetOrganization(const nsAString & aOrganization) override { return _to SetOrganization(aOrganization); } \
  NS_IMETHOD GetReferences(char * *aReferences) override { return _to GetReferences(aReferences); } \
  NS_IMETHOD SetReferences(const char * aReferences) override { return _to SetReferences(aReferences); } \
  NS_IMETHOD GetPriority(char * *aPriority) override { return _to GetPriority(aPriority); } \
  NS_IMETHOD SetPriority(const char * aPriority) override { return _to SetPriority(aPriority); } \
  NS_IMETHOD GetMessageId(char * *aMessageId) override { return _to GetMessageId(aMessageId); } \
  NS_IMETHOD SetMessageId(const char * aMessageId) override { return _to SetMessageId(aMessageId); } \
  NS_IMETHOD GetCharacterSet(char * *aCharacterSet) override { return _to GetCharacterSet(aCharacterSet); } \
  NS_IMETHOD SetCharacterSet(const char * aCharacterSet) override { return _to SetCharacterSet(aCharacterSet); } \
  NS_IMETHOD GetDefaultCharacterSet(char * *aDefaultCharacterSet) override { return _to GetDefaultCharacterSet(aDefaultCharacterSet); } \
  NS_IMETHOD GetTemplateName(nsAString & aTemplateName) override { return _to GetTemplateName(aTemplateName); } \
  NS_IMETHOD SetTemplateName(const nsAString & aTemplateName) override { return _to SetTemplateName(aTemplateName); } \
  NS_IMETHOD GetDraftId(char * *aDraftId) override { return _to GetDraftId(aDraftId); } \
  NS_IMETHOD SetDraftId(const char * aDraftId) override { return _to SetDraftId(aDraftId); } \
  NS_IMETHOD GetReturnReceipt(bool *aReturnReceipt) override { return _to GetReturnReceipt(aReturnReceipt); } \
  NS_IMETHOD SetReturnReceipt(bool aReturnReceipt) override { return _to SetReturnReceipt(aReturnReceipt); } \
  NS_IMETHOD GetReceiptHeaderType(int32_t *aReceiptHeaderType) override { return _to GetReceiptHeaderType(aReceiptHeaderType); } \
  NS_IMETHOD SetReceiptHeaderType(int32_t aReceiptHeaderType) override { return _to SetReceiptHeaderType(aReceiptHeaderType); } \
  NS_IMETHOD GetDSN(bool *aDSN) override { return _to GetDSN(aDSN); } \
  NS_IMETHOD SetDSN(bool aDSN) override { return _to SetDSN(aDSN); } \
  NS_IMETHOD GetAttachVCard(bool *aAttachVCard) override { return _to GetAttachVCard(aAttachVCard); } \
  NS_IMETHOD SetAttachVCard(bool aAttachVCard) override { return _to SetAttachVCard(aAttachVCard); } \
  NS_IMETHOD GetForcePlainText(bool *aForcePlainText) override { return _to GetForcePlainText(aForcePlainText); } \
  NS_IMETHOD SetForcePlainText(bool aForcePlainText) override { return _to SetForcePlainText(aForcePlainText); } \
  NS_IMETHOD GetUseMultipartAlternative(bool *aUseMultipartAlternative) override { return _to GetUseMultipartAlternative(aUseMultipartAlternative); } \
  NS_IMETHOD SetUseMultipartAlternative(bool aUseMultipartAlternative) override { return _to SetUseMultipartAlternative(aUseMultipartAlternative); } \
  NS_IMETHOD GetBodyIsAsciiOnly(bool *aBodyIsAsciiOnly) override { return _to GetBodyIsAsciiOnly(aBodyIsAsciiOnly); } \
  NS_IMETHOD SetBodyIsAsciiOnly(bool aBodyIsAsciiOnly) override { return _to SetBodyIsAsciiOnly(aBodyIsAsciiOnly); } \
  NS_IMETHOD GetForceMsgEncoding(bool *aForceMsgEncoding) override { return _to GetForceMsgEncoding(aForceMsgEncoding); } \
  NS_IMETHOD SetForceMsgEncoding(bool aForceMsgEncoding) override { return _to SetForceMsgEncoding(aForceMsgEncoding); } \
  NS_IMETHOD GetAttachmentReminder(bool *aAttachmentReminder) override { return _to GetAttachmentReminder(aAttachmentReminder); } \
  NS_IMETHOD SetAttachmentReminder(bool aAttachmentReminder) override { return _to SetAttachmentReminder(aAttachmentReminder); } \
  NS_IMETHOD GetDeliveryFormat(int32_t *aDeliveryFormat) override { return _to GetDeliveryFormat(aDeliveryFormat); } \
  NS_IMETHOD SetDeliveryFormat(int32_t aDeliveryFormat) override { return _to SetDeliveryFormat(aDeliveryFormat); } \
  NS_IMETHOD GetContentLanguage(char * *aContentLanguage) override { return _to GetContentLanguage(aContentLanguage); } \
  NS_IMETHOD SetContentLanguage(const char * aContentLanguage) override { return _to SetContentLanguage(aContentLanguage); } \
  NS_IMETHOD GetCreatorIdentityKey(char * *aCreatorIdentityKey) override { return _to GetCreatorIdentityKey(aCreatorIdentityKey); } \
  NS_IMETHOD SetCreatorIdentityKey(const char * aCreatorIdentityKey) override { return _to SetCreatorIdentityKey(aCreatorIdentityKey); } \
  NS_IMETHOD GetBody(nsAString & aBody) override { return _to GetBody(aBody); } \
  NS_IMETHOD SetBody(const nsAString & aBody) override { return _to SetBody(aBody); } \
  NS_IMETHOD GetAttachments(nsISimpleEnumerator * *aAttachments) override { return _to GetAttachments(aAttachments); } \
  NS_IMETHOD AddAttachment(nsIMsgAttachment *attachment) override { return _to AddAttachment(attachment); } \
  NS_IMETHOD RemoveAttachment(nsIMsgAttachment *attachment) override { return _to RemoveAttachment(attachment); } \
  NS_IMETHOD RemoveAttachments(void) override { return _to RemoveAttachments(); } \
  NS_IMETHOD SplitRecipients(const nsAString & aRecipients, bool aEmailAddressOnly, uint32_t *aLength, char16_t * **aResult) override { return _to SplitRecipients(aRecipients, aEmailAddressOnly, aLength, aResult); } \
  NS_IMETHOD ConvertBodyToPlainText(void) override { return _to ConvertBodyToPlainText(); } \
  NS_IMETHOD GetNeedToCheckCharset(bool *aNeedToCheckCharset) override { return _to GetNeedToCheckCharset(aNeedToCheckCharset); } \
  NS_IMETHOD SetNeedToCheckCharset(bool aNeedToCheckCharset) override { return _to SetNeedToCheckCharset(aNeedToCheckCharset); } \
  NS_IMETHOD GetSecurityInfo(nsISupports * *aSecurityInfo) override { return _to GetSecurityInfo(aSecurityInfo); } \
  NS_IMETHOD SetSecurityInfo(nsISupports *aSecurityInfo) override { return _to SetSecurityInfo(aSecurityInfo); } 

/* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
#define NS_FORWARD_SAFE_NSIMSGCOMPFIELDS(_to) \
  NS_IMETHOD GetFrom(nsAString & aFrom) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetFrom(aFrom); } \
  NS_IMETHOD SetFrom(const nsAString & aFrom) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetFrom(aFrom); } \
  NS_IMETHOD GetReplyTo(nsAString & aReplyTo) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetReplyTo(aReplyTo); } \
  NS_IMETHOD SetReplyTo(const nsAString & aReplyTo) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetReplyTo(aReplyTo); } \
  NS_IMETHOD GetTo(nsAString & aTo) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetTo(aTo); } \
  NS_IMETHOD SetTo(const nsAString & aTo) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetTo(aTo); } \
  NS_IMETHOD GetCc(nsAString & aCc) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetCc(aCc); } \
  NS_IMETHOD SetCc(const nsAString & aCc) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetCc(aCc); } \
  NS_IMETHOD GetBcc(nsAString & aBcc) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetBcc(aBcc); } \
  NS_IMETHOD SetBcc(const nsAString & aBcc) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetBcc(aBcc); } \
  NS_IMETHOD GetHasRecipients(bool *aHasRecipients) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetHasRecipients(aHasRecipients); } \
  NS_IMETHOD GetFcc(nsAString & aFcc) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetFcc(aFcc); } \
  NS_IMETHOD SetFcc(const nsAString & aFcc) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetFcc(aFcc); } \
  NS_IMETHOD GetFcc2(nsAString & aFcc2) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetFcc2(aFcc2); } \
  NS_IMETHOD SetFcc2(const nsAString & aFcc2) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetFcc2(aFcc2); } \
  NS_IMETHOD GetNewsgroups(nsAString & aNewsgroups) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetNewsgroups(aNewsgroups); } \
  NS_IMETHOD SetNewsgroups(const nsAString & aNewsgroups) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetNewsgroups(aNewsgroups); } \
  NS_IMETHOD GetNewspostUrl(char * *aNewspostUrl) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetNewspostUrl(aNewspostUrl); } \
  NS_IMETHOD SetNewspostUrl(const char * aNewspostUrl) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetNewspostUrl(aNewspostUrl); } \
  NS_IMETHOD GetFollowupTo(nsAString & aFollowupTo) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetFollowupTo(aFollowupTo); } \
  NS_IMETHOD SetFollowupTo(const nsAString & aFollowupTo) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetFollowupTo(aFollowupTo); } \
  NS_IMETHOD GetSubject(nsAString & aSubject) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetSubject(aSubject); } \
  NS_IMETHOD SetSubject(const nsAString & aSubject) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetSubject(aSubject); } \
  NS_IMETHOD GetOrganization(nsAString & aOrganization) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetOrganization(aOrganization); } \
  NS_IMETHOD SetOrganization(const nsAString & aOrganization) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetOrganization(aOrganization); } \
  NS_IMETHOD GetReferences(char * *aReferences) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetReferences(aReferences); } \
  NS_IMETHOD SetReferences(const char * aReferences) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetReferences(aReferences); } \
  NS_IMETHOD GetPriority(char * *aPriority) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetPriority(aPriority); } \
  NS_IMETHOD SetPriority(const char * aPriority) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetPriority(aPriority); } \
  NS_IMETHOD GetMessageId(char * *aMessageId) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetMessageId(aMessageId); } \
  NS_IMETHOD SetMessageId(const char * aMessageId) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetMessageId(aMessageId); } \
  NS_IMETHOD GetCharacterSet(char * *aCharacterSet) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetCharacterSet(aCharacterSet); } \
  NS_IMETHOD SetCharacterSet(const char * aCharacterSet) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetCharacterSet(aCharacterSet); } \
  NS_IMETHOD GetDefaultCharacterSet(char * *aDefaultCharacterSet) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetDefaultCharacterSet(aDefaultCharacterSet); } \
  NS_IMETHOD GetTemplateName(nsAString & aTemplateName) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetTemplateName(aTemplateName); } \
  NS_IMETHOD SetTemplateName(const nsAString & aTemplateName) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetTemplateName(aTemplateName); } \
  NS_IMETHOD GetDraftId(char * *aDraftId) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetDraftId(aDraftId); } \
  NS_IMETHOD SetDraftId(const char * aDraftId) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetDraftId(aDraftId); } \
  NS_IMETHOD GetReturnReceipt(bool *aReturnReceipt) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetReturnReceipt(aReturnReceipt); } \
  NS_IMETHOD SetReturnReceipt(bool aReturnReceipt) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetReturnReceipt(aReturnReceipt); } \
  NS_IMETHOD GetReceiptHeaderType(int32_t *aReceiptHeaderType) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetReceiptHeaderType(aReceiptHeaderType); } \
  NS_IMETHOD SetReceiptHeaderType(int32_t aReceiptHeaderType) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetReceiptHeaderType(aReceiptHeaderType); } \
  NS_IMETHOD GetDSN(bool *aDSN) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetDSN(aDSN); } \
  NS_IMETHOD SetDSN(bool aDSN) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetDSN(aDSN); } \
  NS_IMETHOD GetAttachVCard(bool *aAttachVCard) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetAttachVCard(aAttachVCard); } \
  NS_IMETHOD SetAttachVCard(bool aAttachVCard) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetAttachVCard(aAttachVCard); } \
  NS_IMETHOD GetForcePlainText(bool *aForcePlainText) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetForcePlainText(aForcePlainText); } \
  NS_IMETHOD SetForcePlainText(bool aForcePlainText) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetForcePlainText(aForcePlainText); } \
  NS_IMETHOD GetUseMultipartAlternative(bool *aUseMultipartAlternative) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetUseMultipartAlternative(aUseMultipartAlternative); } \
  NS_IMETHOD SetUseMultipartAlternative(bool aUseMultipartAlternative) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetUseMultipartAlternative(aUseMultipartAlternative); } \
  NS_IMETHOD GetBodyIsAsciiOnly(bool *aBodyIsAsciiOnly) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetBodyIsAsciiOnly(aBodyIsAsciiOnly); } \
  NS_IMETHOD SetBodyIsAsciiOnly(bool aBodyIsAsciiOnly) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetBodyIsAsciiOnly(aBodyIsAsciiOnly); } \
  NS_IMETHOD GetForceMsgEncoding(bool *aForceMsgEncoding) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetForceMsgEncoding(aForceMsgEncoding); } \
  NS_IMETHOD SetForceMsgEncoding(bool aForceMsgEncoding) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetForceMsgEncoding(aForceMsgEncoding); } \
  NS_IMETHOD GetAttachmentReminder(bool *aAttachmentReminder) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetAttachmentReminder(aAttachmentReminder); } \
  NS_IMETHOD SetAttachmentReminder(bool aAttachmentReminder) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetAttachmentReminder(aAttachmentReminder); } \
  NS_IMETHOD GetDeliveryFormat(int32_t *aDeliveryFormat) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetDeliveryFormat(aDeliveryFormat); } \
  NS_IMETHOD SetDeliveryFormat(int32_t aDeliveryFormat) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetDeliveryFormat(aDeliveryFormat); } \
  NS_IMETHOD GetContentLanguage(char * *aContentLanguage) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetContentLanguage(aContentLanguage); } \
  NS_IMETHOD SetContentLanguage(const char * aContentLanguage) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetContentLanguage(aContentLanguage); } \
  NS_IMETHOD GetCreatorIdentityKey(char * *aCreatorIdentityKey) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetCreatorIdentityKey(aCreatorIdentityKey); } \
  NS_IMETHOD SetCreatorIdentityKey(const char * aCreatorIdentityKey) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetCreatorIdentityKey(aCreatorIdentityKey); } \
  NS_IMETHOD GetBody(nsAString & aBody) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetBody(aBody); } \
  NS_IMETHOD SetBody(const nsAString & aBody) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetBody(aBody); } \
  NS_IMETHOD GetAttachments(nsISimpleEnumerator * *aAttachments) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetAttachments(aAttachments); } \
  NS_IMETHOD AddAttachment(nsIMsgAttachment *attachment) override { return !_to ? NS_ERROR_NULL_POINTER : _to->AddAttachment(attachment); } \
  NS_IMETHOD RemoveAttachment(nsIMsgAttachment *attachment) override { return !_to ? NS_ERROR_NULL_POINTER : _to->RemoveAttachment(attachment); } \
  NS_IMETHOD RemoveAttachments(void) override { return !_to ? NS_ERROR_NULL_POINTER : _to->RemoveAttachments(); } \
  NS_IMETHOD SplitRecipients(const nsAString & aRecipients, bool aEmailAddressOnly, uint32_t *aLength, char16_t * **aResult) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SplitRecipients(aRecipients, aEmailAddressOnly, aLength, aResult); } \
  NS_IMETHOD ConvertBodyToPlainText(void) override { return !_to ? NS_ERROR_NULL_POINTER : _to->ConvertBodyToPlainText(); } \
  NS_IMETHOD GetNeedToCheckCharset(bool *aNeedToCheckCharset) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetNeedToCheckCharset(aNeedToCheckCharset); } \
  NS_IMETHOD SetNeedToCheckCharset(bool aNeedToCheckCharset) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetNeedToCheckCharset(aNeedToCheckCharset); } \
  NS_IMETHOD GetSecurityInfo(nsISupports * *aSecurityInfo) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetSecurityInfo(aSecurityInfo); } \
  NS_IMETHOD SetSecurityInfo(nsISupports *aSecurityInfo) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetSecurityInfo(aSecurityInfo); } 

#if 0
/* Use the code below as a template for the implementation class for this interface. */

/* Header file */
class nsMsgCompFields : public nsIMsgCompFields
{
public:
  NS_DECL_ISUPPORTS
  NS_DECL_NSIMSGCOMPFIELDS

  nsMsgCompFields();

private:
  ~nsMsgCompFields();

protected:
  /* additional members */
};

/* Implementation file */
NS_IMPL_ISUPPORTS(nsMsgCompFields, nsIMsgCompFields)

nsMsgCompFields::nsMsgCompFields()
{
  /* member initializers and constructor code */
}

nsMsgCompFields::~nsMsgCompFields()
{
  /* destructor code */
}

/* attribute AString from; */
NS_IMETHODIMP nsMsgCompFields::GetFrom(nsAString & aFrom)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgCompFields::SetFrom(const nsAString & aFrom)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute AString replyTo; */
NS_IMETHODIMP nsMsgCompFields::GetReplyTo(nsAString & aReplyTo)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgCompFields::SetReplyTo(const nsAString & aReplyTo)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute AString to; */
NS_IMETHODIMP nsMsgCompFields::GetTo(nsAString & aTo)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgCompFields::SetTo(const nsAString & aTo)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute AString cc; */
NS_IMETHODIMP nsMsgCompFields::GetCc(nsAString & aCc)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgCompFields::SetCc(const nsAString & aCc)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute AString bcc; */
NS_IMETHODIMP nsMsgCompFields::GetBcc(nsAString & aBcc)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgCompFields::SetBcc(const nsAString & aBcc)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute bool hasRecipients; */
NS_IMETHODIMP nsMsgCompFields::GetHasRecipients(bool *aHasRecipients)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute AString fcc; */
NS_IMETHODIMP nsMsgCompFields::GetFcc(nsAString & aFcc)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgCompFields::SetFcc(const nsAString & aFcc)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute AString fcc2; */
NS_IMETHODIMP nsMsgCompFields::GetFcc2(nsAString & aFcc2)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgCompFields::SetFcc2(const nsAString & aFcc2)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute AString newsgroups; */
NS_IMETHODIMP nsMsgCompFields::GetNewsgroups(nsAString & aNewsgroups)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgCompFields::SetNewsgroups(const nsAString & aNewsgroups)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute string newspostUrl; */
NS_IMETHODIMP nsMsgCompFields::GetNewspostUrl(char * *aNewspostUrl)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgCompFields::SetNewspostUrl(const char * aNewspostUrl)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute AString followupTo; */
NS_IMETHODIMP nsMsgCompFields::GetFollowupTo(nsAString & aFollowupTo)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgCompFields::SetFollowupTo(const nsAString & aFollowupTo)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute AString subject; */
NS_IMETHODIMP nsMsgCompFields::GetSubject(nsAString & aSubject)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgCompFields::SetSubject(const nsAString & aSubject)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute AString organization; */
NS_IMETHODIMP nsMsgCompFields::GetOrganization(nsAString & aOrganization)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgCompFields::SetOrganization(const nsAString & aOrganization)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute string references; */
NS_IMETHODIMP nsMsgCompFields::GetReferences(char * *aReferences)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgCompFields::SetReferences(const char * aReferences)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute string priority; */
NS_IMETHODIMP nsMsgCompFields::GetPriority(char * *aPriority)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgCompFields::SetPriority(const char * aPriority)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute string messageId; */
NS_IMETHODIMP nsMsgCompFields::GetMessageId(char * *aMessageId)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgCompFields::SetMessageId(const char * aMessageId)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute string characterSet; */
NS_IMETHODIMP nsMsgCompFields::GetCharacterSet(char * *aCharacterSet)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgCompFields::SetCharacterSet(const char * aCharacterSet)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute string defaultCharacterSet; */
NS_IMETHODIMP nsMsgCompFields::GetDefaultCharacterSet(char * *aDefaultCharacterSet)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute AString templateName; */
NS_IMETHODIMP nsMsgCompFields::GetTemplateName(nsAString & aTemplateName)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgCompFields::SetTemplateName(const nsAString & aTemplateName)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute string draftId; */
NS_IMETHODIMP nsMsgCompFields::GetDraftId(char * *aDraftId)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgCompFields::SetDraftId(const char * aDraftId)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute boolean returnReceipt; */
NS_IMETHODIMP nsMsgCompFields::GetReturnReceipt(bool *aReturnReceipt)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgCompFields::SetReturnReceipt(bool aReturnReceipt)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute long receiptHeaderType; */
NS_IMETHODIMP nsMsgCompFields::GetReceiptHeaderType(int32_t *aReceiptHeaderType)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgCompFields::SetReceiptHeaderType(int32_t aReceiptHeaderType)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute boolean DSN; */
NS_IMETHODIMP nsMsgCompFields::GetDSN(bool *aDSN)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgCompFields::SetDSN(bool aDSN)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute boolean attachVCard; */
NS_IMETHODIMP nsMsgCompFields::GetAttachVCard(bool *aAttachVCard)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgCompFields::SetAttachVCard(bool aAttachVCard)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute boolean forcePlainText; */
NS_IMETHODIMP nsMsgCompFields::GetForcePlainText(bool *aForcePlainText)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgCompFields::SetForcePlainText(bool aForcePlainText)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute boolean useMultipartAlternative; */
NS_IMETHODIMP nsMsgCompFields::GetUseMultipartAlternative(bool *aUseMultipartAlternative)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgCompFields::SetUseMultipartAlternative(bool aUseMultipartAlternative)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute boolean bodyIsAsciiOnly; */
NS_IMETHODIMP nsMsgCompFields::GetBodyIsAsciiOnly(bool *aBodyIsAsciiOnly)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgCompFields::SetBodyIsAsciiOnly(bool aBodyIsAsciiOnly)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute boolean forceMsgEncoding; */
NS_IMETHODIMP nsMsgCompFields::GetForceMsgEncoding(bool *aForceMsgEncoding)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgCompFields::SetForceMsgEncoding(bool aForceMsgEncoding)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute boolean attachmentReminder; */
NS_IMETHODIMP nsMsgCompFields::GetAttachmentReminder(bool *aAttachmentReminder)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgCompFields::SetAttachmentReminder(bool aAttachmentReminder)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute long deliveryFormat; */
NS_IMETHODIMP nsMsgCompFields::GetDeliveryFormat(int32_t *aDeliveryFormat)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgCompFields::SetDeliveryFormat(int32_t aDeliveryFormat)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute string contentLanguage; */
NS_IMETHODIMP nsMsgCompFields::GetContentLanguage(char * *aContentLanguage)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgCompFields::SetContentLanguage(const char * aContentLanguage)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute string creatorIdentityKey; */
NS_IMETHODIMP nsMsgCompFields::GetCreatorIdentityKey(char * *aCreatorIdentityKey)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgCompFields::SetCreatorIdentityKey(const char * aCreatorIdentityKey)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute AString body; */
NS_IMETHODIMP nsMsgCompFields::GetBody(nsAString & aBody)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgCompFields::SetBody(const nsAString & aBody)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute nsISimpleEnumerator attachments; */
NS_IMETHODIMP nsMsgCompFields::GetAttachments(nsISimpleEnumerator * *aAttachments)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void addAttachment (in nsIMsgAttachment attachment); */
NS_IMETHODIMP nsMsgCompFields::AddAttachment(nsIMsgAttachment *attachment)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void removeAttachment (in nsIMsgAttachment attachment); */
NS_IMETHODIMP nsMsgCompFields::RemoveAttachment(nsIMsgAttachment *attachment)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void removeAttachments (); */
NS_IMETHODIMP nsMsgCompFields::RemoveAttachments()
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void splitRecipients (in AString aRecipients, in boolean aEmailAddressOnly, out unsigned long aLength, [array, size_is (aLength), retval] out wstring aResult); */
NS_IMETHODIMP nsMsgCompFields::SplitRecipients(const nsAString & aRecipients, bool aEmailAddressOnly, uint32_t *aLength, char16_t * **aResult)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void ConvertBodyToPlainText (); */
NS_IMETHODIMP nsMsgCompFields::ConvertBodyToPlainText()
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute boolean needToCheckCharset; */
NS_IMETHODIMP nsMsgCompFields::GetNeedToCheckCharset(bool *aNeedToCheckCharset)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgCompFields::SetNeedToCheckCharset(bool aNeedToCheckCharset)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute nsISupports securityInfo; */
NS_IMETHODIMP nsMsgCompFields::GetSecurityInfo(nsISupports * *aSecurityInfo)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgCompFields::SetSecurityInfo(nsISupports *aSecurityInfo)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* End of implementation class template. */
#endif


#endif /* __gen_nsIMsgCompFields_h__ */
