/*
 * DO NOT EDIT.  THIS FILE IS GENERATED FROM /tmp/comm-release/mailnews/base/public/nsIMsgHdr.idl
 */

#ifndef __gen_nsIMsgHdr_h__
#define __gen_nsIMsgHdr_h__


#ifndef __gen_nsISupports_h__
#include "nsISupports.h"
#endif

#ifndef __gen_MailNewsTypes2_h__
#include "MailNewsTypes2.h"
#endif

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

class nsIUTF8StringEnumerator; /* forward declaration */


/* starting interface:    nsIMsgDBHdr */
#define NS_IMSGDBHDR_IID_STR "36adf826-73f4-48e7-a444-318242ea8a8e"

#define NS_IMSGDBHDR_IID \
  {0x36adf826, 0x73f4, 0x48e7, \
    { 0xa4, 0x44, 0x31, 0x82, 0x42, 0xea, 0x8a, 0x8e }}

class NS_NO_VTABLE NS_SCRIPTABLE nsIMsgDBHdr : public nsISupports {
 public: 

  NS_DECLARE_STATIC_IID_ACCESSOR(NS_IMSGDBHDR_IID)

  /* AString getProperty (in string propertyName); */
  NS_SCRIPTABLE NS_IMETHOD GetProperty(const char * propertyName, nsAString & _retval NS_OUTPARAM) = 0;

  /* void setProperty (in string propertyName, in AString propertyStr); */
  NS_SCRIPTABLE NS_IMETHOD SetProperty(const char * propertyName, const nsAString & propertyStr) = 0;

  /* void setStringProperty (in string propertyName, in string propertyValue); */
  NS_SCRIPTABLE NS_IMETHOD SetStringProperty(const char * propertyName, const char * propertyValue) = 0;

  /* string getStringProperty (in string propertyName); */
  NS_SCRIPTABLE NS_IMETHOD GetStringProperty(const char * propertyName, char * *_retval NS_OUTPARAM) = 0;

  /* unsigned long getUint32Property (in string propertyName); */
  NS_SCRIPTABLE NS_IMETHOD GetUint32Property(const char * propertyName, PRUint32 *_retval NS_OUTPARAM) = 0;

  /* void setUint32Property (in string propertyName, in unsigned long propertyVal); */
  NS_SCRIPTABLE NS_IMETHOD SetUint32Property(const char * propertyName, PRUint32 propertyVal) = 0;

  /* readonly attribute boolean isRead; */
  NS_SCRIPTABLE NS_IMETHOD GetIsRead(bool *aIsRead) = 0;

  /* readonly attribute boolean isFlagged; */
  NS_SCRIPTABLE NS_IMETHOD GetIsFlagged(bool *aIsFlagged) = 0;

  /* readonly attribute boolean isKilled; */
  NS_SCRIPTABLE NS_IMETHOD GetIsKilled(bool *aIsKilled) = 0;

  /* void markRead (in boolean read); */
  NS_SCRIPTABLE NS_IMETHOD MarkRead(bool read) = 0;

  /* void markFlagged (in boolean flagged); */
  NS_SCRIPTABLE NS_IMETHOD MarkFlagged(bool flagged) = 0;

  /* void markHasAttachments (in boolean hasAttachments); */
  NS_SCRIPTABLE NS_IMETHOD MarkHasAttachments(bool hasAttachments) = 0;

  /* attribute nsMsgPriorityValue priority; */
  NS_SCRIPTABLE NS_IMETHOD GetPriority(nsMsgPriorityValue *aPriority) = 0;
  NS_SCRIPTABLE NS_IMETHOD SetPriority(nsMsgPriorityValue aPriority) = 0;

  /* void setPriorityString (in string priority); */
  NS_SCRIPTABLE NS_IMETHOD SetPriorityString(const char * priority) = 0;

  /* attribute unsigned long flags; */
  NS_SCRIPTABLE NS_IMETHOD GetFlags(PRUint32 *aFlags) = 0;
  NS_SCRIPTABLE NS_IMETHOD SetFlags(PRUint32 aFlags) = 0;

  /* unsigned long OrFlags (in unsigned long flags); */
  NS_SCRIPTABLE NS_IMETHOD OrFlags(PRUint32 flags, PRUint32 *_retval NS_OUTPARAM) = 0;

  /* unsigned long AndFlags (in unsigned long flags); */
  NS_SCRIPTABLE NS_IMETHOD AndFlags(PRUint32 flags, PRUint32 *_retval NS_OUTPARAM) = 0;

  /* attribute nsMsgKey threadId; */
  NS_SCRIPTABLE NS_IMETHOD GetThreadId(nsMsgKey *aThreadId) = 0;
  NS_SCRIPTABLE NS_IMETHOD SetThreadId(nsMsgKey aThreadId) = 0;

  /* attribute nsMsgKey messageKey; */
  NS_SCRIPTABLE NS_IMETHOD GetMessageKey(nsMsgKey *aMessageKey) = 0;
  NS_SCRIPTABLE NS_IMETHOD SetMessageKey(nsMsgKey aMessageKey) = 0;

  /* attribute nsMsgKey threadParent; */
  NS_SCRIPTABLE NS_IMETHOD GetThreadParent(nsMsgKey *aThreadParent) = 0;
  NS_SCRIPTABLE NS_IMETHOD SetThreadParent(nsMsgKey aThreadParent) = 0;

  /* attribute unsigned long messageSize; */
  NS_SCRIPTABLE NS_IMETHOD GetMessageSize(PRUint32 *aMessageSize) = 0;
  NS_SCRIPTABLE NS_IMETHOD SetMessageSize(PRUint32 aMessageSize) = 0;

  /* attribute unsigned long lineCount; */
  NS_SCRIPTABLE NS_IMETHOD GetLineCount(PRUint32 *aLineCount) = 0;
  NS_SCRIPTABLE NS_IMETHOD SetLineCount(PRUint32 aLineCount) = 0;

  /* attribute unsigned long statusOffset; */
  NS_SCRIPTABLE NS_IMETHOD GetStatusOffset(PRUint32 *aStatusOffset) = 0;
  NS_SCRIPTABLE NS_IMETHOD SetStatusOffset(PRUint32 aStatusOffset) = 0;

  /* attribute unsigned long long messageOffset; */
  NS_SCRIPTABLE NS_IMETHOD GetMessageOffset(PRUint64 *aMessageOffset) = 0;
  NS_SCRIPTABLE NS_IMETHOD SetMessageOffset(PRUint64 aMessageOffset) = 0;

  /* attribute unsigned long offlineMessageSize; */
  NS_SCRIPTABLE NS_IMETHOD GetOfflineMessageSize(PRUint32 *aOfflineMessageSize) = 0;
  NS_SCRIPTABLE NS_IMETHOD SetOfflineMessageSize(PRUint32 aOfflineMessageSize) = 0;

