Diffstat (limited to 'noncore/net/mail/libmailwrapper/pop3wrapper.cpp') (more/less context) (show whitespace changes)
-rw-r--r-- | noncore/net/mail/libmailwrapper/pop3wrapper.cpp | 32 |
1 files changed, 17 insertions, 15 deletions
diff --git a/noncore/net/mail/libmailwrapper/pop3wrapper.cpp b/noncore/net/mail/libmailwrapper/pop3wrapper.cpp index 7bf7ed2..6737d6c 100644 --- a/noncore/net/mail/libmailwrapper/pop3wrapper.cpp +++ b/noncore/net/mail/libmailwrapper/pop3wrapper.cpp | |||
@@ -27,40 +27,40 @@ POP3wrapper::~POP3wrapper() { | |||
27 | } | 27 | } |
28 | 28 | ||
29 | void POP3wrapper::pop3_progress( size_t current, size_t maximum ) { | 29 | void POP3wrapper::pop3_progress( size_t current, size_t maximum ) { |
30 | qDebug( "POP3: %i of %i", current, maximum ); | 30 | qDebug( "POP3: %i of %i", current, maximum ); |
31 | } | 31 | } |
32 | 32 | ||
33 | RecBody POP3wrapper::fetchBody( const RecMail &mail ) { | 33 | RecBody POP3wrapper::fetchBody( const RecMailP &mail ) { |
34 | int err = MAILPOP3_NO_ERROR; | 34 | int err = MAILPOP3_NO_ERROR; |
35 | char *message = 0; | 35 | char *message = 0; |
36 | size_t length = 0; | 36 | size_t length = 0; |
37 | 37 | ||
38 | login(); | 38 | login(); |
39 | if ( !m_pop3 ) { | 39 | if ( !m_pop3 ) { |
40 | return RecBody(); | 40 | return RecBody(); |
41 | } | 41 | } |
42 | 42 | ||
43 | RecBody body; | 43 | RecBody body; |
44 | mailmessage * mailmsg; | 44 | mailmessage * mailmsg; |
45 | if (mail.Msgsize()>HARD_MSG_SIZE_LIMIT) { | 45 | if (mail->Msgsize()>HARD_MSG_SIZE_LIMIT) { |
46 | qDebug("Message to large: %i",mail.Msgsize()); | 46 | qDebug("Message to large: %i",mail->Msgsize()); |
47 | return body; | 47 | return body; |
48 | } | 48 | } |
49 | 49 | ||
50 | QFile msg_cache(msgTempName); | 50 | QFile msg_cache(msgTempName); |
51 | 51 | ||
52 | cleanMimeCache(); | 52 | cleanMimeCache(); |
53 | 53 | ||
54 | if (mail.getNumber()!=last_msg_id) { | 54 | if (mail->getNumber()!=last_msg_id) { |
55 | if (msg_cache.exists()) { | 55 | if (msg_cache.exists()) { |
56 | msg_cache.remove(); | 56 | msg_cache.remove(); |
57 | } | 57 | } |
58 | msg_cache.open(IO_ReadWrite|IO_Truncate); | 58 | msg_cache.open(IO_ReadWrite|IO_Truncate); |
59 | last_msg_id = mail.getNumber(); | 59 | last_msg_id = mail->getNumber(); |
60 | err = mailsession_get_message(m_pop3->sto_session, mail.getNumber(), &mailmsg); | 60 | err = mailsession_get_message(m_pop3->sto_session, mail->getNumber(), &mailmsg); |
61 | err = mailmessage_fetch(mailmsg,&message,&length); | 61 | err = mailmessage_fetch(mailmsg,&message,&length); |
62 | msg_cache.writeBlock(message,length); | 62 | msg_cache.writeBlock(message,length); |
63 | } else { | 63 | } else { |
64 | QString msg=""; | 64 | QString msg=""; |
65 | msg_cache.open(IO_ReadOnly); | 65 | msg_cache.open(IO_ReadOnly); |
66 | message = new char[4096]; | 66 | message = new char[4096]; |
@@ -90,13 +90,13 @@ RecBody POP3wrapper::fetchBody( const RecMail &mail ) { | |||
90 | if (message) | 90 | if (message) |
91 | free(message); | 91 | free(message); |
92 | 92 | ||
93 | return body; | 93 | return body; |
94 | } | 94 | } |
95 | 95 | ||
96 | void POP3wrapper::listMessages(const QString &, QList<RecMail> &target ) | 96 | void POP3wrapper::listMessages(const QString &, QValueList<Opie::OSmartPointer<RecMail> > &target ) |
97 | { | 97 | { |
98 | login(); | 98 | login(); |
99 | if (!m_pop3) | 99 | if (!m_pop3) |
100 | return; | 100 | return; |
101 | uint32_t res_messages,res_recent,res_unseen; | 101 | uint32_t res_messages,res_recent,res_unseen; |
102 | mailsession_status_folder(m_pop3->sto_session,"INBOX",&res_messages,&res_recent,&res_unseen); | 102 | mailsession_status_folder(m_pop3->sto_session,"INBOX",&res_messages,&res_recent,&res_unseen); |
@@ -166,38 +166,37 @@ void POP3wrapper::login() | |||
166 | m_pop3 = 0; | 166 | m_pop3 = 0; |
167 | } | 167 | } |
168 | } | 168 | } |
169 | 169 | ||
170 | void POP3wrapper::logout() | 170 | void POP3wrapper::logout() |
171 | { | 171 | { |
172 | int err = MAILPOP3_NO_ERROR; | ||
173 | if ( m_pop3 == NULL ) | 172 | if ( m_pop3 == NULL ) |
174 | return; | 173 | return; |
175 | mailstorage_free(m_pop3); | 174 | mailstorage_free(m_pop3); |
176 | m_pop3 = 0; | 175 | m_pop3 = 0; |
177 | } | 176 | } |
178 | 177 | ||
179 | 178 | ||
180 | QValueList<Opie::osmart_pointer<Folder> >* POP3wrapper::listFolders() { | 179 | QValueList<Opie::OSmartPointer<Folder> >* POP3wrapper::listFolders() { |
181 | QValueList<Opie::osmart_pointer<Folder> >* folders = new QValueList<FolderP>(); | 180 | QValueList<Opie::OSmartPointer<Folder> >* folders = new QValueList<FolderP>(); |
182 | FolderP inb=new Folder("INBOX","/"); | 181 | FolderP inb=new Folder("INBOX","/"); |
183 | folders->append(inb); | 182 | folders->append(inb); |
184 | return folders; | 183 | return folders; |
185 | } | 184 | } |
186 | 185 | ||
187 | void POP3wrapper::deleteMail(const RecMail&mail) { | 186 | void POP3wrapper::deleteMail(const RecMailP&mail) { |
188 | login(); | 187 | login(); |
189 | if (!m_pop3) | 188 | if (!m_pop3) |
190 | return; | 189 | return; |
191 | int err = mailsession_remove_message(m_pop3->sto_session,mail.getNumber()); | 190 | int err = mailsession_remove_message(m_pop3->sto_session,mail->getNumber()); |
192 | if (err != MAIL_NO_ERROR) { | 191 | if (err != MAIL_NO_ERROR) { |
193 | Global::statusMessage(tr("error deleting mail")); | 192 | Global::statusMessage(tr("error deleting mail")); |
194 | } | 193 | } |
195 | } | 194 | } |
196 | 195 | ||
197 | void POP3wrapper::answeredMail(const RecMail&) {} | 196 | void POP3wrapper::answeredMail(const RecMailP&) {} |
198 | 197 | ||
199 | int POP3wrapper::deleteAllMail(const FolderP&) { | 198 | int POP3wrapper::deleteAllMail(const FolderP&) { |
200 | login(); | 199 | login(); |
201 | if (!m_pop3) | 200 | if (!m_pop3) |
202 | return 0; | 201 | return 0; |
203 | int res = 1; | 202 | int res = 1; |
@@ -225,20 +224,23 @@ void POP3wrapper::statusFolder(folderStat&target_stat,const QString&) { | |||
225 | target_stat.message_unseen = 0; | 224 | target_stat.message_unseen = 0; |
226 | target_stat.message_recent = 0; | 225 | target_stat.message_recent = 0; |
227 | if (!m_pop3) | 226 | if (!m_pop3) |
228 | return; | 227 | return; |
229 | int r = mailsession_status_folder(m_pop3->sto_session,0,&target_stat.message_count, | 228 | int r = mailsession_status_folder(m_pop3->sto_session,0,&target_stat.message_count, |
230 | &target_stat.message_recent,&target_stat.message_unseen); | 229 | &target_stat.message_recent,&target_stat.message_unseen); |
230 | if (r != MAIL_NO_ERROR) { | ||
231 | qDebug("error getting folter status."); | ||
232 | } | ||
231 | } | 233 | } |
232 | 234 | ||
233 | encodedString* POP3wrapper::fetchRawBody(const RecMail&mail) { | 235 | encodedString* POP3wrapper::fetchRawBody(const RecMailP&mail) { |
234 | char*target=0; | 236 | char*target=0; |
235 | size_t length=0; | 237 | size_t length=0; |
236 | encodedString*res = 0; | 238 | encodedString*res = 0; |
237 | mailmessage * mailmsg = 0; | 239 | mailmessage * mailmsg = 0; |
238 | int err = mailsession_get_message(m_pop3->sto_session, mail.getNumber(), &mailmsg); | 240 | int err = mailsession_get_message(m_pop3->sto_session, mail->getNumber(), &mailmsg); |
239 | err = mailmessage_fetch(mailmsg,&target,&length); | 241 | err = mailmessage_fetch(mailmsg,&target,&length); |
240 | if (mailmsg) | 242 | if (mailmsg) |
241 | mailmessage_free(mailmsg); | 243 | mailmessage_free(mailmsg); |
242 | if (target) { | 244 | if (target) { |
243 | res = new encodedString(target,length); | 245 | res = new encodedString(target,length); |
244 | } | 246 | } |