add new interface and member functions

This commit is contained in:
ducarroz%netscape.com 1999-02-17 19:52:14 +00:00
Родитель cf88ee4180
Коммит e95ede2220
2 изменённых файлов: 60 добавлений и 19 удалений

Просмотреть файл

@ -182,17 +182,17 @@ nsresult nsMsgCompFields::GetHeader(PRInt32 header, char **_retval)
{
NS_PRECONDITION(nsnull != _retval, "nsnull ptr");
*_retval = NS_CONST_CAST(char*, GetHeader(header));
return NS_OK;
}
const char* nsMsgCompFields::GetHeader(PRInt32 header)
{
int i = DecodeHeader(header);
if (i >= 0) {
if (m_headers[i])
*_retval = m_headers[i];
else
*_retval = "";
}
else
*_retval = NULL;
return NS_OK;
return m_headers[i] ? m_headers[i] : "";
}
return NULL;
}
nsresult nsMsgCompFields::SetBoolHeader(PRInt32 header, PRBool bValue, PRInt32 *_retval)
@ -217,7 +217,12 @@ nsresult nsMsgCompFields::SetBoolHeader(PRInt32 header, PRBool bValue, PRInt32 *
nsresult nsMsgCompFields::GetBoolHeader(PRInt32 header, PRBool *_retval)
{
NS_PRECONDITION(nsnull != _retval, "nsnull ptr");
/*JFD
*_retval = GetBoolHeader(header);
return NS_OK;
}
PRBool nsMsgCompFields::GetBoolHeader(PRInt32 header)
{
NS_ASSERTION ((int) header >= (int) MSG_RETURN_RECEIPT_BOOL_HEADER_MASK &&
(int) header < (int) MSG_LAST_BOOL_HEADER_MASK, "invalid header index");
@ -226,8 +231,6 @@ nsresult nsMsgCompFields::GetBoolHeader(PRInt32 header, PRBool *_retval)
return PR_FALSE;
return m_boolHeaders[header];
*/
return NS_OK;
}
nsresult nsMsgCompFields::SetFrom(const char *value, PRInt32 *_retval)
@ -566,17 +569,28 @@ extern "C" const char* MSG_GetCompFieldsHeader(MSG_CompositionFields *fields,
*/
int
nsMsgCompFields::SetBody(const char* value)
nsresult nsMsgCompFields::SetBody(const char *value, PRInt32 *_retval)
{
long retval = 0;
PR_FREEIF(m_body);
if (value) {
m_body = nsCRT::strdup(value);
if (!m_body) return MK_OUT_OF_MEMORY;
if (!m_body)
retval = MK_OUT_OF_MEMORY;
}
return 0;
if (_retval)
*_retval = retval;
return NS_OK;
}
nsresult nsMsgCompFields::GetBody(char **_retval)
{
NS_PRECONDITION(nsnull != _retval, "nsnull ptr");
*_retval = NS_CONST_CAST(char*, GetBody());
return NS_OK;
}
const char*
nsMsgCompFields::GetBody()
@ -590,7 +604,7 @@ nsMsgCompFields::AppendBody(const char* value)
{
if (!value || !*value) return 0;
if (!m_body) {
return SetBody(value);
return SetBody(value, NULL);
} else {
char* tmp = (char*) PR_MALLOC(nsCRT::strlen(m_body) + nsCRT::strlen(value) + 1);
if (tmp) {

Просмотреть файл

@ -51,88 +51,115 @@ public:
NS_IMETHOD SetHeader(PRInt32 header, const char *value, PRInt32 *_retval);
NS_IMETHOD GetHeader(PRInt32 header, char **_retval);
const char* GetHeader(PRInt32 header);
NS_IMETHOD SetBoolHeader(PRInt32 header, PRBool bValue, PRInt32 *_retval);
NS_IMETHOD GetBoolHeader(PRInt32 header, PRBool *_retval);
PRBool GetBoolHeader(PRInt32 header);
/* Convenience routines to get and set header's value... */
NS_IMETHOD SetFrom(const char *value, PRInt32 *_retval);
NS_IMETHOD GetFrom(char **_retval);
const char* GetFrom(void) {return GetHeader(MSG_FROM_HEADER_MASK);}
NS_IMETHOD SetReplyTo(const char *value, PRInt32 *_retval);
NS_IMETHOD GetReplyTo(char **_retval);
const char* GetReplyTo() {return GetHeader(MSG_REPLY_TO_HEADER_MASK);}
NS_IMETHOD SetTo(const char *value, PRInt32 *_retval);
NS_IMETHOD GetTo(char **_retval);
const char* GetTo() {return GetHeader(MSG_TO_HEADER_MASK);}
NS_IMETHOD SetCc(const char *value, PRInt32 *_retval);
NS_IMETHOD GetCc(char **_retval);
const char* GetCc() {return GetHeader(MSG_CC_HEADER_MASK);}
NS_IMETHOD SetBcc(const char *value, PRInt32 *_retval);
NS_IMETHOD GetBcc(char **_retval);
const char* GetBcc() {return GetHeader(MSG_BCC_HEADER_MASK);}
NS_IMETHOD SetFcc(const char *value, PRInt32 *_retval);
NS_IMETHOD GetFcc(char **_retval);
const char* GetFcc() {return GetHeader(MSG_FCC_HEADER_MASK);}
NS_IMETHOD SetNewsFcc(const char *value, PRInt32 *_retval);
NS_IMETHOD GetNewsFcc(char **_retval);
const char* GetNewsFcc() {return GetHeader(MSG_NEWS_FCC_HEADER_MASK);}
NS_IMETHOD SetNewsBcc(const char *value, PRInt32 *_retval);
NS_IMETHOD GetNewsBcc(char **_retval);
const char* GetNewsBcc() {return GetHeader(MSG_NEWS_BCC_HEADER_MASK);}
NS_IMETHOD SetNewsgroups(const char *value, PRInt32 *_retval);
NS_IMETHOD GetNewsgroups(char **_retval);
const char* GetNewsgroups() {return GetHeader(MSG_NEWSGROUPS_HEADER_MASK);}
NS_IMETHOD SetFollowupTo(const char *value, PRInt32 *_retval);
NS_IMETHOD GetFollowupTo(char **_retval);
const char* GetFollowupTo() {return GetHeader(MSG_FOLLOWUP_TO_HEADER_MASK);}
NS_IMETHOD SetSubject(const char *value, PRInt32 *_retval);
NS_IMETHOD GetSubject(char **_retval);
const char* GetSubject() {return GetHeader(MSG_SUBJECT_HEADER_MASK);}
NS_IMETHOD SetAttachments(const char *value, PRInt32 *_retval);
NS_IMETHOD GetAttachments(char **_retval);
const char* GetAttachments() {return GetHeader(MSG_ATTACHMENTS_HEADER_MASK);}
NS_IMETHOD SetOrganization(const char *value, PRInt32 *_retval);
NS_IMETHOD GetOrganization(char **_retval);
const char* GetOrganization() {return GetHeader(MSG_ORGANIZATION_HEADER_MASK);}
NS_IMETHOD SetReferences(const char *value, PRInt32 *_retval);
NS_IMETHOD GetReferences(char **_retval);
const char* GetReferences() {return GetHeader(MSG_REFERENCES_HEADER_MASK);}
NS_IMETHOD SetOtherRandomHeaders(const char *value, PRInt32 *_retval);
NS_IMETHOD GetOtherRandomHeaders(char **_retval);
const char* GetOtherRandomHeaders() {return GetHeader(MSG_OTHERRANDOMHEADERS_HEADER_MASK);}
NS_IMETHOD SetNewspostUrl(const char *value, PRInt32 *_retval);
NS_IMETHOD GetNewspostUrl(char **_retval);
const char* GetNewspostUrl() {return GetHeader(MSG_NEWSPOSTURL_HEADER_MASK);}
NS_IMETHOD SetDefaultBody(const char *value, PRInt32 *_retval);
NS_IMETHOD GetDefaultBody(char **_retval);
const char* GetDefaultBody() {return GetHeader(MSG_DEFAULTBODY_HEADER_MASK);}
NS_IMETHOD SetPriority(const char *value, PRInt32 *_retval);
NS_IMETHOD GetPriority(char **_retval);
const char* GetPriority() {return GetHeader(nsMsgPriority_HEADER_MASK);}
NS_IMETHOD SetMessageEncoding(const char *value, PRInt32 *_retval);
NS_IMETHOD GetMessageEncoding(char **_retval);
const char* GetMessageEncoding() {return GetHeader(MSG_MESSAGE_ENCODING_HEADER_MASK);}
NS_IMETHOD SetCharacterSet(const char *value, PRInt32 *_retval);
NS_IMETHOD GetCharacterSet(char **_retval);
const char* GetCharacterSet() {return GetHeader(MSG_CHARACTER_SET_HEADER_MASK);}
NS_IMETHOD SetMessageId(const char *value, PRInt32 *_retval);
NS_IMETHOD GetMessageId(char **_retval);
const char* GetMessageId() {return GetHeader(MSG_MESSAGE_ID_HEADER_MASK);}
NS_IMETHOD SetHTMLPart(const char *value, PRInt32 *_retval);
NS_IMETHOD GetHTMLPart(char **_retval);
const char* GetHTMLPart() {return GetHeader(MSG_HTML_PART_HEADER_MASK);}
NS_IMETHOD SetTemplateName(const char *value, PRInt32 *_retval);
NS_IMETHOD GetTemplateName(char **_retval);
const char* GetTemplateName() {return GetHeader(MSG_X_TEMPLATE_HEADER_MASK);}
NS_IMETHOD SetReturnReceipt(PRBool value, PRInt32 *_retval);
NS_IMETHOD GetReturnReceipt(PRBool *_retval);
PRBool GetReturnReceipt() {return GetBoolHeader(MSG_RETURN_RECEIPT_BOOL_HEADER_MASK);}
NS_IMETHOD SetAttachVCard(PRBool value, PRInt32 *_retval);
NS_IMETHOD GetAttachVCard(PRBool *_retval);
PRBool GetAttachVCard() {return GetBoolHeader(MSG_RETURN_RECEIPT_BOOL_HEADER_MASK);}
int SetBody(const char*);
NS_IMETHOD SetBody(const char *value, PRInt32 *_retval);
NS_IMETHOD GetBody(char **_retval);
const char* GetBody();
int AppendBody(const char*);