  /* attribute PRTime date; */
  NS_SCRIPTABLE NS_IMETHOD GetDate(PRTime *aDate) = 0;
  NS_SCRIPTABLE NS_IMETHOD SetDate(PRTime aDate) = 0;

  /* readonly attribute unsigned long dateInSeconds; */
  NS_SCRIPTABLE NS_IMETHOD GetDateInSeconds(PRUint32 *aDateInSeconds) = 0;

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

  /* attribute string ccList; */
  NS_SCRIPTABLE NS_IMETHOD GetCcList(char * *aCcList) = 0;
  NS_SCRIPTABLE NS_IMETHOD SetCcList(const char * aCcList) = 0;

  /* attribute string bccList; */
  NS_SCRIPTABLE NS_IMETHOD GetBccList(char * *aBccList) = 0;
  NS_SCRIPTABLE NS_IMETHOD SetBccList(const char * aBccList) = 0;

  /* attribute string author; */
  NS_SCRIPTABLE NS_IMETHOD GetAuthor(char * *aAuthor) = 0;
  NS_SCRIPTABLE NS_IMETHOD SetAuthor(const char * aAuthor) = 0;

  /* attribute string subject; */
  NS_SCRIPTABLE NS_IMETHOD GetSubject(char * *aSubject) = 0;
  NS_SCRIPTABLE NS_IMETHOD SetSubject(const char * aSubject) = 0;

  /* attribute string recipients; */
  NS_SCRIPTABLE NS_IMETHOD GetRecipients(char * *aRecipients) = 0;
  NS_SCRIPTABLE NS_IMETHOD SetRecipients(const char * aRecipients) = 0;

  /* void setReferences (in string references); */
  NS_SCRIPTABLE NS_IMETHOD SetReferences(const char * references) = 0;

  /* readonly attribute unsigned short numReferences; */
  NS_SCRIPTABLE NS_IMETHOD GetNumReferences(PRUint16 *aNumReferences) = 0;

  /* ACString getStringReference (in long refNum); */
  NS_SCRIPTABLE NS_IMETHOD GetStringReference(PRInt32 refNum, nsACString & _retval NS_OUTPARAM) = 0;

  /* void setRecipientsArray (in string names, in string addresses, in unsigned long numAddresses); */
  NS_SCRIPTABLE NS_IMETHOD SetRecipientsArray(const char * names, const char * addresses, PRUint32 numAddresses) = 0;

  /* void setCCListArray (in string names, in string addresses, in unsigned long numAddresses); */
  NS_SCRIPTABLE NS_IMETHOD SetCCListArray(const char * names, const char * addresses, PRUint32 numAddresses) = 0;

  /* void setBCCListArray (in string names, in string addresses, in unsigned long numAddresses); */
  NS_SCRIPTABLE NS_IMETHOD SetBCCListArray(const char * names, const char * addresses, PRUint32 numAddresses) = 0;

  /* readonly attribute AString mime2DecodedAuthor; */
  NS_SCRIPTABLE NS_IMETHOD GetMime2DecodedAuthor(nsAString & aMime2DecodedAuthor) = 0;

  /* readonly attribute AString mime2DecodedSubject; */
  NS_SCRIPTABLE NS_IMETHOD GetMime2DecodedSubject(nsAString & aMime2DecodedSubject) = 0;

  /* readonly attribute AString mime2DecodedRecipients; */
  NS_SCRIPTABLE NS_IMETHOD GetMime2DecodedRecipients(nsAString & aMime2DecodedRecipients) = 0;

  /* void getAuthorCollationKey (out unsigned long aCount, [array, size_is (aCount)] out octet aKey); */
  NS_SCRIPTABLE NS_IMETHOD GetAuthorCollationKey(PRUint32 *aCount NS_OUTPARAM, PRUint8 **aKey NS_OUTPARAM) = 0;

  /* void getSubjectCollationKey (out unsigned long aCount, [array, size_is (aCount)] out octet aKey); */
  NS_SCRIPTABLE NS_IMETHOD GetSubjectCollationKey(PRUint32 *aCount NS_OUTPARAM, PRUint8 **aKey NS_OUTPARAM) = 0;

  /* void getRecipientsCollationKey (out unsigned long aCount, [array, size_is (aCount)] out octet aKey); */
  NS_SCRIPTABLE NS_IMETHOD GetRecipientsCollationKey(PRUint32 *aCount NS_OUTPARAM, PRUint8 **aKey NS_OUTPARAM) = 0;

  /* attribute string Charset; */
  NS_SCRIPTABLE NS_IMETHOD GetCharset(char * *aCharset) = 0;
  NS_SCRIPTABLE NS_IMETHOD SetCharset(const char * aCharset) = 0;

  /* attribute nsMsgLabelValue label; */
  NS_SCRIPTABLE NS_IMETHOD GetLabel(nsMsgLabelValue *aLabel) = 0;
  NS_SCRIPTABLE NS_IMETHOD SetLabel(nsMsgLabelValue aLabel) = 0;

  /* attribute string accountKey; */
  NS_SCRIPTABLE NS_IMETHOD GetAccountKey(char * *aAccountKey) = 0;
  NS_SCRIPTABLE NS_IMETHOD SetAccountKey(const char * aAccountKey) = 0;

  /* readonly attribute nsIMsgFolder folder; */
  NS_SCRIPTABLE NS_IMETHOD GetFolder(nsIMsgFolder * *aFolder) = 0;

  /* readonly attribute nsIUTF8StringEnumerator propertyEnumerator; */
  NS_SCRIPTABLE NS_IMETHOD GetPropertyEnumerator(nsIUTF8StringEnumerator * *aPropertyEnumerator) = 0;

};

  NS_DEFINE_STATIC_IID_ACCESSOR(nsIMsgDBHdr, NS_IMSGDBHDR_IID)

