00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037 #ifndef INCL_MAIL
00038 #define INCL_MAIL
00039
00041 #include "base/util/ArrayElement.h"
00042 #include "base/util/StringBuffer.h"
00043 #include "spds/MailMessage.h"
00044 #include "spds/EmailData.h"
00045
00046 class EmailData : public ArrayElement {
00047
00048
00049 private:
00050 bool read;
00051 bool forwarded;
00052 bool replied;
00053 StringBuffer received;
00054 StringBuffer created;
00055 StringBuffer modified;
00056 bool deleted;
00057 bool flagged;
00058
00059 MailMessage emailItem;
00060
00061
00062 class ExtMailData : public ArrayElement {
00063 public:
00064 ExtMailData() {
00065 attachName = 0;
00066 attachSize = 0;
00067 }
00068 ~ExtMailData() {
00069 if (attachName) {
00070 delete [] attachName; attachName = NULL;
00071 }
00072 }
00073 char* attachName;
00074 long attachSize;
00075 ArrayElement* clone() {
00076 ExtMailData* ret = new ExtMailData();
00077 ret->attachName = stringdup(attachName);
00078 ret->attachSize = attachSize;
00079 return ret;
00080 }
00081
00082 } *extMailData;
00083
00084
00085 unsigned long remainingBodySize;
00086 unsigned long remainingAttachNumber;
00087 unsigned long totalEmailSize;
00088 bool isMailPartial;
00089 ArrayList* remainingAttachments;
00090
00091 public:
00092
00093 EmailData();
00094 ~EmailData();
00095
00096
00097 bool getRead() { return read; }
00098 void setRead(bool v) { read=v; }
00099
00100 bool getForwarded() { return forwarded; }
00101 void setForwarded(bool v) { forwarded=v; }
00102
00103 bool getReplied() { return replied; }
00104 void setReplied(bool r) { replied=r; }
00105
00106 const char * getReceived() { return received; }
00107 void setReceived(const char * v) { received=v; }
00108
00109 const char * getCreated() { return created; }
00110 void setCreated(const char * v) { created=v; }
00111
00112 const char * getModified() { return modified; }
00113 void setModified(const char * v) { modified=v; }
00114
00115 bool getDeleted() { return deleted; }
00116 void setDeleted(bool v) { deleted=v; }
00117
00118 bool getFlagged() { return flagged; }
00119 void setFlagged(bool v) { flagged=v; }
00120
00121 MailMessage& getEmailItem() { return emailItem; }
00122 void setEmailItem(const MailMessage& v) { emailItem = v; }
00123
00124
00125 int parse(const char *syncmlData, size_t len = StringBuffer::npos) ;
00126 char *format() ;
00127
00128 ArrayElement* clone() { return new EmailData(*this); }
00129
00130 unsigned long getRemainingBodySize() { return remainingBodySize; }
00131 void setRemainingBodySize(unsigned long v) { remainingBodySize = v; }
00132
00133 unsigned long getRemainingAttachNumber() { return remainingAttachNumber; }
00134 void setRemainingAttachNumber(unsigned long v) { remainingAttachNumber = v; }
00135
00136 unsigned long getTotalEmailSize() { return totalEmailSize; }
00137 void setTotalEmailSize(unsigned long v) { totalEmailSize = v; }
00138
00139 bool getIsMailPartial() { return isMailPartial; }
00140
00141 const char* getAttachmentName(unsigned int index) {
00142 if (remainingAttachments)
00143 return ((ExtMailData*)remainingAttachments->get(index))->attachName;
00144 else
00145 return NULL;
00146 }
00147 unsigned long getAttachmentSize(unsigned int index) {
00148 if (remainingAttachments)
00149 return ((ExtMailData*)remainingAttachments->get(index))->attachSize;
00150 else
00151 return NULL;
00152 }
00153
00154
00155 };
00156
00158 #endif
00159