66 lines
2.1 KiB
C
66 lines
2.1 KiB
C
|
#ifndef MAILCORE_MCADDRESS_H
|
||
|
|
||
|
#define MAILCORE_MCADDRESS_H
|
||
|
|
||
|
#include <MailCore/MCBaseTypes.h>
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
|
||
|
namespace mailcore {
|
||
|
|
||
|
class Address : public Object {
|
||
|
public:
|
||
|
Address();
|
||
|
virtual ~Address();
|
||
|
|
||
|
static Address * addressWithDisplayName(String * displayName, String * mailbox);
|
||
|
static Address * addressWithMailbox(String * mailbox);
|
||
|
static Address * addressWithRFC822String(String * RFC822String);
|
||
|
static Address * addressWithNonEncodedRFC822String(String * nonEncodedRFC822String);
|
||
|
|
||
|
static Array * addressesWithRFC822String(String * string);
|
||
|
static Array * addressesWithNonEncodedRFC822String(String * string);
|
||
|
|
||
|
static String * RFC822StringForAddresses(Array * addresses);
|
||
|
static String * nonEncodedRFC822StringForAddresses(Array * addresses);
|
||
|
|
||
|
virtual void setDisplayName(String * displayName);
|
||
|
virtual String * displayName();
|
||
|
|
||
|
virtual void setMailbox(String * address);
|
||
|
virtual String * mailbox();
|
||
|
|
||
|
virtual String * RFC822String();
|
||
|
virtual String * nonEncodedRFC822String();
|
||
|
|
||
|
public: // subclass behavior.
|
||
|
Address(Address * other);
|
||
|
virtual String * description();
|
||
|
virtual bool isEqual(Object * otherObject);
|
||
|
virtual unsigned int hash();
|
||
|
virtual Object * copy();
|
||
|
virtual HashMap * serializable();
|
||
|
virtual void importSerializable(HashMap * serializable);
|
||
|
|
||
|
public: // private
|
||
|
// Must be released
|
||
|
virtual struct mailimf_address * createIMFAddress();
|
||
|
virtual struct mailimf_mailbox * createIMFMailbox();
|
||
|
|
||
|
// Additions
|
||
|
static Address * addressWithIMFMailbox(struct mailimf_mailbox * mb);
|
||
|
static Address * addressWithNonEncodedIMFMailbox(struct mailimf_mailbox * mb);
|
||
|
static Address * addressWithIMAPAddress(struct mailimap_address * imap_addr);
|
||
|
|
||
|
private:
|
||
|
String * mDisplayName;
|
||
|
String * mMailbox;
|
||
|
void init();
|
||
|
};
|
||
|
|
||
|
}
|
||
|
|
||
|
#endif
|
||
|
|
||
|
#endif
|