/* Use this macro when declaring classes that implement this interface. */
#define NS_DECL_NSIMSGDBHDR \
  NS_SCRIPTABLE NS_IMETHOD GetProperty(const char * propertyName, nsAString & _retval NS_OUTPARAM); \
  NS_SCRIPTABLE NS_IMETHOD SetProperty(const char * propertyName, const nsAString & propertyStr); \
  NS_SCRIPTABLE NS_IMETHOD SetStringProperty(const char * propertyName, const char * propertyValue); \
  NS_SCRIPTABLE NS_IMETHOD GetStringProperty(const char * propertyName, char * *_retval NS_OUTPARAM); \
  NS_SCRIPTABLE NS_IMETHOD GetUint32Property(const char * propertyName, PRUint32 *_retval NS_OUTPARAM); \
  NS_SCRIPTABLE NS_IMETHOD SetUint32Property(const char * propertyName, PRUint32 propertyVal); \
  NS_SCRIPTABLE NS_IMETHOD GetIsRead(bool *aIsRead); \
  NS_SCRIPTABLE NS_IMETHOD GetIsFlagged(bool *aIsFlagged); \
  NS_SCRIPTABLE NS_IMETHOD GetIsKilled(bool *aIsKilled); \
  NS_SCRIPTABLE NS_IMETHOD MarkRead(bool read); \
  NS_SCRIPTABLE NS_IMETHOD MarkFlagged(bool flagged); \
  NS_SCRIPTABLE NS_IMETHOD MarkHasAttachments(bool hasAttachments); \
  NS_SCRIPTABLE NS_IMETHOD GetPriority(nsMsgPriorityValue *aPriority); \
  NS_SCRIPTABLE NS_IMETHOD SetPriority(nsMsgPriorityValue aPriority); \
  NS_SCRIPTABLE NS_IMETHOD SetPriorityString(const char * priority); \
  NS_SCRIPTABLE NS_IMETHOD GetFlags(PRUint32 *aFlags); \
  NS_SCRIPTABLE NS_IMETHOD SetFlags(PRUint32 aFlags); \
  NS_SCRIPTABLE NS_IMETHOD OrFlags(PRUint32 flags, PRUint32 *_retval NS_OUTPARAM); \
  NS_SCRIPTABLE NS_IMETHOD AndFlags(PRUint32 flags, PRUint32 *_retval NS_OUTPARAM); \
  NS_SCRIPTABLE NS_IMETHOD GetThreadId(nsMsgKey *aThreadId); \
  NS_SCRIPTABLE NS_IMETHOD SetThreadId(nsMsgKey aThreadId); \
  NS_SCRIPTABLE NS_IMETHOD GetMessageKey(nsMsgKey *aMessageKey); \
  NS_SCRIPTABLE NS_IMETHOD SetMessageKey(nsMsgKey aMessageKey); \
  NS_SCRIPTABLE NS_IMETHOD GetThreadParent(nsMsgKey *aThreadParent); \
  NS_SCRIPTABLE NS_IMETHOD SetThreadParent(nsMsgKey aThreadParent); \
  NS_SCRIPTABLE NS_IMETHOD GetMessageSize(PRUint32 *aMessageSize); \
  NS_SCRIPTABLE NS_IMETHOD SetMessageSize(PRUint32 aMessageSize); \
  NS_SCRIPTABLE NS_IMETHOD GetLineCount(PRUint32 *aLineCount); \
  NS_SCRIPTABLE NS_IMETHOD SetLineCount(PRUint32 aLineCount); \
  NS_SCRIPTABLE NS_IMETHOD GetStatusOffset(PRUint32 *aStatusOffset); \
  NS_SCRIPTABLE NS_IMETHOD SetStatusOffset(PRUint32 aStatusOffset); \
  NS_SCRIPTABLE NS_IMETHOD GetMessageOffset(PRUint64 *aMessageOffset); \
  NS_SCRIPTABLE NS_IMETHOD SetMessageOffset(PRUint64 aMessageOffset); \
  NS_SCRIPTABLE NS_IMETHOD GetOfflineMessageSize(PRUint32 *aOfflineMessageSize); \
  NS_SCRIPTABLE NS_IMETHOD SetOfflineMessageSize(PRUint32 aOfflineMessageSize); \
  NS_SCRIPTABLE NS_IMETHOD GetDate(PRTime *aDate); \
  NS_SCRIPTABLE NS_IMETHOD SetDate(PRTime aDate); \
  NS_SCRIPTABLE NS_IMETHOD GetDateInSeconds(PRUint32 *aDateInSeconds); \
  NS_SCRIPTABLE NS_IMETHOD GetMessageId(char * *aMessageId); \
  NS_SCRIPTABLE NS_IMETHOD SetMessageId(const char * aMessageId); \
  NS_SCRIPTABLE NS_IMETHOD GetCcList(char * *aCcList); \
  NS_SCRIPTABLE NS_IMETHOD SetCcList(const char * aCcList); \
  NS_SCRIPTABLE NS_IMETHOD GetBccList(char * *aBccList); \
  NS_SCRIPTABLE NS_IMETHOD SetBccList(const char * aBccList); \
  NS_SCRIPTABLE NS_IMETHOD GetAuthor(char * *aAuthor); \
  NS_SCRIPTABLE NS_IMETHOD SetAuthor(const char * aAuthor); \
  NS_SCRIPTABLE NS_IMETHOD GetSubject(char * *aSubject); \
  NS_SCRIPTABLE NS_IMETHOD SetSubject(const char * aSubject); \
  NS_SCRIPTABLE NS_IMETHOD GetRecipients(char * *aRecipients); \
  NS_SCRIPTABLE NS_IMETHOD SetRecipients(const char * aRecipients); \
  NS_SCRIPTABLE NS_IMETHOD SetReferences(const char * references); \
  NS_SCRIPTABLE NS_IMETHOD GetNumReferences(PRUint16 *aNumReferences); \
  NS_SCRIPTABLE NS_IMETHOD GetStringReference(PRInt32 refNum, nsACString & _retval NS_OUTPARAM); \
  NS_SCRIPTABLE NS_IMETHOD SetRecipientsArray(const char * names, const char * addresses, PRUint32 numAddresses); \
  NS_SCRIPTABLE NS_IMETHOD SetCCListArray(const char * names, const char * addresses, PRUint32 numAddresses); \
  NS_SCRIPTABLE NS_IMETHOD SetBCCListArray(const char * names, const char * addresses, PRUint32 numAddresses); \
  NS_SCRIPTABLE NS_IMETHOD GetMime2DecodedAuthor(nsAString & aMime2DecodedAuthor); \
  NS_SCRIPTABLE NS_IMETHOD GetMime2DecodedSubject(nsAString & aMime2DecodedSubject); \
  NS_SCRIPTABLE NS_IMETHOD GetMime2DecodedRecipients(nsAString & aMime2DecodedRecipients); \
  NS_SCRIPTABLE NS_IMETHOD GetAuthorCollationKey(PRUint32 *aCount NS_OUTPARAM, PRUint8 **aKey NS_OUTPARAM); \
  NS_SCRIPTABLE NS_IMETHOD GetSubjectCollationKey(PRUint32 *aCount NS_OUTPARAM, PRUint8 **aKey NS_OUTPARAM); \
  NS_SCRIPTABLE NS_IMETHOD GetRecipientsCollationKey(PRUint32 *aCount NS_OUTPARAM, PRUint8 **aKey NS_OUTPARAM); \
  NS_SCRIPTABLE NS_IMETHOD GetCharset(char * *aCharset); \
  NS_SCRIPTABLE NS_IMETHOD SetCharset(const char * aCharset); \
  NS_SCRIPTABLE NS_IMETHOD GetLabel(nsMsgLabelValue *aLabel); \
  NS_SCRIPTABLE NS_IMETHOD SetLabel(nsMsgLabelValue aLabel); \
  NS_SCRIPTABLE NS_IMETHOD GetAccountKey(char * *aAccountKey); \
  NS_SCRIPTABLE NS_IMETHOD SetAccountKey(const char * aAccountKey); \
  NS_SCRIPTABLE NS_IMETHOD GetFolder(nsIMsgFolder * *aFolder); \
  NS_SCRIPTABLE NS_IMETHOD GetPropertyEnumerator(nsIUTF8StringEnumerator * *aPropertyEnumerator); 

