Diffstat (limited to 'noncore/net/mail/libmailwrapper/nntpwrapper.cpp') (more/less context) (show whitespace changes)
-rw-r--r-- | noncore/net/mail/libmailwrapper/nntpwrapper.cpp | 26 |
1 files changed, 13 insertions, 13 deletions
diff --git a/noncore/net/mail/libmailwrapper/nntpwrapper.cpp b/noncore/net/mail/libmailwrapper/nntpwrapper.cpp index 2ec052c..c0b3eec 100644 --- a/noncore/net/mail/libmailwrapper/nntpwrapper.cpp +++ b/noncore/net/mail/libmailwrapper/nntpwrapper.cpp | |||
@@ -23,52 +23,52 @@ NNTPwrapper::~NNTPwrapper() { | |||
23 | logout(); | 23 | logout(); |
24 | QFile msg_cache(msgTempName); | 24 | QFile msg_cache(msgTempName); |
25 | if (msg_cache.exists()) { | 25 | if (msg_cache.exists()) { |
26 | msg_cache.remove(); | 26 | msg_cache.remove(); |
27 | } | 27 | } |
28 | } | 28 | } |
29 | 29 | ||
30 | void NNTPwrapper::nntp_progress( size_t current, size_t maximum ) { | 30 | void NNTPwrapper::nntp_progress( size_t current, size_t maximum ) { |
31 | qDebug( "NNTP: %i of %i", current, maximum ); | 31 | qDebug( "NNTP: %i of %i", current, maximum ); |
32 | } | 32 | } |
33 | 33 | ||
34 | 34 | ||
35 | RecBody NNTPwrapper::fetchBody( const RecMail &mail ) { | 35 | RecBody NNTPwrapper::fetchBody( const RecMailP &mail ) { |
36 | int err = NEWSNNTP_NO_ERROR; | 36 | int err = NEWSNNTP_NO_ERROR; |
37 | char *message = 0; | 37 | char *message = 0; |
38 | size_t length = 0; | 38 | size_t length = 0; |
39 | 39 | ||
40 | login(); | 40 | login(); |
41 | if ( !m_nntp ) { | 41 | if ( !m_nntp ) { |
42 | return RecBody(); | 42 | return RecBody(); |
43 | } | 43 | } |
44 | 44 | ||
45 | RecBody body; | 45 | RecBody body; |
46 | mailmessage * mailmsg; | 46 | mailmessage * mailmsg; |
47 | if (mail.Msgsize()>HARD_MSG_SIZE_LIMIT) { | 47 | if (mail->Msgsize()>HARD_MSG_SIZE_LIMIT) { |
48 | qDebug("Message to large: %i",mail.Msgsize()); | 48 | qDebug("Message to large: %i",mail->Msgsize()); |
49 | return body; | 49 | return body; |
50 | } | 50 | } |
51 | 51 | ||
52 | QFile msg_cache(msgTempName); | 52 | QFile msg_cache(msgTempName); |
53 | 53 | ||
54 | cleanMimeCache(); | 54 | cleanMimeCache(); |
55 | 55 | ||
56 | if (mail.getNumber()!=last_msg_id) { | 56 | if (mail->getNumber()!=last_msg_id) { |
57 | if (msg_cache.exists()) { | 57 | if (msg_cache.exists()) { |
58 | msg_cache.remove(); | 58 | msg_cache.remove(); |
59 | } | 59 | } |
60 | msg_cache.open(IO_ReadWrite|IO_Truncate); | 60 | msg_cache.open(IO_ReadWrite|IO_Truncate); |
61 | last_msg_id = mail.getNumber(); | 61 | last_msg_id = mail->getNumber(); |
62 | err = mailsession_get_message(m_nntp->sto_session, mail.getNumber(), &mailmsg); | 62 | err = mailsession_get_message(m_nntp->sto_session, mail->getNumber(), &mailmsg); |
63 | err = mailmessage_fetch(mailmsg,&message,&length); | 63 | err = mailmessage_fetch(mailmsg,&message,&length); |
64 | msg_cache.writeBlock(message,length); | 64 | msg_cache.writeBlock(message,length); |
65 | } else { | 65 | } else { |
66 | QString msg=""; | 66 | QString msg=""; |
67 | msg_cache.open(IO_ReadOnly); | 67 | msg_cache.open(IO_ReadOnly); |
68 | message = new char[4096]; | 68 | message = new char[4096]; |
69 | memset(message,0,4096); | 69 | memset(message,0,4096); |
70 | while (msg_cache.readBlock(message,4095)>0) { | 70 | while (msg_cache.readBlock(message,4095)>0) { |
71 | msg+=message; | 71 | msg+=message; |
72 | memset(message,0,4096); | 72 | memset(message,0,4096); |
73 | } | 73 | } |
74 | delete message; | 74 | delete message; |
@@ -87,25 +87,25 @@ RecBody NNTPwrapper::fetchBody( const RecMail &mail ) { | |||
87 | body = parseMail(mailmsg); | 87 | body = parseMail(mailmsg); |
88 | 88 | ||
89 | /* clean up */ | 89 | /* clean up */ |
90 | if (mailmsg) | 90 | if (mailmsg) |
91 | mailmessage_free(mailmsg); | 91 | mailmessage_free(mailmsg); |
92 | if (message) | 92 | if (message) |
93 | free(message); | 93 | free(message); |
94 | 94 | ||
95 | return body; | 95 | return body; |
96 | } | 96 | } |
97 | 97 | ||
98 | 98 | ||
99 | void NNTPwrapper::listMessages(const QString & which, QList<RecMail> &target ) | 99 | void NNTPwrapper::listMessages(const QString & which, QValueList<Opie::OSmartPointer<RecMail> > &target ) |
100 | { | 100 | { |
101 | login(); | 101 | login(); |
102 | if (!m_nntp) | 102 | if (!m_nntp) |
103 | return; | 103 | return; |
104 | uint32_t res_messages,res_recent,res_unseen; | 104 | uint32_t res_messages,res_recent,res_unseen; |
105 | mailsession_status_folder(m_nntp->sto_session,(char*)which.latin1(),&res_messages,&res_recent,&res_unseen); | 105 | mailsession_status_folder(m_nntp->sto_session,(char*)which.latin1(),&res_messages,&res_recent,&res_unseen); |
106 | parseList(target,m_nntp->sto_session,which,true); | 106 | parseList(target,m_nntp->sto_session,which,true); |
107 | } | 107 | } |
108 | 108 | ||
109 | void NNTPwrapper::login() | 109 | void NNTPwrapper::login() |
110 | { | 110 | { |
111 | if (account->getOffline()) | 111 | if (account->getOffline()) |
@@ -179,27 +179,27 @@ void NNTPwrapper::login() | |||
179 | 179 | ||
180 | } | 180 | } |
181 | 181 | ||
182 | void NNTPwrapper::logout() | 182 | void NNTPwrapper::logout() |
183 | { | 183 | { |
184 | int err = NEWSNNTP_NO_ERROR; | 184 | int err = NEWSNNTP_NO_ERROR; |
185 | if ( m_nntp == NULL ) | 185 | if ( m_nntp == NULL ) |
186 | return; | 186 | return; |
187 | mailstorage_free(m_nntp); | 187 | mailstorage_free(m_nntp); |
188 | m_nntp = 0; | 188 | m_nntp = 0; |
189 | } | 189 | } |
190 | 190 | ||
191 | QValueList<Opie::osmart_pointer<Folder> >* NNTPwrapper::listFolders() { | 191 | QValueList<Opie::OSmartPointer<Folder> >* NNTPwrapper::listFolders() { |
192 | 192 | ||
193 | QValueList<Opie::osmart_pointer<Folder> >* folders = new QValueList<Opie::osmart_pointer<Folder> >(); | 193 | QValueList<Opie::OSmartPointer<Folder> >* folders = new QValueList<Opie::OSmartPointer<Folder> >(); |
194 | QStringList groups; | 194 | QStringList groups; |
195 | if (account) { | 195 | if (account) { |
196 | groups = account->getGroups(); | 196 | groups = account->getGroups(); |
197 | } | 197 | } |
198 | for ( QStringList::Iterator it = groups.begin(); it != groups.end(); ++it ) { | 198 | for ( QStringList::Iterator it = groups.begin(); it != groups.end(); ++it ) { |
199 | folders->append(new Folder((*it),".")); | 199 | folders->append(new Folder((*it),".")); |
200 | } | 200 | } |
201 | return folders; | 201 | return folders; |
202 | } | 202 | } |
203 | 203 | ||
204 | /* we made this method in raw nntp access of etpan and not via generic interface | 204 | /* we made this method in raw nntp access of etpan and not via generic interface |
205 | * 'cause in that case there will be doubled copy operations. eg. the etpan would | 205 | * 'cause in that case there will be doubled copy operations. eg. the etpan would |
@@ -230,54 +230,54 @@ QStringList NNTPwrapper::listAllNewsgroups(const QString&mask) { | |||
230 | group = ( newsnntp_group_description* ) current->data; | 230 | group = ( newsnntp_group_description* ) current->data; |
231 | if (!group||!group->grp_name||strlen(group->grp_name)==0) continue; | 231 | if (!group||!group->grp_name||strlen(group->grp_name)==0) continue; |
232 | res.append(group->grp_name); | 232 | res.append(group->grp_name); |
233 | } | 233 | } |
234 | } | 234 | } |
235 | } | 235 | } |
236 | if (result) { | 236 | if (result) { |
237 | newsnntp_list_free(result); | 237 | newsnntp_list_free(result); |
238 | } | 238 | } |
239 | return res; | 239 | return res; |
240 | } | 240 | } |
241 | 241 | ||
242 | void NNTPwrapper::answeredMail(const RecMail&) {} | 242 | void NNTPwrapper::answeredMail(const RecMailP&) {} |
243 | 243 | ||
244 | void NNTPwrapper::statusFolder(folderStat&target_stat,const QString&) { | 244 | void NNTPwrapper::statusFolder(folderStat&target_stat,const QString&) { |
245 | login(); | 245 | login(); |
246 | target_stat.message_count = 0; | 246 | target_stat.message_count = 0; |
247 | target_stat.message_unseen = 0; | 247 | target_stat.message_unseen = 0; |
248 | target_stat.message_recent = 0; | 248 | target_stat.message_recent = 0; |
249 | if (!m_nntp) | 249 | if (!m_nntp) |
250 | return; | 250 | return; |
251 | int r = mailsession_status_folder(m_nntp->sto_session,0,&target_stat.message_count, | 251 | int r = mailsession_status_folder(m_nntp->sto_session,0,&target_stat.message_count, |
252 | &target_stat.message_recent,&target_stat.message_unseen); | 252 | &target_stat.message_recent,&target_stat.message_unseen); |
253 | } | 253 | } |
254 | 254 | ||
255 | 255 | ||
256 | encodedString* NNTPwrapper::fetchRawBody(const RecMail&mail) { | 256 | encodedString* NNTPwrapper::fetchRawBody(const RecMailP&mail) { |
257 | char*target=0; | 257 | char*target=0; |
258 | size_t length=0; | 258 | size_t length=0; |
259 | encodedString*res = 0; | 259 | encodedString*res = 0; |
260 | mailmessage * mailmsg = 0; | 260 | mailmessage * mailmsg = 0; |
261 | int err = mailsession_get_message(m_nntp->sto_session, mail.getNumber(), &mailmsg); | 261 | int err = mailsession_get_message(m_nntp->sto_session, mail->getNumber(), &mailmsg); |
262 | err = mailmessage_fetch(mailmsg,&target,&length); | 262 | err = mailmessage_fetch(mailmsg,&target,&length); |
263 | if (mailmsg) | 263 | if (mailmsg) |
264 | mailmessage_free(mailmsg); | 264 | mailmessage_free(mailmsg); |
265 | if (target) { | 265 | if (target) { |
266 | res = new encodedString(target,length); | 266 | res = new encodedString(target,length); |
267 | } | 267 | } |
268 | return res; | 268 | return res; |
269 | } | 269 | } |
270 | 270 | ||
271 | MAILLIB::ATYPE NNTPwrapper::getType()const { | 271 | MAILLIB::ATYPE NNTPwrapper::getType()const { |
272 | return account->getType(); | 272 | return account->getType(); |
273 | } | 273 | } |
274 | 274 | ||
275 | const QString&NNTPwrapper::getName()const{ | 275 | const QString&NNTPwrapper::getName()const{ |
276 | return account->getAccountName(); | 276 | return account->getAccountName(); |
277 | } | 277 | } |
278 | 278 | ||
279 | void NNTPwrapper::deleteMail(const RecMail&) { | 279 | void NNTPwrapper::deleteMail(const RecMailP&) { |
280 | } | 280 | } |
281 | 281 | ||
282 | int NNTPwrapper::deleteAllMail(const FolderP&) { | 282 | int NNTPwrapper::deleteAllMail(const FolderP&) { |
283 | } | 283 | } |