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 #include "base/globalsdef.h"
00046
00047 BEGIN_NAMESPACE
00048
00049 class EmailData : public ArrayElement {
00050
00051
00052 private:
00053 bool read;
00054 bool forwarded;
00055 bool replied;
00056 StringBuffer received;
00057 StringBuffer created;
00058 StringBuffer modified;
00059 bool deleted;
00060 bool flagged;
00061
00062 MailMessage emailItem;
00063
00064
00065 class ExtMailData : public ArrayElement {
00066 public:
00067 ExtMailData() {
00068 attachName = 0;
00069 attachSize = 0;
00070 }
00071 ~ExtMailData() {
00072 if (attachName) {
00073 delete [] attachName; attachName = NULL;
00074 }
00075 }
00076 char* attachName;
00077 long attachSize;
00078 ArrayElement* clone() {
00079 ExtMailData* ret = new ExtMailData();
00080 ret->attachName = stringdup(attachName);
00081 ret->attachSize = attachSize;
00082 return ret;
00083 }
00084
00085 } *extMailData;
00086
00087
00088 unsigned long remainingBodySize;
00089 unsigned long remainingAttachNumber;
00090 unsigned long totalEmailSize;
00091 bool isMailPartial;
00092 ArrayList* remainingAttachments;
00093
00094 public:
00095
00096 EmailData();
00097 ~EmailData();
00098
00099
00100 bool getRead() { return read; }
00101 void setRead(bool v) { read=v; }
00102
00103 bool getForwarded() { return forwarded; }
00104 void setForwarded(bool v) { forwarded=v; }
00105
00106 bool getReplied() { return replied; }
00107 void setReplied(bool r) { replied=r; }
00108
00109 const char * getReceived() { return received; }
00110 void setReceived(const char * v) { received=v; }
00111
00112 const char * getCreated() { return created; }
00113 void setCreated(const char * v) { created=v; }
00114
00115 const char * getModified() { return modified; }
00116 void setModified(const char * v) { modified=v; }
00117
00118 bool getDeleted() { return deleted; }
00119 void setDeleted(bool v) { deleted=v; }
00120
00121 bool getFlagged() { return flagged; }
00122 void setFlagged(bool v) { flagged=v; }
00123
00124 MailMessage& getEmailItem() { return emailItem; }
00125 void setEmailItem(const MailMessage& v) { emailItem = v; }
00126
00127
00128 int parse(const char *syncmlData, size_t len = StringBuffer::npos) ;
00129 char *format() ;
00130
00131 ArrayElement* clone() { return new EmailData(*this); }
00132
00133 unsigned long getRemainingBodySize() { return remainingBodySize; }
00134 void setRemainingBodySize(unsigned long v) { remainingBodySize = v; }
00135
00136 unsigned long getRemainingAttachNumber() { return remainingAttachNumber; }
00137 void setRemainingAttachNumber(unsigned long v) { remainingAttachNumber = v; }
00138
00139 unsigned long getTotalEmailSize() { return totalEmailSize; }
00140 void setTotalEmailSize(unsigned long v) { totalEmailSize = v; }
00141
00142 bool getIsMailPartial() { return isMailPartial; }
00143
00144 const char* getAttachmentName(unsigned int index) {
00145 if (remainingAttachments)
00146 return ((ExtMailData*)remainingAttachments->get(index))->attachName;
00147 else
00148 return NULL;
00149 }
00150 unsigned long getAttachmentSize(unsigned int index) {
00151 if (remainingAttachments)
00152 return ((ExtMailData*)remainingAttachments->get(index))->attachSize;
00153 else
00154 return 0;
00155 }
00156
00157
00158 };
00159
00160
00161 END_NAMESPACE
00162
00164 #endif
00165