/* Use this macro to declare functions that forward the behavior of this interface to another object. */
#define NS_FORWARD_NSIMSGDBHDR(_to) \
  NS_SCRIPTABLE NS_IMETHOD GetProperty(const char * propertyName, nsAString & _retval NS_OUTPARAM) { return _to GetProperty(propertyName, _retval); } \
  NS_SCRIPTABLE NS_IMETHOD SetProperty(const char * propertyName, const nsAString & propertyStr) { return _to SetProperty(propertyName, propertyStr); } \
  NS_SCRIPTABLE NS_IMETHOD SetStringProperty(const char * propertyName, const char * propertyValue) { return _to SetStringProperty(propertyName, propertyValue); } \
  NS_SCRIPTABLE NS_IMETHOD GetStringProperty(const char * propertyName, char * *_retval NS_OUTPARAM) { return _to GetStringProperty(propertyName, _retval); } \
  NS_SCRIPTABLE NS_IMETHOD GetUint32Property(const char * propertyName, PRUint32 *_retval NS_OUTPARAM) { return _to GetUint32Property(propertyName, _retval); } \
  NS_SCRIPTABLE NS_IMETHOD SetUint32Property(const char * propertyName, PRUint32 propertyVal) { return _to SetUint32Property(propertyName, propertyVal); } \
  NS_SCRIPTABLE NS_IMETHOD GetIsRead(bool *aIsRead) { return _to GetIsRead(aIsRead); } \
  NS_SCRIPTABLE NS_IMETHOD GetIsFlagged(bool *aIsFlagged) { return _to GetIsFlagged(aIsFlagged); } \
  NS_SCRIPTABLE NS_IMETHOD GetIsKilled(bool *aIsKilled) { return _to GetIsKilled(aIsKilled); } \
  NS_SCRIPTABLE NS_IMETHOD MarkRead(bool read) { return _to MarkRead(read); } \
  NS_SCRIPTABLE NS_IMETHOD MarkFlagged(bool flagged) { return _to MarkFlagged(flagged); } \
  NS_SCRIPTABLE NS_IMETHOD MarkHasAttachments(bool hasAttachments) { return _to MarkHasAttachments(hasAttachments); } \
  NS_SCRIPTABLE NS_IMETHOD GetPriority(nsMsgPriorityValue *aPriority) { return _to GetPriority(aPriority); } \
  NS_SCRIPTABLE NS_IMETHOD SetPriority(nsMsgPriorityValue aPriority) { return _to SetPriority(aPriority); } \
  NS_SCRIPTABLE NS_IMETHOD SetPriorityString(const char * priority) { return _to SetPriorityString(priority); } \
  NS_SCRIPTABLE NS_IMETHOD GetFlags(PRUint32 *aFlags) { return _to GetFlags(aFlags); } \
  NS_SCRIPTABLE NS_IMETHOD SetFlags(PRUint32 aFlags) { return _to SetFlags(aFlags); } \
  NS_SCRIPTABLE NS_IMETHOD OrFlags(PRUint32 flags, PRUint32 *_retval NS_OUTPARAM) { return _to OrFlags(flags, _retval); } \
  NS_SCRIPTABLE NS_IMETHOD AndFlags(PRUint32 flags, PRUint32 *_retval NS_OUTPARAM) { return _to AndFlags(flags, _retval); } \
  NS_SCRIPTABLE NS_IMETHOD GetThreadId(nsMsgKey *aThreadId) { return _to GetThreadId(aThreadId); } \
  NS_SCRIPTABLE NS_IMETHOD SetThreadId(nsMsgKey aThreadId) { return _to SetThreadId(aThreadId); } \
  NS_SCRIPTABLE NS_IMETHOD GetMessageKey(nsMsgKey *aMessageKey) { return _to GetMessageKey(aMessageKey); } \
  NS_SCRIPTABLE NS_IMETHOD SetMessageKey(nsMsgKey aMessageKey) { return _to SetMessageKey(aMessageKey); } \
  NS_SCRIPTABLE NS_IMETHOD GetThreadParent(nsMsgKey *aThreadParent) { return _to GetThreadParent(aThreadParent); } \
  NS_SCRIPTABLE NS_IMETHOD SetThreadParent(nsMsgKey aThreadParent) { return _to SetThreadParent(aThreadParent); } \
  NS_SCRIPTABLE NS_IMETHOD GetMessageSize(PRUint32 *aMessageSize) { return _to GetMessageSize(aMessageSize); } \
  NS_SCRIPTABLE NS_IMETHOD SetMessageSize(PRUint32 aMessageSize) { return _to SetMessageSize(aMessageSize); } \
  NS_SCRIPTABLE NS_IMETHOD GetLineCount(PRUint32 *aLineCount) { return _to GetLineCount(aLineCount); } \
  NS_SCRIPTABLE NS_IMETHOD SetLineCount(PRUint32 aLineCount) { return _to SetLineCount(aLineCount); } \
  NS_SCRIPTABLE NS_IMETHOD GetStatusOffset(PRUint32 *aStatusOffset) { return _to GetStatusOffset(aStatusOffset); } \
  NS_SCRIPTABLE NS_IMETHOD SetStatusOffset(PRUint32 aStatusOffset) { return _to SetStatusOffset(aStatusOffset); } \
  NS_SCRIPTABLE NS_IMETHOD GetMessageOffset(PRUint64 *aMessageOffset) { return _to GetMessageOffset(aMessageOffset); } \
  NS_SCRIPTABLE NS_IMETHOD SetMessageOffset(PRUint64 aMessageOffset) { return _to SetMessageOffset(aMessageOffset); } \
  NS_SCRIPTABLE NS_IMETHOD GetOfflineMessageSize(PRUint32 *aOfflineMessageSize) { return _to GetOfflineMessageSize(aOfflineMessageSize); } \
  NS_SCRIPTABLE NS_IMETHOD SetOfflineMessageSize(PRUint32 aOfflineMessageSize) { return _to SetOfflineMessageSize(aOfflineMessageSize); } \
  NS_SCRIPTABLE NS_IMETHOD GetDate(PRTime *aDate) { return _to GetDate(aDate); } \
  NS_SCRIPTABLE NS_IMETHOD SetDate(PRTime aDate) { return _to SetDate(aDate); } \
  NS_SCRIPTABLE NS_IMETHOD GetDateInSeconds(PRUint32 *aDateInSeconds) { return _to GetDateInSeconds(aDateInSeconds); } \
  NS_SCRIPTABLE NS_IMETHOD GetMessageId(char * *aMessageId) { return _to GetMessageId(aMessageId); } \
  NS_SCRIPTABLE NS_IMETHOD SetMessageId(const char * aMessageId) { return _to SetMessageId(aMessageId); } \
  NS_SCRIPTABLE NS_IMETHOD GetCcList(char * *aCcList) { return _to GetCcList(aCcList); } \
  NS_SCRIPTABLE NS_IMETHOD SetCcList(const char * aCcList) { return _to SetCcList(aCcList); } \
  NS_SCRIPTABLE NS_IMETHOD GetBccList(char * *aBccList) { return _to GetBccList(aBccList); } \
  NS_SCRIPTABLE NS_IMETHOD SetBccList(const char * aBccList) { return _to SetBccList(aBccList); } \
  NS_SCRIPTABLE NS_IMETHOD GetAuthor(char * *aAuthor) { return _to GetAuthor(aAuthor); } \
  NS_SCRIPTABLE NS_IMETHOD SetAuthor(const char * aAuthor) { return _to SetAuthor(aAuthor); } \
  NS_SCRIPTABLE NS_IMETHOD GetSubject(char * *aSubject) { return _to GetSubject(aSubject); } \
  NS_SCRIPTABLE NS_IMETHOD SetSubject(const char * aSubject) { return _to SetSubject(aSubject); } \
  NS_SCRIPTABLE NS_IMETHOD GetRecipients(char * *aRecipients) { return _to GetRecipients(aRecipients); } \
  NS_SCRIPTABLE NS_IMETHOD SetRecipients(const char * aRecipients) { return _to SetRecipients(aRecipients); } \
  NS_SCRIPTABLE NS_IMETHOD SetReferences(const char * references) { return _to SetReferences(references); } \
  NS_SCRIPTABLE NS_IMETHOD GetNumReferences(PRUint16 *aNumReferences) { return _to GetNumReferences(aNumReferences); } \
  NS_SCRIPTABLE NS_IMETHOD GetStringReference(PRInt32 refNum, nsACString & _retval NS_OUTPARAM) { return _to GetStringReference(refNum, _retval); } \
  NS_SCRIPTABLE NS_IMETHOD SetRecipientsArray(const char * names, const char * addresses, PRUint32 numAddresses) { return _to SetRecipientsArray(names, addresses, numAddresses); } \
  NS_SCRIPTABLE NS_IMETHOD SetCCListArray(const char * names, const char * addresses, PRUint32 numAddresses) { return _to SetCCListArray(names, addresses, numAddresses); } \
  NS_SCRIPTABLE NS_IMETHOD SetBCCListArray(const char * names, const char * addresses, PRUint32 numAddresses) { return _to SetBCCListArray(names, addresses, numAddresses); } \
  NS_SCRIPTABLE NS_IMETHOD GetMime2DecodedAuthor(nsAString & aMime2DecodedAuthor) { return _to GetMime2DecodedAuthor(aMime2DecodedAuthor); } \
  NS_SCRIPTABLE NS_IMETHOD GetMime2DecodedSubject(nsAString & aMime2DecodedSubject) { return _to GetMime2DecodedSubject(aMime2DecodedSubject); } \
  NS_SCRIPTABLE NS_IMETHOD GetMime2DecodedRecipients(nsAString & aMime2DecodedRecipients) { return _to GetMime2DecodedRecipients(aMime2DecodedRecipients); } \
  NS_SCRIPTABLE NS_IMETHOD GetAuthorCollationKey(PRUint32 *aCount NS_OUTPARAM, PRUint8 **aKey NS_OUTPARAM) { return _to GetAuthorCollationKey(aCount, aKey); } \
  NS_SCRIPTABLE NS_IMETHOD GetSubjectCollationKey(PRUint32 *aCount NS_OUTPARAM, PRUint8 **aKey NS_OUTPARAM) { return _to GetSubjectCollationKey(aCount, aKey); } \
  NS_SCRIPTABLE NS_IMETHOD GetRecipientsCollationKey(PRUint32 *aCount NS_OUTPARAM, PRUint8 **aKey NS_OUTPARAM) { return _to GetRecipientsCollationKey(aCount, aKey); } \
  NS_SCRIPTABLE NS_IMETHOD GetCharset(char * *aCharset) { return _to GetCharset(aCharset); } \
  NS_SCRIPTABLE NS_IMETHOD SetCharset(const char * aCharset) { return _to SetCharset(aCharset); } \
  NS_SCRIPTABLE NS_IMETHOD GetLabel(nsMsgLabelValue *aLabel) { return _to GetLabel(aLabel); } \
  NS_SCRIPTABLE NS_IMETHOD SetLabel(nsMsgLabelValue aLabel) { return _to SetLabel(aLabel); } \
  NS_SCRIPTABLE NS_IMETHOD GetAccountKey(char * *aAccountKey) { return _to GetAccountKey(aAccountKey); } \
  NS_SCRIPTABLE NS_IMETHOD SetAccountKey(const char * aAccountKey) { return _to SetAccountKey(aAccountKey); } \
  NS_SCRIPTABLE NS_IMETHOD GetFolder(nsIMsgFolder * *aFolder) { return _to GetFolder(aFolder); } \
  NS_SCRIPTABLE NS_IMETHOD GetPropertyEnumerator(nsIUTF8StringEnumerator * *aPropertyEnumerator) { return _to GetPropertyEnumerator(aPropertyEnumerator); } 

/* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
#define NS_FORWARD_SAFE_NSIMSGDBHDR(_to) \
  NS_SCRIPTABLE NS_IMETHOD GetProperty(const char * propertyName, nsAString & _retval NS_OUTPARAM) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetProperty(propertyName, _retval); } \
  NS_SCRIPTABLE NS_IMETHOD SetProperty(const char * propertyName, const nsAString & propertyStr) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetProperty(propertyName, propertyStr); } \
  NS_SCRIPTABLE NS_IMETHOD SetStringProperty(const char * propertyName, const char * propertyValue) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetStringProperty(propertyName, propertyValue); } \
  NS_SCRIPTABLE NS_IMETHOD GetStringProperty(const char * propertyName, char * *_retval NS_OUTPARAM) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetStringProperty(propertyName, _retval); } \
  NS_SCRIPTABLE NS_IMETHOD GetUint32Property(const char * propertyName, PRUint32 *_retval NS_OUTPARAM) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetUint32Property(propertyName, _retval); } \
  NS_SCRIPTABLE NS_IMETHOD SetUint32Property(const char * propertyName, PRUint32 propertyVal) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetUint32Property(propertyName, propertyVal); } \
  NS_SCRIPTABLE NS_IMETHOD GetIsRead(bool *aIsRead) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetIsRead(aIsRead); } \
  NS_SCRIPTABLE NS_IMETHOD GetIsFlagged(bool *aIsFlagged) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetIsFlagged(aIsFlagged); } \
  NS_SCRIPTABLE NS_IMETHOD GetIsKilled(bool *aIsKilled) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetIsKilled(aIsKilled); } \
  NS_SCRIPTABLE NS_IMETHOD MarkRead(bool read) { return !_to ? NS_ERROR_NULL_POINTER : _to->MarkRead(read); } \
  NS_SCRIPTABLE NS_IMETHOD MarkFlagged(bool flagged) { return !_to ? NS_ERROR_NULL_POINTER : _to->MarkFlagged(flagged); } \
  NS_SCRIPTABLE NS_IMETHOD MarkHasAttachments(bool hasAttachments) { return !_to ? NS_ERROR_NULL_POINTER : _to->MarkHasAttachments(hasAttachments); } \
  NS_SCRIPTABLE NS_IMETHOD GetPriority(nsMsgPriorityValue *aPriority) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetPriority(aPriority); } \
  NS_SCRIPTABLE NS_IMETHOD SetPriority(nsMsgPriorityValue aPriority) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetPriority(aPriority); } \
  NS_SCRIPTABLE NS_IMETHOD SetPriorityString(const char * priority) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetPriorityString(priority); } \
  NS_SCRIPTABLE NS_IMETHOD GetFlags(PRUint32 *aFlags) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetFlags(aFlags); } \
  NS_SCRIPTABLE NS_IMETHOD SetFlags(PRUint32 aFlags) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetFlags(aFlags); } \
  NS_SCRIPTABLE NS_IMETHOD OrFlags(PRUint32 flags, PRUint32 *_retval NS_OUTPARAM) { return !_to ? NS_ERROR_NULL_POINTER : _to->OrFlags(flags, _retval); } \
  NS_SCRIPTABLE NS_IMETHOD AndFlags(PRUint32 flags, PRUint32 *_retval NS_OUTPARAM) { return !_to ? NS_ERROR_NULL_POINTER : _to->AndFlags(flags, _retval); } \
  NS_SCRIPTABLE NS_IMETHOD GetThreadId(nsMsgKey *aThreadId) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetThreadId(aThreadId); } \
  NS_SCRIPTABLE NS_IMETHOD SetThreadId(nsMsgKey aThreadId) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetThreadId(aThreadId); } \
  NS_SCRIPTABLE NS_IMETHOD GetMessageKey(nsMsgKey *aMessageKey) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetMessageKey(aMessageKey); } \
  NS_SCRIPTABLE NS_IMETHOD SetMessageKey(nsMsgKey aMessageKey) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetMessageKey(aMessageKey); } \
  NS_SCRIPTABLE NS_IMETHOD GetThreadParent(nsMsgKey *aThreadParent) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetThreadParent(aThreadParent); } \
  NS_SCRIPTABLE NS_IMETHOD SetThreadParent(nsMsgKey aThreadParent) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetThreadParent(aThreadParent); } \
  NS_SCRIPTABLE NS_IMETHOD GetMessageSize(PRUint32 *aMessageSize) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetMessageSize(aMessageSize); } \
  NS_SCRIPTABLE NS_IMETHOD SetMessageSize(PRUint32 aMessageSize) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetMessageSize(aMessageSize); } \
  NS_SCRIPTABLE NS_IMETHOD GetLineCount(PRUint32 *aLineCount) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetLineCount(aLineCount); } \
  NS_SCRIPTABLE NS_IMETHOD SetLineCount(PRUint32 aLineCount) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetLineCount(aLineCount); } \
  NS_SCRIPTABLE NS_IMETHOD GetStatusOffset(PRUint32 *aStatusOffset) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetStatusOffset(aStatusOffset); } \
  NS_SCRIPTABLE NS_IMETHOD SetStatusOffset(PRUint32 aStatusOffset) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetStatusOffset(aStatusOffset); } \
  NS_SCRIPTABLE NS_IMETHOD GetMessageOffset(PRUint64 *aMessageOffset) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetMessageOffset(aMessageOffset); } \
  NS_SCRIPTABLE NS_IMETHOD SetMessageOffset(PRUint64 aMessageOffset) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetMessageOffset(aMessageOffset); } \
  NS_SCRIPTABLE NS_IMETHOD GetOfflineMessageSize(PRUint32 *aOfflineMessageSize) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetOfflineMessageSize(aOfflineMessageSize); } \
  NS_SCRIPTABLE NS_IMETHOD SetOfflineMessageSize(PRUint32 aOfflineMessageSize) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetOfflineMessageSize(aOfflineMessageSize); } \
  NS_SCRIPTABLE NS_IMETHOD GetDate(PRTime *aDate) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetDate(aDate); } \
  NS_SCRIPTABLE NS_IMETHOD SetDate(PRTime aDate) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetDate(aDate); } \
  NS_SCRIPTABLE NS_IMETHOD GetDateInSeconds(PRUint32 *aDateInSeconds) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetDateInSeconds(aDateInSeconds); } \
  NS_SCRIPTABLE NS_IMETHOD GetMessageId(char * *aMessageId) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetMessageId(aMessageId); } \
  NS_SCRIPTABLE NS_IMETHOD SetMessageId(const char * aMessageId) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetMessageId(aMessageId); } \
  NS_SCRIPTABLE NS_IMETHOD GetCcList(char * *aCcList) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetCcList(aCcList); } \
  NS_SCRIPTABLE NS_IMETHOD SetCcList(const char * aCcList) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetCcList(aCcList); } \
  NS_SCRIPTABLE NS_IMETHOD GetBccList(char * *aBccList) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetBccList(aBccList); } \
  NS_SCRIPTABLE NS_IMETHOD SetBccList(const char * aBccList) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetBccList(aBccList); } \
  NS_SCRIPTABLE NS_IMETHOD GetAuthor(char * *aAuthor) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetAuthor(aAuthor); } \
  NS_SCRIPTABLE NS_IMETHOD SetAuthor(const char * aAuthor) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetAuthor(aAuthor); } \
  NS_SCRIPTABLE NS_IMETHOD GetSubject(char * *aSubject) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetSubject(aSubject); } \
  NS_SCRIPTABLE NS_IMETHOD SetSubject(const char * aSubject) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetSubject(aSubject); } \
  NS_SCRIPTABLE NS_IMETHOD GetRecipients(char * *aRecipients) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetRecipients(aRecipients); } \
  NS_SCRIPTABLE NS_IMETHOD SetRecipients(const char * aRecipients) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetRecipients(aRecipients); } \
  NS_SCRIPTABLE NS_IMETHOD SetReferences(const char * references) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetReferences(references); } \
  NS_SCRIPTABLE NS_IMETHOD GetNumReferences(PRUint16 *aNumReferences) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetNumReferences(aNumReferences); } \
  NS_SCRIPTABLE NS_IMETHOD GetStringReference(PRInt32 refNum, nsACString & _retval NS_OUTPARAM) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetStringReference(refNum, _retval); } \
  NS_SCRIPTABLE NS_IMETHOD SetRecipientsArray(const char * names, const char * addresses, PRUint32 numAddresses) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetRecipientsArray(names, addresses, numAddresses); } \
  NS_SCRIPTABLE NS_IMETHOD SetCCListArray(const char * names, const char * addresses, PRUint32 numAddresses) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetCCListArray(names, addresses, numAddresses); } \
  NS_SCRIPTABLE NS_IMETHOD SetBCCListArray(const char * names, const char * addresses, PRUint32 numAddresses) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetBCCListArray(names, addresses, numAddresses); } \
  NS_SCRIPTABLE NS_IMETHOD GetMime2DecodedAuthor(nsAString & aMime2DecodedAuthor) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetMime2DecodedAuthor(aMime2DecodedAuthor); } \
  NS_SCRIPTABLE NS_IMETHOD GetMime2DecodedSubject(nsAString & aMime2DecodedSubject) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetMime2DecodedSubject(aMime2DecodedSubject); } \
  NS_SCRIPTABLE NS_IMETHOD GetMime2DecodedRecipients(nsAString & aMime2DecodedRecipients) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetMime2DecodedRecipients(aMime2DecodedRecipients); } \
  NS_SCRIPTABLE NS_IMETHOD GetAuthorCollationKey(PRUint32 *aCount NS_OUTPARAM, PRUint8 **aKey NS_OUTPARAM) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetAuthorCollationKey(aCount, aKey); } \
  NS_SCRIPTABLE NS_IMETHOD GetSubjectCollationKey(PRUint32 *aCount NS_OUTPARAM, PRUint8 **aKey NS_OUTPARAM) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetSubjectCollationKey(aCount, aKey); } \
  NS_SCRIPTABLE NS_IMETHOD GetRecipientsCollationKey(PRUint32 *aCount NS_OUTPARAM, PRUint8 **aKey NS_OUTPARAM) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetRecipientsCollationKey(aCount, aKey); } \
  NS_SCRIPTABLE NS_IMETHOD GetCharset(char * *aCharset) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetCharset(aCharset); } \
  NS_SCRIPTABLE NS_IMETHOD SetCharset(const char * aCharset) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetCharset(aCharset); } \
  NS_SCRIPTABLE NS_IMETHOD GetLabel(nsMsgLabelValue *aLabel) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetLabel(aLabel); } \
  NS_SCRIPTABLE NS_IMETHOD SetLabel(nsMsgLabelValue aLabel) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetLabel(aLabel); } \
  NS_SCRIPTABLE NS_IMETHOD GetAccountKey(char * *aAccountKey) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetAccountKey(aAccountKey); } \
  NS_SCRIPTABLE NS_IMETHOD SetAccountKey(const char * aAccountKey) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetAccountKey(aAccountKey); } \
  NS_SCRIPTABLE NS_IMETHOD GetFolder(nsIMsgFolder * *aFolder) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetFolder(aFolder); } \
  NS_SCRIPTABLE NS_IMETHOD GetPropertyEnumerator(nsIUTF8StringEnumerator * *aPropertyEnumerator) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetPropertyEnumerator(aPropertyEnumerator); } 

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

/* Header file */
class nsMsgDBHdr : public nsIMsgDBHdr
{
public:
  NS_DECL_ISUPPORTS
  NS_DECL_NSIMSGDBHDR

