Merged changes from branch build_system_redesign at revision 14573.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14574 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -0,0 +1,112 @@
|
||||
#ifndef ZOIDBERG_MAIL_MESSAGE_H
|
||||
#define ZOIDBERG_MAIL_MESSAGE_H
|
||||
/* Message - the main general purpose mail message class
|
||||
**
|
||||
** Copyright 2001 Dr. Zoidberg Enterprises. All rights reserved.
|
||||
*/
|
||||
|
||||
|
||||
#include <MailContainer.h>
|
||||
|
||||
|
||||
// add our additional attributes
|
||||
#define B_MAIL_ATTR_ACCOUNT "MAIL:account"
|
||||
#define B_MAIL_ATTR_THREAD "MAIL:thread"
|
||||
|
||||
|
||||
class BDirectory;
|
||||
|
||||
enum mail_reply_to_mode {
|
||||
B_MAIL_REPLY_TO = 0,
|
||||
B_MAIL_REPLY_TO_ALL,
|
||||
B_MAIL_REPLY_TO_SENDER
|
||||
};
|
||||
|
||||
class BEmailMessage : public BMailContainer {
|
||||
public:
|
||||
BEmailMessage(BPositionIO *mail_file = NULL, bool own = false, uint32 defaultCharSet = B_MAIL_NULL_CONVERSION);
|
||||
BEmailMessage(entry_ref *ref, uint32 defaultCharSet = B_MAIL_NULL_CONVERSION);
|
||||
virtual ~BEmailMessage();
|
||||
|
||||
status_t InitCheck() const;
|
||||
BPositionIO *Data() const { return fData; }
|
||||
// is only set if the message owns the data
|
||||
|
||||
BEmailMessage *ReplyMessage(mail_reply_to_mode replyTo, bool accountFromMail, const char *quote_style = "> ");
|
||||
BEmailMessage *ForwardMessage(bool accountFromMail, bool includeAttachments = false);
|
||||
// These return messages with the body quoted and
|
||||
// ready to send via the appropriate channel. ReplyMessage()
|
||||
// addresses the message appropriately, but ForwardMessage()
|
||||
// leaves it unaddressed.
|
||||
|
||||
const char *To();
|
||||
const char *From();
|
||||
const char *ReplyTo();
|
||||
const char *CC();
|
||||
const char *Subject();
|
||||
const char *Date();
|
||||
int Priority();
|
||||
|
||||
void SetSubject(const char *to, uint32 charset = B_MAIL_NULL_CONVERSION, mail_encoding encoding = null_encoding);
|
||||
void SetReplyTo(const char *to, uint32 charset = B_MAIL_NULL_CONVERSION, mail_encoding encoding = null_encoding);
|
||||
void SetFrom(const char *to, uint32 charset = B_MAIL_NULL_CONVERSION, mail_encoding encoding = null_encoding);
|
||||
void SetTo(const char *to, uint32 charset = B_MAIL_NULL_CONVERSION, mail_encoding encoding = null_encoding);
|
||||
void SetCC(const char *to, uint32 charset = B_MAIL_NULL_CONVERSION, mail_encoding encoding = null_encoding);
|
||||
void SetBCC(const char *to);
|
||||
void SetPriority(int to);
|
||||
|
||||
status_t GetName(char *name,int32 maxLength) const;
|
||||
status_t GetName(BString *name) const;
|
||||
|
||||
void SendViaAccountFrom(BEmailMessage *message);
|
||||
void SendViaAccount(const char *account_name);
|
||||
void SendViaAccount(int32 chain_id);
|
||||
int32 Account() const;
|
||||
status_t GetAccountName(char *account,int32 maxLength) const;
|
||||
status_t GetAccountName(BString *account) const;
|
||||
|
||||
virtual status_t AddComponent(BMailComponent *component);
|
||||
virtual status_t RemoveComponent(BMailComponent *component);
|
||||
virtual status_t RemoveComponent(int32 index);
|
||||
|
||||
virtual BMailComponent *GetComponent(int32 index, bool parse_now = false);
|
||||
virtual int32 CountComponents() const;
|
||||
|
||||
void Attach(entry_ref *ref, bool include_attributes = true);
|
||||
bool IsComponentAttachment(int32 index);
|
||||
|
||||
void SetBodyTextTo(const char *text);
|
||||
const char *BodyText();
|
||||
|
||||
status_t SetBody(BTextMailComponent *body);
|
||||
BTextMailComponent *Body();
|
||||
|
||||
virtual status_t SetToRFC822(BPositionIO *data, size_t length, bool parse_now = false);
|
||||
virtual status_t RenderToRFC822(BPositionIO *render_to);
|
||||
|
||||
status_t RenderTo(BDirectory *dir, BEntry *message = NULL);
|
||||
//---message will be set to the message file if not equal to NULL
|
||||
|
||||
status_t Send(bool send_now);
|
||||
|
||||
private:
|
||||
BTextMailComponent *RetrieveTextBody(BMailComponent *);
|
||||
|
||||
virtual void _ReservedMessage1();
|
||||
virtual void _ReservedMessage2();
|
||||
virtual void _ReservedMessage3();
|
||||
|
||||
BPositionIO *fData;
|
||||
|
||||
status_t _status;
|
||||
int32 _chain_id;
|
||||
char *_bcc;
|
||||
|
||||
int32 _num_components;
|
||||
BMailComponent *_body;
|
||||
BTextMailComponent *_text_body;
|
||||
|
||||
uint32 _reserved[5];
|
||||
};
|
||||
|
||||
#endif /* ZOIDBERG_MAIL_MESSAGE_H */
|
||||
Reference in New Issue
Block a user