Diffstat (limited to 'noncore/net/mail/libmailwrapper') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/net/mail/libmailwrapper/abstractmail.h | 8 | ||||
-rw-r--r-- | noncore/net/mail/libmailwrapper/genericwrapper.cpp | 90 | ||||
-rw-r--r-- | noncore/net/mail/libmailwrapper/genericwrapper.h | 14 | ||||
-rw-r--r-- | noncore/net/mail/libmailwrapper/imapwrapper.cpp | 86 | ||||
-rw-r--r-- | noncore/net/mail/libmailwrapper/imapwrapper.h | 22 | ||||
-rw-r--r-- | noncore/net/mail/libmailwrapper/mailtypes.cpp | 40 | ||||
-rw-r--r-- | noncore/net/mail/libmailwrapper/mailtypes.h | 24 | ||||
-rw-r--r-- | noncore/net/mail/libmailwrapper/mboxwrapper.cpp | 4 | ||||
-rw-r--r-- | noncore/net/mail/libmailwrapper/mboxwrapper.h | 2 | ||||
-rw-r--r-- | noncore/net/mail/libmailwrapper/mhwrapper.cpp | 4 | ||||
-rw-r--r-- | noncore/net/mail/libmailwrapper/mhwrapper.h | 2 | ||||
-rw-r--r-- | noncore/net/mail/libmailwrapper/nntpwrapper.cpp | 6 | ||||
-rw-r--r-- | noncore/net/mail/libmailwrapper/nntpwrapper.h | 2 | ||||
-rw-r--r-- | noncore/net/mail/libmailwrapper/pop3wrapper.cpp | 7 | ||||
-rw-r--r-- | noncore/net/mail/libmailwrapper/pop3wrapper.h | 2 |
15 files changed, 173 insertions, 140 deletions
diff --git a/noncore/net/mail/libmailwrapper/abstractmail.h b/noncore/net/mail/libmailwrapper/abstractmail.h index 2d55c83..e5d64a6 100644 --- a/noncore/net/mail/libmailwrapper/abstractmail.h +++ b/noncore/net/mail/libmailwrapper/abstractmail.h | |||
@@ -26,6 +26,6 @@ public: | |||
26 | virtual void statusFolder(folderStat&target_stat,const QString & mailbox="INBOX")=0; | 26 | virtual void statusFolder(folderStat&target_stat,const QString & mailbox="INBOX")=0; |
27 | virtual RecBody fetchBody(const RecMailP&mail)=0; | 27 | virtual RecBodyP fetchBody(const RecMailP&mail)=0; |
28 | virtual QString fetchTextPart(const RecMailP&mail,const RecPart&part)=0; | 28 | virtual QString fetchTextPart(const RecMailP&mail,const RecPartP&part)=0; |
29 | virtual encodedString* fetchDecodedPart(const RecMailP&mail,const RecPart&part)=0; | 29 | virtual encodedString* fetchDecodedPart(const RecMailP&mail,const RecPartP&part)=0; |
30 | virtual encodedString* fetchRawPart(const RecMailP&mail,const RecPart&part)=0; | 30 | virtual encodedString* fetchRawPart(const RecMailP&mail,const RecPartP&part)=0; |
31 | virtual encodedString* fetchRawBody(const RecMailP&mail)=0; | 31 | virtual encodedString* fetchRawBody(const RecMailP&mail)=0; |
diff --git a/noncore/net/mail/libmailwrapper/genericwrapper.cpp b/noncore/net/mail/libmailwrapper/genericwrapper.cpp index f428415..0c68280 100644 --- a/noncore/net/mail/libmailwrapper/genericwrapper.cpp +++ b/noncore/net/mail/libmailwrapper/genericwrapper.cpp | |||
@@ -24,3 +24,3 @@ Genericwrapper::~Genericwrapper() | |||
24 | 24 | ||
25 | void Genericwrapper::fillSingleBody(RecPart&target,mailmessage*,mailmime*mime) | 25 | void Genericwrapper::fillSingleBody(RecPartP&target,mailmessage*,mailmime*mime) |
26 | { | 26 | { |
@@ -40,21 +40,21 @@ void Genericwrapper::fillSingleBody(RecPart&target,mailmessage*,mailmime*mime) | |||
40 | if (!type) { | 40 | if (!type) { |
41 | target.setType("text"); | 41 | target->setType("text"); |
42 | target.setSubtype("plain"); | 42 | target->setSubtype("plain"); |
43 | } else { | 43 | } else { |
44 | target.setSubtype(type->ct_subtype); | 44 | target->setSubtype(type->ct_subtype); |
45 | switch(type->ct_type->tp_data.tp_discrete_type->dt_type) { | 45 | switch(type->ct_type->tp_data.tp_discrete_type->dt_type) { |
46 | case MAILMIME_DISCRETE_TYPE_TEXT: | 46 | case MAILMIME_DISCRETE_TYPE_TEXT: |
47 | target.setType("text"); | 47 | target->setType("text"); |
48 | break; | 48 | break; |
49 | case MAILMIME_DISCRETE_TYPE_IMAGE: | 49 | case MAILMIME_DISCRETE_TYPE_IMAGE: |
50 | target.setType("image"); | 50 | target->setType("image"); |
51 | break; | 51 | break; |
52 | case MAILMIME_DISCRETE_TYPE_AUDIO: | 52 | case MAILMIME_DISCRETE_TYPE_AUDIO: |
53 | target.setType("audio"); | 53 | target->setType("audio"); |
54 | break; | 54 | break; |
55 | case MAILMIME_DISCRETE_TYPE_VIDEO: | 55 | case MAILMIME_DISCRETE_TYPE_VIDEO: |
56 | target.setType("video"); | 56 | target->setType("video"); |
57 | break; | 57 | break; |
58 | case MAILMIME_DISCRETE_TYPE_APPLICATION: | 58 | case MAILMIME_DISCRETE_TYPE_APPLICATION: |
59 | target.setType("application"); | 59 | target->setType("application"); |
60 | break; | 60 | break; |
@@ -63,3 +63,3 @@ void Genericwrapper::fillSingleBody(RecPart&target,mailmessage*,mailmime*mime) | |||
63 | if (type->ct_type->tp_data.tp_discrete_type->dt_extension) { | 63 | if (type->ct_type->tp_data.tp_discrete_type->dt_extension) { |
64 | target.setType(type->ct_type->tp_data.tp_discrete_type->dt_extension); | 64 | target->setType(type->ct_type->tp_data.tp_discrete_type->dt_extension); |
65 | } | 65 | } |
@@ -76,9 +76,9 @@ void Genericwrapper::fillSingleBody(RecPart&target,mailmessage*,mailmime*mime) | |||
76 | case MAILMIME_FIELD_TRANSFER_ENCODING: | 76 | case MAILMIME_FIELD_TRANSFER_ENCODING: |
77 | target.setEncoding(getencoding(field->fld_data.fld_encoding)); | 77 | target->setEncoding(getencoding(field->fld_data.fld_encoding)); |
78 | break; | 78 | break; |
79 | case MAILMIME_FIELD_ID: | 79 | case MAILMIME_FIELD_ID: |
80 | target.setIdentifier(field->fld_data.fld_id); | 80 | target->setIdentifier(field->fld_data.fld_id); |
81 | break; | 81 | break; |
82 | case MAILMIME_FIELD_DESCRIPTION: | 82 | case MAILMIME_FIELD_DESCRIPTION: |
83 | target.setDescription(field->fld_data.fld_description); | 83 | target->setDescription(field->fld_data.fld_description); |
84 | break; | 84 | break; |
@@ -91,3 +91,3 @@ void Genericwrapper::fillSingleBody(RecPart&target,mailmessage*,mailmime*mime) | |||
91 | 91 | ||
92 | void Genericwrapper::fillParameters(RecPart&target,clist*parameters) | 92 | void Genericwrapper::fillParameters(RecPartP&target,clist*parameters) |
93 | { | 93 | { |
@@ -99,3 +99,3 @@ void Genericwrapper::fillParameters(RecPart&target,clist*parameters) | |||
99 | if (param) { | 99 | if (param) { |
100 | target.addParameter(QString(param->pa_name).lower(),QString(param->pa_value)); | 100 | target->addParameter(QString(param->pa_name).lower(),QString(param->pa_value)); |
101 | } | 101 | } |
@@ -134,3 +134,3 @@ QString Genericwrapper::getencoding(mailmime_mechanism*aEnc) | |||
134 | 134 | ||
135 | void Genericwrapper::traverseBody(RecBody&target,mailmessage*message,mailmime*mime,QValueList<int>recList,unsigned int current_rec,int current_count) | 135 | void Genericwrapper::traverseBody(RecBodyP&target,mailmessage*message,mailmime*mime,QValueList<int>recList,unsigned int current_rec,int current_count) |
136 | { | 136 | { |
@@ -147,3 +147,3 @@ void Genericwrapper::traverseBody(RecBody&target,mailmessage*message,mailmime*mi | |||
147 | QString b; | 147 | QString b; |
148 | RecPart part; | 148 | RecPartP part = new RecPart(); |
149 | 149 | ||
@@ -155,14 +155,14 @@ void Genericwrapper::traverseBody(RecBody&target,mailmessage*message,mailmime*mi | |||
155 | r = mailmessage_fetch_section(message,mime,&data,&len); | 155 | r = mailmessage_fetch_section(message,mime,&data,&len); |
156 | part.setSize(len); | 156 | part->setSize(len); |
157 | part.setPositionlist(countlist); | 157 | part->setPositionlist(countlist); |
158 | b = gen_attachment_id(); | 158 | b = gen_attachment_id(); |
159 | part.setIdentifier(b); | 159 | part->setIdentifier(b); |
160 | fillSingleBody(part,message,mime); | 160 | fillSingleBody(part,message,mime); |
161 | if (part.Type()=="text" && target.Bodytext().isNull()) { | 161 | if (part->Type()=="text" && target->Bodytext().isNull()) { |
162 | encodedString*rs = new encodedString(); | 162 | encodedString*rs = new encodedString(); |
163 | rs->setContent(data,len); | 163 | rs->setContent(data,len); |
164 | encodedString*res = decode_String(rs,part.Encoding()); | 164 | encodedString*res = decode_String(rs,part->Encoding()); |
165 | if (countlist.count()>2) { | 165 | if (countlist.count()>2) { |
166 | bodyCache[b]=rs; | 166 | bodyCache[b]=rs; |
167 | target.addPart(part); | 167 | target->addPart(part); |
168 | } else { | 168 | } else { |
@@ -172,7 +172,7 @@ void Genericwrapper::traverseBody(RecBody&target,mailmessage*message,mailmime*mi | |||
172 | delete res; | 172 | delete res; |
173 | target.setBodytext(b); | 173 | target->setBodytext(b); |
174 | target.setDescription(part); | 174 | target->setDescription(part); |
175 | } else { | 175 | } else { |
176 | bodyCache[b]=new encodedString(data,len); | 176 | bodyCache[b]=new encodedString(data,len); |
177 | target.addPart(part); | 177 | target->addPart(part); |
178 | } | 178 | } |
@@ -188,7 +188,7 @@ void Genericwrapper::traverseBody(RecBody&target,mailmessage*message,mailmime*mi | |||
188 | if (cbody->mm_type==MAILMIME_MULTIPLE) { | 188 | if (cbody->mm_type==MAILMIME_MULTIPLE) { |
189 | RecPart targetPart; | 189 | RecPartP targetPart = new RecPart(); |
190 | targetPart.setType("multipart"); | 190 | targetPart->setType("multipart"); |
191 | countlist.append(current_count); | 191 | countlist.append(current_count); |
192 | targetPart.setPositionlist(countlist); | 192 | targetPart->setPositionlist(countlist); |
193 | target.addPart(targetPart); | 193 | target->addPart(targetPart); |
194 | } | 194 | } |
@@ -208,12 +208,12 @@ void Genericwrapper::traverseBody(RecBody&target,mailmessage*message,mailmime*mi | |||
208 | if (current_rec > 0) { | 208 | if (current_rec > 0) { |
209 | part.setPositionlist(countlist); | 209 | part->setPositionlist(countlist); |
210 | r = mailmessage_fetch_section(message,mime,&data,&len); | 210 | r = mailmessage_fetch_section(message,mime,&data,&len); |
211 | part.setSize(len); | 211 | part->setSize(len); |
212 | part.setPositionlist(countlist); | 212 | part->setPositionlist(countlist); |
213 | b = gen_attachment_id(); | 213 | b = gen_attachment_id(); |
214 | part.setIdentifier(b); | 214 | part->setIdentifier(b); |
215 | part.setType("message"); | 215 | part->setType("message"); |
216 | part.setSubtype("rfc822"); | 216 | part->setSubtype("rfc822"); |
217 | bodyCache[b]=new encodedString(data,len); | 217 | bodyCache[b]=new encodedString(data,len); |
218 | target.addPart(part); | 218 | target->addPart(part); |
219 | } | 219 | } |
@@ -227,3 +227,3 @@ void Genericwrapper::traverseBody(RecBody&target,mailmessage*message,mailmime*mi | |||
227 | 227 | ||
228 | RecBody Genericwrapper::parseMail( mailmessage * msg ) | 228 | RecBodyP Genericwrapper::parseMail( mailmessage * msg ) |
229 | { | 229 | { |
@@ -233,3 +233,3 @@ RecBody Genericwrapper::parseMail( mailmessage * msg ) | |||
233 | mailmime * mime=0; | 233 | mailmime * mime=0; |
234 | RecBody body; | 234 | RecBodyP body = new RecBody(); |
235 | memset(&fields, 0, sizeof(struct mailmime_single_fields)); | 235 | memset(&fields, 0, sizeof(struct mailmime_single_fields)); |
@@ -334,7 +334,7 @@ QString Genericwrapper::parseMailboxList( mailimf_mailbox_list *list ) | |||
334 | 334 | ||
335 | encodedString* Genericwrapper::fetchDecodedPart(const RecMailP&,const RecPart&part) | 335 | encodedString* Genericwrapper::fetchDecodedPart(const RecMailP&,const RecPartP&part) |
336 | { | 336 | { |
337 | QMap<QString,encodedString*>::ConstIterator it = bodyCache.find(part.Identifier()); | 337 | QMap<QString,encodedString*>::ConstIterator it = bodyCache.find(part->Identifier()); |
338 | if (it==bodyCache.end()) return new encodedString(); | 338 | if (it==bodyCache.end()) return new encodedString(); |
339 | encodedString*t = decode_String(it.data(),part.Encoding()); | 339 | encodedString*t = decode_String(it.data(),part->Encoding()); |
340 | return t; | 340 | return t; |
@@ -342,5 +342,5 @@ encodedString* Genericwrapper::fetchDecodedPart(const RecMailP&,const RecPart&pa | |||
342 | 342 | ||
343 | encodedString* Genericwrapper::fetchRawPart(const RecMailP&mail,const RecPart&part) | 343 | encodedString* Genericwrapper::fetchRawPart(const RecMailP&,const RecPartP&part) |
344 | { | 344 | { |
345 | QMap<QString,encodedString*>::ConstIterator it = bodyCache.find(part.Identifier()); | 345 | QMap<QString,encodedString*>::ConstIterator it = bodyCache.find(part->Identifier()); |
346 | if (it==bodyCache.end()) return new encodedString(); | 346 | if (it==bodyCache.end()) return new encodedString(); |
@@ -350,3 +350,3 @@ encodedString* Genericwrapper::fetchRawPart(const RecMailP&mail,const RecPart&pa | |||
350 | 350 | ||
351 | QString Genericwrapper::fetchTextPart(const RecMailP&mail,const RecPart&part) | 351 | QString Genericwrapper::fetchTextPart(const RecMailP&mail,const RecPartP&part) |
352 | { | 352 | { |
diff --git a/noncore/net/mail/libmailwrapper/genericwrapper.h b/noncore/net/mail/libmailwrapper/genericwrapper.h index f5b9504..8be9212 100644 --- a/noncore/net/mail/libmailwrapper/genericwrapper.h +++ b/noncore/net/mail/libmailwrapper/genericwrapper.h | |||
@@ -36,5 +36,5 @@ public: | |||
36 | 36 | ||
37 | virtual encodedString* fetchDecodedPart(const RecMailP&mail,const RecPart&part); | 37 | virtual encodedString* fetchDecodedPart(const RecMailP&mail,const RecPartP&part); |
38 | virtual encodedString* fetchRawPart(const RecMailP&mail,const RecPart&part); | 38 | virtual encodedString* fetchRawPart(const RecMailP&mail,const RecPartP&part); |
39 | virtual QString fetchTextPart(const RecMailP&mail,const RecPart&part); | 39 | virtual QString fetchTextPart(const RecMailP&mail,const RecPartP&part); |
40 | virtual void cleanMimeCache(); | 40 | virtual void cleanMimeCache(); |
@@ -45,3 +45,3 @@ public: | |||
45 | protected: | 45 | protected: |
46 | RecBody parseMail( mailmessage * msg ); | 46 | RecBodyP parseMail( mailmessage * msg ); |
47 | QString parseMailboxList( mailimf_mailbox_list *list ); | 47 | QString parseMailboxList( mailimf_mailbox_list *list ); |
@@ -52,5 +52,5 @@ protected: | |||
52 | 52 | ||
53 | void traverseBody(RecBody&target,mailmessage*message,mailmime*mime,QValueList<int>recList,unsigned int current_rek=0,int current_count=1); | 53 | void traverseBody(RecBodyP&target,mailmessage*message,mailmime*mime,QValueList<int>recList,unsigned int current_rek=0,int current_count=1); |
54 | static void fillSingleBody(RecPart&target,mailmessage*message,mailmime*mime); | 54 | static void fillSingleBody(RecPartP&target,mailmessage*message,mailmime*mime); |
55 | static void fillParameters(RecPart&target,clist*parameters); | 55 | static void fillParameters(RecPartP&target,clist*parameters); |
56 | static QString getencoding(mailmime_mechanism*aEnc); | 56 | static QString getencoding(mailmime_mechanism*aEnc); |
diff --git a/noncore/net/mail/libmailwrapper/imapwrapper.cpp b/noncore/net/mail/libmailwrapper/imapwrapper.cpp index 56e7df9..230cf53 100644 --- a/noncore/net/mail/libmailwrapper/imapwrapper.cpp +++ b/noncore/net/mail/libmailwrapper/imapwrapper.cpp | |||
@@ -485,5 +485,5 @@ RecMail*IMAPwrapper::parse_list_result(mailimap_msg_att* m_att) | |||
485 | 485 | ||
486 | RecBody IMAPwrapper::fetchBody(const RecMailP&mail) | 486 | RecBodyP IMAPwrapper::fetchBody(const RecMailP&mail) |
487 | { | 487 | { |
488 | RecBody body; | 488 | RecBodyP body = new RecBody(); |
489 | const char *mb; | 489 | const char *mb; |
@@ -644,3 +644,3 @@ encodedString*IMAPwrapper::fetchRawPart(const RecMailP&mail,const QValueList<int | |||
644 | current_count means the position inside the internal loop! */ | 644 | current_count means the position inside the internal loop! */ |
645 | void IMAPwrapper::traverseBody(const RecMailP&mail,mailimap_body*body,RecBody&target_body, | 645 | void IMAPwrapper::traverseBody(const RecMailP&mail,mailimap_body*body,RecBodyP&target_body, |
646 | int current_recursion,QValueList<int>recList,int current_count) | 646 | int current_recursion,QValueList<int>recList,int current_count) |
@@ -655,6 +655,6 @@ void IMAPwrapper::traverseBody(const RecMailP&mail,mailimap_body*body,RecBody&ta | |||
655 | countlist.append(current_count); | 655 | countlist.append(current_count); |
656 | RecPart currentPart; | 656 | RecPartP currentPart = new RecPart(); |
657 | mailimap_body_type_1part*part1 = body->bd_data.bd_body_1part; | 657 | mailimap_body_type_1part*part1 = body->bd_data.bd_body_1part; |
658 | QString id(""); | 658 | QString id(""); |
659 | currentPart.setPositionlist(countlist); | 659 | currentPart->setPositionlist(countlist); |
660 | for (unsigned int j = 0; j < countlist.count();++j) { | 660 | for (unsigned int j = 0; j < countlist.count();++j) { |
@@ -664,3 +664,3 @@ void IMAPwrapper::traverseBody(const RecMailP&mail,mailimap_body*body,RecBody&ta | |||
664 | qDebug("ID = %s",id.latin1()); | 664 | qDebug("ID = %s",id.latin1()); |
665 | currentPart.setIdentifier(id); | 665 | currentPart->setIdentifier(id); |
666 | fillSinglePart(currentPart,part1); | 666 | fillSinglePart(currentPart,part1); |
@@ -668,11 +668,11 @@ void IMAPwrapper::traverseBody(const RecMailP&mail,mailimap_body*body,RecBody&ta | |||
668 | And we put it only into the mail if it is the FIRST part */ | 668 | And we put it only into the mail if it is the FIRST part */ |
669 | if (part1->bd_type==MAILIMAP_BODY_TYPE_1PART_TEXT && target_body.Bodytext().isNull() && countlist[0]==1) { | 669 | if (part1->bd_type==MAILIMAP_BODY_TYPE_1PART_TEXT && target_body->Bodytext().isNull() && countlist[0]==1) { |
670 | QString body_text = fetchTextPart(mail,countlist,true,currentPart.Encoding()); | 670 | QString body_text = fetchTextPart(mail,countlist,true,currentPart->Encoding()); |
671 | target_body.setDescription(currentPart); | 671 | target_body->setDescription(currentPart); |
672 | target_body.setBodytext(body_text); | 672 | target_body->setBodytext(body_text); |
673 | if (countlist.count()>1) { | 673 | if (countlist.count()>1) { |
674 | target_body.addPart(currentPart); | 674 | target_body->addPart(currentPart); |
675 | } | 675 | } |
676 | } else { | 676 | } else { |
677 | target_body.addPart(currentPart); | 677 | target_body->addPart(currentPart); |
678 | } | 678 | } |
@@ -693,8 +693,8 @@ void IMAPwrapper::traverseBody(const RecMailP&mail,mailimap_body*body,RecBody&ta | |||
693 | if (current_body->bd_type==MAILIMAP_BODY_MPART) { | 693 | if (current_body->bd_type==MAILIMAP_BODY_MPART) { |
694 | RecPart targetPart; | 694 | RecPartP targetPart = new RecPart(); |
695 | targetPart.setType("multipart"); | 695 | targetPart->setType("multipart"); |
696 | fillMultiPart(targetPart,mailDescription); | 696 | fillMultiPart(targetPart,mailDescription); |
697 | countlist.append(current_count); | 697 | countlist.append(current_count); |
698 | targetPart.setPositionlist(countlist); | 698 | targetPart->setPositionlist(countlist); |
699 | target_body.addPart(targetPart); | 699 | target_body->addPart(targetPart); |
700 | QString id(""); | 700 | QString id(""); |
@@ -719,3 +719,3 @@ void IMAPwrapper::traverseBody(const RecMailP&mail,mailimap_body*body,RecBody&ta | |||
719 | 719 | ||
720 | void IMAPwrapper::fillSinglePart(RecPart&target_part,mailimap_body_type_1part*Description) | 720 | void IMAPwrapper::fillSinglePart(RecPartP&target_part,mailimap_body_type_1part*Description) |
721 | { | 721 | { |
@@ -726,3 +726,3 @@ void IMAPwrapper::fillSinglePart(RecPart&target_part,mailimap_body_type_1part*De | |||
726 | case MAILIMAP_BODY_TYPE_1PART_TEXT: | 726 | case MAILIMAP_BODY_TYPE_1PART_TEXT: |
727 | target_part.setType("text"); | 727 | target_part->setType("text"); |
728 | fillSingleTextPart(target_part,Description->bd_data.bd_type_text); | 728 | fillSingleTextPart(target_part,Description->bd_data.bd_type_text); |
@@ -733,3 +733,3 @@ void IMAPwrapper::fillSinglePart(RecPart&target_part,mailimap_body_type_1part*De | |||
733 | case MAILIMAP_BODY_TYPE_1PART_MSG: | 733 | case MAILIMAP_BODY_TYPE_1PART_MSG: |
734 | target_part.setType("message"); | 734 | target_part->setType("message"); |
735 | fillSingleMsgPart(target_part,Description->bd_data.bd_type_msg); | 735 | fillSingleMsgPart(target_part,Description->bd_data.bd_type_msg); |
@@ -741,3 +741,3 @@ void IMAPwrapper::fillSinglePart(RecPart&target_part,mailimap_body_type_1part*De | |||
741 | 741 | ||
742 | void IMAPwrapper::fillSingleTextPart(RecPart&target_part,mailimap_body_type_text*which) | 742 | void IMAPwrapper::fillSingleTextPart(RecPartP&target_part,mailimap_body_type_text*which) |
743 | { | 743 | { |
@@ -749,4 +749,4 @@ void IMAPwrapper::fillSingleTextPart(RecPart&target_part,mailimap_body_type_text | |||
749 | qDebug("Type= text/%s",which->bd_media_text); | 749 | qDebug("Type= text/%s",which->bd_media_text); |
750 | target_part.setSubtype(sub.lower()); | 750 | target_part->setSubtype(sub.lower()); |
751 | target_part.setLines(which->bd_lines); | 751 | target_part->setLines(which->bd_lines); |
752 | fillBodyFields(target_part,which->bd_fields); | 752 | fillBodyFields(target_part,which->bd_fields); |
@@ -754,3 +754,3 @@ void IMAPwrapper::fillSingleTextPart(RecPart&target_part,mailimap_body_type_text | |||
754 | 754 | ||
755 | void IMAPwrapper::fillSingleMsgPart(RecPart&target_part,mailimap_body_type_msg*which) | 755 | void IMAPwrapper::fillSingleMsgPart(RecPartP&target_part,mailimap_body_type_msg*which) |
756 | { | 756 | { |
@@ -759,6 +759,6 @@ void IMAPwrapper::fillSingleMsgPart(RecPart&target_part,mailimap_body_type_msg*w | |||
759 | } | 759 | } |
760 | target_part.setSubtype("rfc822"); | 760 | target_part->setSubtype("rfc822"); |
761 | qDebug("Message part"); | 761 | qDebug("Message part"); |
762 | /* we set this type to text/plain */ | 762 | /* we set this type to text/plain */ |
763 | target_part.setLines(which->bd_lines); | 763 | target_part->setLines(which->bd_lines); |
764 | fillBodyFields(target_part,which->bd_fields); | 764 | fillBodyFields(target_part,which->bd_fields); |
@@ -766,3 +766,3 @@ void IMAPwrapper::fillSingleMsgPart(RecPart&target_part,mailimap_body_type_msg*w | |||
766 | 766 | ||
767 | void IMAPwrapper::fillMultiPart(RecPart&target_part,mailimap_body_type_mpart*which) | 767 | void IMAPwrapper::fillMultiPart(RecPartP&target_part,mailimap_body_type_mpart*which) |
768 | { | 768 | { |
@@ -770,3 +770,3 @@ void IMAPwrapper::fillMultiPart(RecPart&target_part,mailimap_body_type_mpart*whi | |||
770 | QString sub = which->bd_media_subtype; | 770 | QString sub = which->bd_media_subtype; |
771 | target_part.setSubtype(sub.lower()); | 771 | target_part->setSubtype(sub.lower()); |
772 | if (which->bd_ext_mpart && which->bd_ext_mpart->bd_parameter && which->bd_ext_mpart->bd_parameter->pa_list) { | 772 | if (which->bd_ext_mpart && which->bd_ext_mpart->bd_parameter && which->bd_ext_mpart->bd_parameter->pa_list) { |
@@ -777,3 +777,3 @@ void IMAPwrapper::fillMultiPart(RecPart&target_part,mailimap_body_type_mpart*whi | |||
777 | if (param) { | 777 | if (param) { |
778 | target_part.addParameter(QString(param->pa_name).lower(),QString(param->pa_value)); | 778 | target_part->addParameter(QString(param->pa_name).lower(),QString(param->pa_value)); |
779 | } | 779 | } |
@@ -783,3 +783,3 @@ void IMAPwrapper::fillMultiPart(RecPart&target_part,mailimap_body_type_mpart*whi | |||
783 | 783 | ||
784 | void IMAPwrapper::fillSingleBasicPart(RecPart&target_part,mailimap_body_type_basic*which) | 784 | void IMAPwrapper::fillSingleBasicPart(RecPartP&target_part,mailimap_body_type_basic*which) |
785 | { | 785 | { |
@@ -820,4 +820,4 @@ void IMAPwrapper::fillSingleBasicPart(RecPart&target_part,mailimap_body_type_bas | |||
820 | qDebug("Type = %s/%s",type.latin1(),sub.latin1()); | 820 | qDebug("Type = %s/%s",type.latin1(),sub.latin1()); |
821 | target_part.setType(type.lower()); | 821 | target_part->setType(type.lower()); |
822 | target_part.setSubtype(sub.lower()); | 822 | target_part->setSubtype(sub.lower()); |
823 | fillBodyFields(target_part,which->bd_fields); | 823 | fillBodyFields(target_part,which->bd_fields); |
@@ -825,3 +825,3 @@ void IMAPwrapper::fillSingleBasicPart(RecPart&target_part,mailimap_body_type_bas | |||
825 | 825 | ||
826 | void IMAPwrapper::fillBodyFields(RecPart&target_part,mailimap_body_fields*which) | 826 | void IMAPwrapper::fillBodyFields(RecPartP&target_part,mailimap_body_fields*which) |
827 | { | 827 | { |
@@ -834,3 +834,3 @@ void IMAPwrapper::fillBodyFields(RecPart&target_part,mailimap_body_fields*which) | |||
834 | if (param) { | 834 | if (param) { |
835 | target_part.addParameter(QString(param->pa_name).lower(),QString(param->pa_value)); | 835 | target_part->addParameter(QString(param->pa_name).lower(),QString(param->pa_value)); |
836 | } | 836 | } |
@@ -866,6 +866,6 @@ void IMAPwrapper::fillBodyFields(RecPart&target_part,mailimap_body_fields*which) | |||
866 | if (which->bd_description) { | 866 | if (which->bd_description) { |
867 | target_part.setDescription(QString(which->bd_description)); | 867 | target_part->setDescription(QString(which->bd_description)); |
868 | } | 868 | } |
869 | target_part.setEncoding(encoding); | 869 | target_part->setEncoding(encoding); |
870 | target_part.setSize(which->bd_size); | 870 | target_part->setSize(which->bd_size); |
871 | } | 871 | } |
@@ -950,11 +950,11 @@ QString IMAPwrapper::fetchTextPart(const RecMailP&mail,const QValueList<int>&pat | |||
950 | 950 | ||
951 | QString IMAPwrapper::fetchTextPart(const RecMailP&mail,const RecPart&part) | 951 | QString IMAPwrapper::fetchTextPart(const RecMailP&mail,const RecPartP&part) |
952 | { | 952 | { |
953 | return fetchTextPart(mail,part.Positionlist(),false,part.Encoding()); | 953 | return fetchTextPart(mail,part->Positionlist(),false,part->Encoding()); |
954 | } | 954 | } |
955 | 955 | ||
956 | encodedString* IMAPwrapper::fetchDecodedPart(const RecMailP&mail,const RecPart&part) | 956 | encodedString* IMAPwrapper::fetchDecodedPart(const RecMailP&mail,const RecPartP&part) |
957 | { | 957 | { |
958 | encodedString*res = fetchRawPart(mail,part.Positionlist(),false); | 958 | encodedString*res = fetchRawPart(mail,part->Positionlist(),false); |
959 | encodedString*r = decode_String(res,part.Encoding()); | 959 | encodedString*r = decode_String(res,part->Encoding()); |
960 | delete res; | 960 | delete res; |
@@ -963,5 +963,5 @@ encodedString* IMAPwrapper::fetchDecodedPart(const RecMailP&mail,const RecPart&p | |||
963 | 963 | ||
964 | encodedString* IMAPwrapper::fetchRawPart(const RecMailP&mail,const RecPart&part) | 964 | encodedString* IMAPwrapper::fetchRawPart(const RecMailP&mail,const RecPartP&part) |
965 | { | 965 | { |
966 | return fetchRawPart(mail,part.Positionlist(),false); | 966 | return fetchRawPart(mail,part->Positionlist(),false); |
967 | } | 967 | } |
diff --git a/noncore/net/mail/libmailwrapper/imapwrapper.h b/noncore/net/mail/libmailwrapper/imapwrapper.h index 7448acb..e56605a 100644 --- a/noncore/net/mail/libmailwrapper/imapwrapper.h +++ b/noncore/net/mail/libmailwrapper/imapwrapper.h | |||
@@ -37,6 +37,6 @@ public: | |||
37 | 37 | ||
38 | virtual RecBody fetchBody(const RecMailP&mail); | 38 | virtual RecBodyP fetchBody(const RecMailP&mail); |
39 | virtual QString fetchTextPart(const RecMailP&mail,const RecPart&part); | 39 | virtual QString fetchTextPart(const RecMailP&mail,const RecPartP&part); |
40 | virtual encodedString* fetchDecodedPart(const RecMailP&mail,const RecPart&part); | 40 | virtual encodedString* fetchDecodedPart(const RecMailP&mail,const RecPartP&part); |
41 | virtual encodedString* fetchRawPart(const RecMailP&mail,const RecPart&part); | 41 | virtual encodedString* fetchRawPart(const RecMailP&mail,const RecPartP&part); |
42 | virtual encodedString* fetchRawBody(const RecMailP&mail); | 42 | virtual encodedString* fetchRawBody(const RecMailP&mail); |
@@ -62,11 +62,11 @@ protected: | |||
62 | 62 | ||
63 | void fillSinglePart(RecPart&target_part,mailimap_body_type_1part*Description); | 63 | void fillSinglePart(RecPartP&target_part,mailimap_body_type_1part*Description); |
64 | void fillSingleTextPart(RecPart&target_part,mailimap_body_type_text*which); | 64 | void fillSingleTextPart(RecPartP&target_part,mailimap_body_type_text*which); |
65 | void fillSingleBasicPart(RecPart&target_part,mailimap_body_type_basic*which); | 65 | void fillSingleBasicPart(RecPartP&target_part,mailimap_body_type_basic*which); |
66 | void fillSingleMsgPart(RecPart&target_part,mailimap_body_type_msg*which); | 66 | void fillSingleMsgPart(RecPartP&target_part,mailimap_body_type_msg*which); |
67 | void fillMultiPart(RecPart&target_part,mailimap_body_type_mpart*which); | 67 | void fillMultiPart(RecPartP&target_part,mailimap_body_type_mpart*which); |
68 | void traverseBody(const RecMailP&mail,mailimap_body*body,RecBody&target_body,int current_recursion,QValueList<int>recList,int current_count=1); | 68 | void traverseBody(const RecMailP&mail,mailimap_body*body,RecBodyP&target_body,int current_recursion,QValueList<int>recList,int current_count=1); |
69 | 69 | ||
70 | /* just helpers */ | 70 | /* just helpers */ |
71 | static void fillBodyFields(RecPart&target_part,mailimap_body_fields*which); | 71 | static void fillBodyFields(RecPartP&target_part,mailimap_body_fields*which); |
72 | static QStringList address_list_to_stringlist(clist*list); | 72 | static QStringList address_list_to_stringlist(clist*list); |
diff --git a/noncore/net/mail/libmailwrapper/mailtypes.cpp b/noncore/net/mail/libmailwrapper/mailtypes.cpp index fd91fe5..90b8865 100644 --- a/noncore/net/mail/libmailwrapper/mailtypes.cpp +++ b/noncore/net/mail/libmailwrapper/mailtypes.cpp | |||
@@ -113,3 +113,4 @@ const QStringList& RecMail::References()const | |||
113 | RecPart::RecPart() | 113 | RecPart::RecPart() |
114 | : m_type(""),m_subtype(""),m_identifier(""),m_encoding(""),m_description(""),m_lines(0),m_size(0) | 114 | : Opie::Core::ORefCount(), |
115 | m_type(""),m_subtype(""),m_identifier(""),m_encoding(""),m_description(""),m_lines(0),m_size(0) | ||
115 | { | 116 | { |
@@ -119,2 +120,18 @@ RecPart::RecPart() | |||
119 | 120 | ||
121 | RecPart::RecPart(const RecPart&old) | ||
122 | : Opie::Core::ORefCount(), | ||
123 | m_type(""),m_subtype(""),m_identifier(""),m_encoding(""),m_description(""),m_lines(0),m_size(0) | ||
124 | { | ||
125 | m_type = old.m_type; | ||
126 | m_subtype = old.m_subtype; | ||
127 | m_identifier = old.m_identifier; | ||
128 | m_encoding = old.m_encoding; | ||
129 | m_description = old.m_description; | ||
130 | m_lines = old.m_lines; | ||
131 | m_size = old.m_size; | ||
132 | m_Parameters = old.m_Parameters; | ||
133 | m_poslist = old.m_poslist; | ||
134 | qDebug("RecPart copy constructor"); | ||
135 | } | ||
136 | |||
120 | RecPart::~RecPart() | 137 | RecPart::~RecPart() |
@@ -229,3 +246,3 @@ const QValueList<int>& RecPart::Positionlist()const | |||
229 | RecBody::RecBody() | 246 | RecBody::RecBody() |
230 | : m_BodyText(),m_PartsList(),m_description() | 247 | : Opie::Core::ORefCount(),m_BodyText(),m_description(new RecPart()) |
231 | { | 248 | { |
@@ -234,2 +251,11 @@ RecBody::RecBody() | |||
234 | 251 | ||
252 | RecBody::RecBody(const RecBody&old) | ||
253 | :Opie::Core::ORefCount(),m_BodyText(),m_PartsList(),m_description(new RecPart()) | ||
254 | { | ||
255 | m_BodyText = old.m_BodyText; | ||
256 | m_PartsList = old.m_PartsList; | ||
257 | m_description = old.m_description; | ||
258 | qDebug("Recbody copy constructor"); | ||
259 | } | ||
260 | |||
235 | RecBody::~RecBody() | 261 | RecBody::~RecBody() |
@@ -248,3 +274,3 @@ const QString& RecBody::Bodytext()const | |||
248 | 274 | ||
249 | void RecBody::setParts(const QValueList<RecPart>&parts) | 275 | void RecBody::setParts(const QValueList<RecPartP>&parts) |
250 | { | 276 | { |
@@ -254,3 +280,3 @@ void RecBody::setParts(const QValueList<RecPart>&parts) | |||
254 | 280 | ||
255 | const QValueList<RecPart>& RecBody::Parts()const | 281 | const QValueList<RecPartP>& RecBody::Parts()const |
256 | { | 282 | { |
@@ -259,3 +285,3 @@ const QValueList<RecPart>& RecBody::Parts()const | |||
259 | 285 | ||
260 | void RecBody::addPart(const RecPart& part) | 286 | void RecBody::addPart(const RecPartP& part) |
261 | { | 287 | { |
@@ -264,3 +290,3 @@ void RecBody::addPart(const RecPart& part) | |||
264 | 290 | ||
265 | void RecBody::setDescription(const RecPart&des) | 291 | void RecBody::setDescription(const RecPartP&des) |
266 | { | 292 | { |
@@ -269,3 +295,3 @@ void RecBody::setDescription(const RecPart&des) | |||
269 | 295 | ||
270 | const RecPart& RecBody::Description()const | 296 | const RecPartP& RecBody::Description()const |
271 | { | 297 | { |
diff --git a/noncore/net/mail/libmailwrapper/mailtypes.h b/noncore/net/mail/libmailwrapper/mailtypes.h index 941556a..c317880 100644 --- a/noncore/net/mail/libmailwrapper/mailtypes.h +++ b/noncore/net/mail/libmailwrapper/mailtypes.h | |||
@@ -86,3 +86,3 @@ typedef QMap<QString,QString> part_plist_t; | |||
86 | 86 | ||
87 | class RecPart | 87 | class RecPart:public Opie::Core::ORefCount |
88 | { | 88 | { |
@@ -97,2 +97,3 @@ public: | |||
97 | RecPart(); | 97 | RecPart(); |
98 | RecPart(const RecPart&); | ||
98 | virtual ~RecPart(); | 99 | virtual ~RecPart(); |
@@ -123,3 +124,5 @@ public: | |||
123 | 124 | ||
124 | class RecBody | 125 | typedef Opie::Core::OSmartPointer<RecPart> RecPartP; |
126 | |||
127 | class RecBody:public Opie::Core::ORefCount | ||
125 | { | 128 | { |
@@ -127,4 +130,4 @@ protected: | |||
127 | QString m_BodyText; | 130 | QString m_BodyText; |
128 | QValueList<RecPart> m_PartsList; | 131 | QValueList<RecPartP> m_PartsList; |
129 | RecPart m_description; | 132 | RecPartP m_description; |
130 | 133 | ||
@@ -132,2 +135,3 @@ public: | |||
132 | RecBody(); | 135 | RecBody(); |
136 | RecBody(const RecBody&old); | ||
133 | virtual ~RecBody(); | 137 | virtual ~RecBody(); |
@@ -136,10 +140,12 @@ public: | |||
136 | 140 | ||
137 | void setDescription(const RecPart&des); | 141 | void setDescription(const RecPartP&des); |
138 | const RecPart& Description()const; | 142 | const RecPartP& Description()const; |
139 | 143 | ||
140 | void setParts(const QValueList<RecPart>&parts); | 144 | void setParts(const QValueList<RecPartP>&parts); |
141 | const QValueList<RecPart>& Parts()const; | 145 | const QValueList<RecPartP>& Parts()const; |
142 | void addPart(const RecPart&part); | 146 | void addPart(const RecPartP&part); |
143 | }; | 147 | }; |
144 | 148 | ||
149 | typedef Opie::Core::OSmartPointer<RecBody> RecBodyP; | ||
150 | |||
145 | class encodedString | 151 | class encodedString |
diff --git a/noncore/net/mail/libmailwrapper/mboxwrapper.cpp b/noncore/net/mail/libmailwrapper/mboxwrapper.cpp index 4aee0be..e3c75f3 100644 --- a/noncore/net/mail/libmailwrapper/mboxwrapper.cpp +++ b/noncore/net/mail/libmailwrapper/mboxwrapper.cpp | |||
@@ -89,5 +89,5 @@ void MBOXwrapper::answeredMail(const RecMailP&) | |||
89 | 89 | ||
90 | RecBody MBOXwrapper::fetchBody( const RecMailP &mail ) | 90 | RecBodyP MBOXwrapper::fetchBody( const RecMailP &mail ) |
91 | { | 91 | { |
92 | RecBody body; | 92 | RecBodyP body = new RecBody(); |
93 | mailstorage*storage = mailstorage_new(NULL); | 93 | mailstorage*storage = mailstorage_new(NULL); |
diff --git a/noncore/net/mail/libmailwrapper/mboxwrapper.h b/noncore/net/mail/libmailwrapper/mboxwrapper.h index a2ecfee..9731b85 100644 --- a/noncore/net/mail/libmailwrapper/mboxwrapper.h +++ b/noncore/net/mail/libmailwrapper/mboxwrapper.h | |||
@@ -30,3 +30,3 @@ public: | |||
30 | 30 | ||
31 | virtual RecBody fetchBody( const RecMailP &mail ); | 31 | virtual RecBodyP fetchBody( const RecMailP &mail ); |
32 | static void mbox_progress( size_t current, size_t maximum ); | 32 | static void mbox_progress( size_t current, size_t maximum ); |
diff --git a/noncore/net/mail/libmailwrapper/mhwrapper.cpp b/noncore/net/mail/libmailwrapper/mhwrapper.cpp index 5eae31f..12472e9 100644 --- a/noncore/net/mail/libmailwrapper/mhwrapper.cpp +++ b/noncore/net/mail/libmailwrapper/mhwrapper.cpp | |||
@@ -125,5 +125,5 @@ void MHwrapper::answeredMail(const RecMailP&) | |||
125 | 125 | ||
126 | RecBody MHwrapper::fetchBody( const RecMailP &mail ) | 126 | RecBodyP MHwrapper::fetchBody( const RecMailP &mail ) |
127 | { | 127 | { |
128 | RecBody body; | 128 | RecBodyP body = new RecBody(); |
129 | init_storage(); | 129 | init_storage(); |
diff --git a/noncore/net/mail/libmailwrapper/mhwrapper.h b/noncore/net/mail/libmailwrapper/mhwrapper.h index 0846ec3..4310c84 100644 --- a/noncore/net/mail/libmailwrapper/mhwrapper.h +++ b/noncore/net/mail/libmailwrapper/mhwrapper.h | |||
@@ -35,3 +35,3 @@ public: | |||
35 | 35 | ||
36 | virtual RecBody fetchBody( const RecMailP &mail ); | 36 | virtual RecBodyP fetchBody( const RecMailP &mail ); |
37 | static void mbox_progress( size_t current, size_t maximum ); | 37 | static void mbox_progress( size_t current, size_t maximum ); |
diff --git a/noncore/net/mail/libmailwrapper/nntpwrapper.cpp b/noncore/net/mail/libmailwrapper/nntpwrapper.cpp index 9de958d..cc36f32 100644 --- a/noncore/net/mail/libmailwrapper/nntpwrapper.cpp +++ b/noncore/net/mail/libmailwrapper/nntpwrapper.cpp | |||
@@ -35,3 +35,3 @@ void NNTPwrapper::nntp_progress( size_t current, size_t maximum ) { | |||
35 | 35 | ||
36 | RecBody NNTPwrapper::fetchBody( const RecMailP &mail ) { | 36 | RecBodyP NNTPwrapper::fetchBody( const RecMailP &mail ) { |
37 | int err = NEWSNNTP_NO_ERROR; | 37 | int err = NEWSNNTP_NO_ERROR; |
@@ -40,8 +40,8 @@ RecBody NNTPwrapper::fetchBody( const RecMailP &mail ) { | |||
40 | 40 | ||
41 | RecBodyP body = new RecBody(); | ||
41 | login(); | 42 | login(); |
42 | if ( !m_nntp ) { | 43 | if ( !m_nntp ) { |
43 | return RecBody(); | 44 | return body; |
44 | } | 45 | } |
45 | 46 | ||
46 | RecBody body; | ||
47 | mailmessage * mailmsg; | 47 | mailmessage * mailmsg; |
diff --git a/noncore/net/mail/libmailwrapper/nntpwrapper.h b/noncore/net/mail/libmailwrapper/nntpwrapper.h index a87a8e8..2fb82f2 100644 --- a/noncore/net/mail/libmailwrapper/nntpwrapper.h +++ b/noncore/net/mail/libmailwrapper/nntpwrapper.h | |||
@@ -32,3 +32,3 @@ public: | |||
32 | 32 | ||
33 | virtual RecBody fetchBody( const RecMailP &mail ); | 33 | virtual RecBodyP fetchBody( const RecMailP &mail ); |
34 | virtual encodedString* fetchRawBody(const RecMailP&mail); | 34 | virtual encodedString* fetchRawBody(const RecMailP&mail); |
diff --git a/noncore/net/mail/libmailwrapper/pop3wrapper.cpp b/noncore/net/mail/libmailwrapper/pop3wrapper.cpp index f5694fe..1b7a1b4 100644 --- a/noncore/net/mail/libmailwrapper/pop3wrapper.cpp +++ b/noncore/net/mail/libmailwrapper/pop3wrapper.cpp | |||
@@ -33,3 +33,3 @@ void POP3wrapper::pop3_progress( size_t current, size_t maximum ) { | |||
33 | 33 | ||
34 | RecBody POP3wrapper::fetchBody( const RecMailP &mail ) { | 34 | RecBodyP POP3wrapper::fetchBody( const RecMailP &mail ) { |
35 | int err = MAILPOP3_NO_ERROR; | 35 | int err = MAILPOP3_NO_ERROR; |
@@ -38,8 +38,9 @@ RecBody POP3wrapper::fetchBody( const RecMailP &mail ) { | |||
38 | 38 | ||
39 | RecBodyP body = new RecBody(); | ||
40 | |||
39 | login(); | 41 | login(); |
40 | if ( !m_pop3 ) { | 42 | if ( !m_pop3 ) { |
41 | return RecBody(); | 43 | return body; |
42 | } | 44 | } |
43 | 45 | ||
44 | RecBody body; | ||
45 | mailmessage * mailmsg; | 46 | mailmessage * mailmsg; |
diff --git a/noncore/net/mail/libmailwrapper/pop3wrapper.h b/noncore/net/mail/libmailwrapper/pop3wrapper.h index c46b941..5101fa5 100644 --- a/noncore/net/mail/libmailwrapper/pop3wrapper.h +++ b/noncore/net/mail/libmailwrapper/pop3wrapper.h | |||
@@ -28,3 +28,3 @@ public: | |||
28 | 28 | ||
29 | virtual RecBody fetchBody( const RecMailP &mail ); | 29 | virtual RecBodyP fetchBody( const RecMailP &mail ); |
30 | virtual encodedString* fetchRawBody(const RecMailP&mail); | 30 | virtual encodedString* fetchRawBody(const RecMailP&mail); |