  nsMsgDBHdr();

private:
  ~nsMsgDBHdr();

protected:
  /* additional members */
};

/* Implementation file */
NS_IMPL_ISUPPORTS1(nsMsgDBHdr, nsIMsgDBHdr)

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

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

/* AString getProperty (in string propertyName); */
NS_IMETHODIMP nsMsgDBHdr::GetProperty(const char * propertyName, nsAString & _retval NS_OUTPARAM)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void setProperty (in string propertyName, in AString propertyStr); */
NS_IMETHODIMP nsMsgDBHdr::SetProperty(const char * propertyName, const nsAString & propertyStr)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void setStringProperty (in string propertyName, in string propertyValue); */
NS_IMETHODIMP nsMsgDBHdr::SetStringProperty(const char * propertyName, const char * propertyValue)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* string getStringProperty (in string propertyName); */
NS_IMETHODIMP nsMsgDBHdr::GetStringProperty(const char * propertyName, char * *_retval NS_OUTPARAM)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* unsigned long getUint32Property (in string propertyName); */
NS_IMETHODIMP nsMsgDBHdr::GetUint32Property(const char * propertyName, PRUint32 *_retval NS_OUTPARAM)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void setUint32Property (in string propertyName, in unsigned long propertyVal); */
NS_IMETHODIMP nsMsgDBHdr::SetUint32Property(const char * propertyName, PRUint32 propertyVal)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute boolean isRead; */
NS_IMETHODIMP nsMsgDBHdr::GetIsRead(bool *aIsRead)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute boolean isFlagged; */
NS_IMETHODIMP nsMsgDBHdr::GetIsFlagged(bool *aIsFlagged)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute boolean isKilled; */
NS_IMETHODIMP nsMsgDBHdr::GetIsKilled(bool *aIsKilled)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void markRead (in boolean read); */
NS_IMETHODIMP nsMsgDBHdr::MarkRead(bool read)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void markFlagged (in boolean flagged); */
NS_IMETHODIMP nsMsgDBHdr::MarkFlagged(bool flagged)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void markHasAttachments (in boolean hasAttachments); */
NS_IMETHODIMP nsMsgDBHdr::MarkHasAttachments(bool hasAttachments)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute nsMsgPriorityValue priority; */
NS_IMETHODIMP nsMsgDBHdr::GetPriority(nsMsgPriorityValue *aPriority)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgDBHdr::SetPriority(nsMsgPriorityValue aPriority)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void setPriorityString (in string priority); */
NS_IMETHODIMP nsMsgDBHdr::SetPriorityString(const char * priority)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute unsigned long flags; */
NS_IMETHODIMP nsMsgDBHdr::GetFlags(PRUint32 *aFlags)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgDBHdr::SetFlags(PRUint32 aFlags)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* unsigned long OrFlags (in unsigned long flags); */
NS_IMETHODIMP nsMsgDBHdr::OrFlags(PRUint32 flags, PRUint32 *_retval NS_OUTPARAM)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* unsigned long AndFlags (in unsigned long flags); */
NS_IMETHODIMP nsMsgDBHdr::AndFlags(PRUint32 flags, PRUint32 *_retval NS_OUTPARAM)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute nsMsgKey threadId; */
NS_IMETHODIMP nsMsgDBHdr::GetThreadId(nsMsgKey *aThreadId)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgDBHdr::SetThreadId(nsMsgKey aThreadId)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute nsMsgKey messageKey; */
NS_IMETHODIMP nsMsgDBHdr::GetMessageKey(nsMsgKey *aMessageKey)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgDBHdr::SetMessageKey(nsMsgKey aMessageKey)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute nsMsgKey threadParent; */
NS_IMETHODIMP nsMsgDBHdr::GetThreadParent(nsMsgKey *aThreadParent)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgDBHdr::SetThreadParent(nsMsgKey aThreadParent)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute unsigned long messageSize; */
NS_IMETHODIMP nsMsgDBHdr::GetMessageSize(PRUint32 *aMessageSize)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgDBHdr::SetMessageSize(PRUint32 aMessageSize)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute unsigned long lineCount; */
NS_IMETHODIMP nsMsgDBHdr::GetLineCount(PRUint32 *aLineCount)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgDBHdr::SetLineCount(PRUint32 aLineCount)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute unsigned long statusOffset; */
NS_IMETHODIMP nsMsgDBHdr::GetStatusOffset(PRUint32 *aStatusOffset)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgDBHdr::SetStatusOffset(PRUint32 aStatusOffset)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute unsigned long long messageOffset; */
NS_IMETHODIMP nsMsgDBHdr::GetMessageOffset(PRUint64 *aMessageOffset)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgDBHdr::SetMessageOffset(PRUint64 aMessageOffset)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute unsigned long offlineMessageSize; */
NS_IMETHODIMP nsMsgDBHdr::GetOfflineMessageSize(PRUint32 *aOfflineMessageSize)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgDBHdr::SetOfflineMessageSize(PRUint32 aOfflineMessageSize)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute PRTime date; */
NS_IMETHODIMP nsMsgDBHdr::GetDate(PRTime *aDate)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgDBHdr::SetDate(PRTime aDate)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute unsigned long dateInSeconds; */
NS_IMETHODIMP nsMsgDBHdr::GetDateInSeconds(PRUint32 *aDateInSeconds)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

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

