author | alwin <alwin> | 2004-03-12 19:24:38 (UTC) |
---|---|---|
committer | alwin <alwin> | 2004-03-12 19:24:38 (UTC) |
commit | b600871ce93553a116a66fd80acd6dfc1cc46829 (patch) (unidiff) | |
tree | b361346a49e09d9f0220993583bf183cf29bd974 /noncore/net/mail/libmailwrapper/mhwrapper.cpp | |
parent | 874d5a34eca296263dcd1adf857aebe9981825a1 (diff) | |
download | opie-b600871ce93553a116a66fd80acd6dfc1cc46829.zip opie-b600871ce93553a116a66fd80acd6dfc1cc46829.tar.gz opie-b600871ce93553a116a66fd80acd6dfc1cc46829.tar.bz2 |
some more smart-pointers
some bugfixes
some renaming of internals
Diffstat (limited to 'noncore/net/mail/libmailwrapper/mhwrapper.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/net/mail/libmailwrapper/mhwrapper.cpp | 50 |
1 files changed, 24 insertions, 26 deletions
diff --git a/noncore/net/mail/libmailwrapper/mhwrapper.cpp b/noncore/net/mail/libmailwrapper/mhwrapper.cpp index aaaa20a..0b00a2e 100644 --- a/noncore/net/mail/libmailwrapper/mhwrapper.cpp +++ b/noncore/net/mail/libmailwrapper/mhwrapper.cpp | |||
@@ -60,7 +60,7 @@ MHwrapper::~MHwrapper() | |||
60 | clean_storage(); | 60 | clean_storage(); |
61 | } | 61 | } |
62 | 62 | ||
63 | void MHwrapper::listMessages(const QString & mailbox, QList<RecMail> &target ) | 63 | void MHwrapper::listMessages(const QString & mailbox, QValueList<Opie::OSmartPointer<RecMail> > &target ) |
64 | { | 64 | { |
65 | init_storage(); | 65 | init_storage(); |
66 | if (!m_storage) { | 66 | if (!m_storage) { |
@@ -76,9 +76,9 @@ void MHwrapper::listMessages(const QString & mailbox, QList<RecMail> &target ) | |||
76 | Global::statusMessage(tr("Mailbox has %1 mail(s)").arg(target.count())); | 76 | Global::statusMessage(tr("Mailbox has %1 mail(s)").arg(target.count())); |
77 | } | 77 | } |
78 | 78 | ||
79 | QValueList<Opie::osmart_pointer<Folder> >* MHwrapper::listFolders() | 79 | QValueList<Opie::OSmartPointer<Folder> >* MHwrapper::listFolders() |
80 | { | 80 | { |
81 | QValueList<Opie::osmart_pointer<Folder> >* folders = new QValueList<Opie::osmart_pointer<Folder> >(); | 81 | QValueList<Opie::OSmartPointer<Folder> >* folders = new QValueList<Opie::OSmartPointer<Folder> >(); |
82 | /* this is needed! */ | 82 | /* this is needed! */ |
83 | if (m_storage) mailstorage_disconnect(m_storage); | 83 | if (m_storage) mailstorage_disconnect(m_storage); |
84 | init_storage(); | 84 | init_storage(); |
@@ -101,28 +101,28 @@ QValueList<Opie::osmart_pointer<Folder> >* MHwrapper::listFolders() | |||
101 | return folders; | 101 | return folders; |
102 | } | 102 | } |
103 | 103 | ||
104 | void MHwrapper::deleteMail(const RecMail&mail) | 104 | void MHwrapper::deleteMail(const RecMailP&mail) |
105 | { | 105 | { |
106 | init_storage(); | 106 | init_storage(); |
107 | if (!m_storage) { | 107 | if (!m_storage) { |
108 | return; | 108 | return; |
109 | } | 109 | } |
110 | int r = mailsession_select_folder(m_storage->sto_session,(char*)mail.getMbox().latin1()); | 110 | int r = mailsession_select_folder(m_storage->sto_session,(char*)mail->getMbox().latin1()); |
111 | if (r!=MAIL_NO_ERROR) { | 111 | if (r!=MAIL_NO_ERROR) { |
112 | qDebug("error selecting folder!"); | 112 | qDebug("error selecting folder!"); |
113 | return; | 113 | return; |
114 | } | 114 | } |
115 | r = mailsession_remove_message(m_storage->sto_session,mail.getNumber()); | 115 | r = mailsession_remove_message(m_storage->sto_session,mail->getNumber()); |
116 | if (r != MAIL_NO_ERROR) { | 116 | if (r != MAIL_NO_ERROR) { |
117 | qDebug("error deleting mail"); | 117 | qDebug("error deleting mail"); |
118 | } | 118 | } |
119 | } | 119 | } |
120 | 120 | ||
121 | void MHwrapper::answeredMail(const RecMail&) | 121 | void MHwrapper::answeredMail(const RecMailP&) |
122 | { | 122 | { |
123 | } | 123 | } |
124 | 124 | ||
125 | RecBody MHwrapper::fetchBody( const RecMail &mail ) | 125 | RecBody MHwrapper::fetchBody( const RecMailP &mail ) |
126 | { | 126 | { |
127 | RecBody body; | 127 | RecBody body; |
128 | init_storage(); | 128 | init_storage(); |
@@ -131,16 +131,15 @@ RecBody MHwrapper::fetchBody( const RecMail &mail ) | |||
131 | } | 131 | } |
132 | mailmessage * msg; | 132 | mailmessage * msg; |
133 | char*data=0; | 133 | char*data=0; |
134 | size_t size; | ||
135 | 134 | ||
136 | /* mail should hold the complete path! */ | 135 | /* mail should hold the complete path! */ |
137 | int r = mailsession_select_folder(m_storage->sto_session,(char*)mail.getMbox().latin1()); | 136 | int r = mailsession_select_folder(m_storage->sto_session,(char*)mail->getMbox().latin1()); |
138 | if (r != MAIL_NO_ERROR) { | 137 | if (r != MAIL_NO_ERROR) { |
139 | return body; | 138 | return body; |
140 | } | 139 | } |
141 | r = mailsession_get_message(m_storage->sto_session, mail.getNumber(), &msg); | 140 | r = mailsession_get_message(m_storage->sto_session, mail->getNumber(), &msg); |
142 | if (r != MAIL_NO_ERROR) { | 141 | if (r != MAIL_NO_ERROR) { |
143 | qDebug("Error fetching mail %i",mail.getNumber()); | 142 | qDebug("Error fetching mail %i",mail->getNumber()); |
144 | return body; | 143 | return body; |
145 | } | 144 | } |
146 | body = parseMail(msg); | 145 | body = parseMail(msg); |
@@ -212,7 +211,7 @@ void MHwrapper::storeMessage(const char*msg,size_t length, const QString&Folder) | |||
212 | return; | 211 | return; |
213 | } | 212 | } |
214 | 213 | ||
215 | encodedString* MHwrapper::fetchRawBody(const RecMail&mail) | 214 | encodedString* MHwrapper::fetchRawBody(const RecMailP&mail) |
216 | { | 215 | { |
217 | encodedString*result = 0; | 216 | encodedString*result = 0; |
218 | init_storage(); | 217 | init_storage(); |
@@ -222,19 +221,19 @@ encodedString* MHwrapper::fetchRawBody(const RecMail&mail) | |||
222 | mailmessage * msg = 0; | 221 | mailmessage * msg = 0; |
223 | char*data=0; | 222 | char*data=0; |
224 | size_t size; | 223 | size_t size; |
225 | int r = mailsession_select_folder(m_storage->sto_session,(char*)mail.getMbox().latin1()); | 224 | int r = mailsession_select_folder(m_storage->sto_session,(char*)mail->getMbox().latin1()); |
226 | if (r!=MAIL_NO_ERROR) { | 225 | if (r!=MAIL_NO_ERROR) { |
227 | qDebug("error selecting folder!"); | 226 | qDebug("error selecting folder!"); |
228 | return result; | 227 | return result; |
229 | } | 228 | } |
230 | r = mailsession_get_message(m_storage->sto_session, mail.getNumber(), &msg); | 229 | r = mailsession_get_message(m_storage->sto_session, mail->getNumber(), &msg); |
231 | if (r != MAIL_NO_ERROR) { | 230 | if (r != MAIL_NO_ERROR) { |
232 | Global::statusMessage(tr("Error fetching mail %i").arg(mail.getNumber())); | 231 | Global::statusMessage(tr("Error fetching mail %i").arg(mail->getNumber())); |
233 | return 0; | 232 | return 0; |
234 | } | 233 | } |
235 | r = mailmessage_fetch(msg,&data,&size); | 234 | r = mailmessage_fetch(msg,&data,&size); |
236 | if (r != MAIL_NO_ERROR) { | 235 | if (r != MAIL_NO_ERROR) { |
237 | Global::statusMessage(tr("Error fetching mail %i").arg(mail.getNumber())); | 236 | Global::statusMessage(tr("Error fetching mail %i").arg(mail->getNumber())); |
238 | if (msg) mailmessage_free(msg); | 237 | if (msg) mailmessage_free(msg); |
239 | return 0; | 238 | return 0; |
240 | } | 239 | } |
@@ -243,7 +242,7 @@ encodedString* MHwrapper::fetchRawBody(const RecMail&mail) | |||
243 | return result; | 242 | return result; |
244 | } | 243 | } |
245 | 244 | ||
246 | void MHwrapper::deleteMails(const QString & mailbox,QList<RecMail> &target) | 245 | void MHwrapper::deleteMails(const QString & mailbox,const QValueList<RecMailP> &target) |
247 | { | 246 | { |
248 | QString f = buildPath(mailbox); | 247 | QString f = buildPath(mailbox); |
249 | int r = mailsession_select_folder(m_storage->sto_session,(char*)f.latin1()); | 248 | int r = mailsession_select_folder(m_storage->sto_session,(char*)f.latin1()); |
@@ -251,10 +250,9 @@ void MHwrapper::deleteMails(const QString & mailbox,QList<RecMail> &target) | |||
251 | qDebug("deleteMails: error selecting folder!"); | 250 | qDebug("deleteMails: error selecting folder!"); |
252 | return; | 251 | return; |
253 | } | 252 | } |
254 | RecMail*c = 0; | 253 | QValueList<RecMailP>::ConstIterator it; |
255 | for (unsigned int i=0; i < target.count();++i) { | 254 | for (it=target.begin(); it!=target.end();++it) { |
256 | c = target.at(i); | 255 | r = mailsession_remove_message(m_storage->sto_session,(*it)->getNumber()); |
257 | r = mailsession_remove_message(m_storage->sto_session,c->getNumber()); | ||
258 | if (r != MAIL_NO_ERROR) { | 256 | if (r != MAIL_NO_ERROR) { |
259 | qDebug("error deleting mail"); | 257 | qDebug("error deleting mail"); |
260 | break; | 258 | break; |
@@ -372,7 +370,7 @@ const QString&MHwrapper::getName()const | |||
372 | { | 370 | { |
373 | return MHName; | 371 | return MHName; |
374 | } | 372 | } |
375 | void MHwrapper::mvcpMail(const RecMail&mail,const QString&targetFolder,AbstractMail*targetWrapper,bool moveit) | 373 | void MHwrapper::mvcpMail(const RecMailP&mail,const QString&targetFolder,AbstractMail*targetWrapper,bool moveit) |
376 | { | 374 | { |
377 | init_storage(); | 375 | init_storage(); |
378 | if (!m_storage) { | 376 | if (!m_storage) { |
@@ -385,15 +383,15 @@ void MHwrapper::mvcpMail(const RecMail&mail,const QString&targetFolder,AbstractM | |||
385 | } | 383 | } |
386 | qDebug("Using internal routines for move/copy"); | 384 | qDebug("Using internal routines for move/copy"); |
387 | QString tf = buildPath(targetFolder); | 385 | QString tf = buildPath(targetFolder); |
388 | int r = mailsession_select_folder(m_storage->sto_session,(char*)mail.getMbox().latin1()); | 386 | int r = mailsession_select_folder(m_storage->sto_session,(char*)mail->getMbox().latin1()); |
389 | if (r != MAIL_NO_ERROR) { | 387 | if (r != MAIL_NO_ERROR) { |
390 | qDebug("Error selecting source mailbox"); | 388 | qDebug("Error selecting source mailbox"); |
391 | return; | 389 | return; |
392 | } | 390 | } |
393 | if (moveit) { | 391 | if (moveit) { |
394 | r = mailsession_move_message(m_storage->sto_session,mail.getNumber(),(char*)tf.latin1()); | 392 | r = mailsession_move_message(m_storage->sto_session,mail->getNumber(),(char*)tf.latin1()); |
395 | } else { | 393 | } else { |
396 | r = mailsession_copy_message(m_storage->sto_session,mail.getNumber(),(char*)tf.latin1()); | 394 | r = mailsession_copy_message(m_storage->sto_session,mail->getNumber(),(char*)tf.latin1()); |
397 | } | 395 | } |
398 | if (r != MAIL_NO_ERROR) { | 396 | if (r != MAIL_NO_ERROR) { |
399 | qDebug("Error copy/moving mail internal (%i)",r); | 397 | qDebug("Error copy/moving mail internal (%i)",r); |