/* attribute string ccList; */
NS_IMETHODIMP nsMsgDBHdr::GetCcList(char * *aCcList)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgDBHdr::SetCcList(const char * aCcList)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute string bccList; */
NS_IMETHODIMP nsMsgDBHdr::GetBccList(char * *aBccList)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgDBHdr::SetBccList(const char * aBccList)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute string author; */
NS_IMETHODIMP nsMsgDBHdr::GetAuthor(char * *aAuthor)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgDBHdr::SetAuthor(const char * aAuthor)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute string subject; */
NS_IMETHODIMP nsMsgDBHdr::GetSubject(char * *aSubject)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgDBHdr::SetSubject(const char * aSubject)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute string recipients; */
NS_IMETHODIMP nsMsgDBHdr::GetRecipients(char * *aRecipients)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgDBHdr::SetRecipients(const char * aRecipients)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void setReferences (in string references); */
NS_IMETHODIMP nsMsgDBHdr::SetReferences(const char * references)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute unsigned short numReferences; */
NS_IMETHODIMP nsMsgDBHdr::GetNumReferences(PRUint16 *aNumReferences)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* ACString getStringReference (in long refNum); */
NS_IMETHODIMP nsMsgDBHdr::GetStringReference(PRInt32 refNum, nsACString & _retval NS_OUTPARAM)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void setRecipientsArray (in string names, in string addresses, in unsigned long numAddresses); */
NS_IMETHODIMP nsMsgDBHdr::SetRecipientsArray(const char * names, const char * addresses, PRUint32 numAddresses)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void setCCListArray (in string names, in string addresses, in unsigned long numAddresses); */
NS_IMETHODIMP nsMsgDBHdr::SetCCListArray(const char * names, const char * addresses, PRUint32 numAddresses)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void setBCCListArray (in string names, in string addresses, in unsigned long numAddresses); */
NS_IMETHODIMP nsMsgDBHdr::SetBCCListArray(const char * names, const char * addresses, PRUint32 numAddresses)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute AString mime2DecodedAuthor; */
NS_IMETHODIMP nsMsgDBHdr::GetMime2DecodedAuthor(nsAString & aMime2DecodedAuthor)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute AString mime2DecodedSubject; */
NS_IMETHODIMP nsMsgDBHdr::GetMime2DecodedSubject(nsAString & aMime2DecodedSubject)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute AString mime2DecodedRecipients; */
NS_IMETHODIMP nsMsgDBHdr::GetMime2DecodedRecipients(nsAString & aMime2DecodedRecipients)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void getAuthorCollationKey (out unsigned long aCount, [array, size_is (aCount)] out octet aKey); */
NS_IMETHODIMP nsMsgDBHdr::GetAuthorCollationKey(PRUint32 *aCount NS_OUTPARAM, PRUint8 **aKey NS_OUTPARAM)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void getSubjectCollationKey (out unsigned long aCount, [array, size_is (aCount)] out octet aKey); */
NS_IMETHODIMP nsMsgDBHdr::GetSubjectCollationKey(PRUint32 *aCount NS_OUTPARAM, PRUint8 **aKey NS_OUTPARAM)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void getRecipientsCollationKey (out unsigned long aCount, [array, size_is (aCount)] out octet aKey); */
NS_IMETHODIMP nsMsgDBHdr::GetRecipientsCollationKey(PRUint32 *aCount NS_OUTPARAM, PRUint8 **aKey NS_OUTPARAM)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute string Charset; */
NS_IMETHODIMP nsMsgDBHdr::GetCharset(char * *aCharset)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgDBHdr::SetCharset(const char * aCharset)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute nsMsgLabelValue label; */
NS_IMETHODIMP nsMsgDBHdr::GetLabel(nsMsgLabelValue *aLabel)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgDBHdr::SetLabel(nsMsgLabelValue aLabel)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute string accountKey; */
NS_IMETHODIMP nsMsgDBHdr::GetAccountKey(char * *aAccountKey)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgDBHdr::SetAccountKey(const char * aAccountKey)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute nsIMsgFolder folder; */
NS_IMETHODIMP nsMsgDBHdr::GetFolder(nsIMsgFolder * *aFolder)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute nsIUTF8StringEnumerator propertyEnumerator; */
NS_IMETHODIMP nsMsgDBHdr::GetPropertyEnumerator(nsIUTF8StringEnumerator * *aPropertyEnumerator)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

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


#endif /* __gen_nsIMsgHdr_h__ */
