summaryrefslogtreecommitdiff
path: root/noncore/unsupported/mail2/libmail/imaphandler.cpp
authoralwin <alwin>2004-03-02 12:21:11 (UTC)
committer alwin <alwin>2004-03-02 12:21:11 (UTC)
commitb6b1c97559c0ed9f2e33632272426bf98f289232 (patch) (unidiff)
treed3a9987704770cdf5eb14e1136f6e3ecb2f36a04 /noncore/unsupported/mail2/libmail/imaphandler.cpp
parent0d59c780513da78033f4d9040475dee9db0256d4 (diff)
downloadopie-b6b1c97559c0ed9f2e33632272426bf98f289232.zip
opie-b6b1c97559c0ed9f2e33632272426bf98f289232.tar.gz
opie-b6b1c97559c0ed9f2e33632272426bf98f289232.tar.bz2
applied the patch generated by the optimize_connect script from
TT.
Diffstat (limited to 'noncore/unsupported/mail2/libmail/imaphandler.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/unsupported/mail2/libmail/imaphandler.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/noncore/unsupported/mail2/libmail/imaphandler.cpp b/noncore/unsupported/mail2/libmail/imaphandler.cpp
index dc97b28..8da0acd 100644
--- a/noncore/unsupported/mail2/libmail/imaphandler.cpp
+++ b/noncore/unsupported/mail2/libmail/imaphandler.cpp
@@ -1,62 +1,62 @@
1#include "imapresponse.h" 1#include "imapresponse.h"
2#include "imaphandler.h" 2#include "imaphandler.h"
3#include "imapbase.h" 3#include "imapbase.h"
4 4
5IMAPHandler::IMAPHandler(const Account &account) 5IMAPHandler::IMAPHandler(const Account &account)
6 : QObject(), _account(account) 6 : QObject(), _account(account)
7{ 7{
8 _ready = false; 8 _ready = false;
9 _loggingin = false; 9 _loggingin = false;
10 _loggedin = false; 10 _loggedin = false;
11 _tag = 0; 11 _tag = 0;
12 _ibase = new IMAPBase(account); 12 _ibase = new IMAPBase(account);
13 13
14 connect(_ibase, SIGNAL(dataReceived(const QString &)), SLOT(slotDataReceived(const QString &))); 14 connect(_ibase, SIGNAL(dataReceived(const QString&)), SLOT(slotDataReceived(const QString&)));
15 connect(_ibase, SIGNAL(lookingUpHost()), SLOT(slotLookingUpHost())); 15 connect(_ibase, SIGNAL(lookingUpHost()), SLOT(slotLookingUpHost()));
16 connect(_ibase, SIGNAL(hostFound()), SLOT(slotHostFound())); 16 connect(_ibase, SIGNAL(hostFound()), SLOT(slotHostFound()));
17 connect(_ibase, SIGNAL(connected()), SLOT(slotConnected())); 17 connect(_ibase, SIGNAL(connected()), SLOT(slotConnected()));
18 connect(_ibase, SIGNAL(disconnected()), SLOT(slotDisconnected())); 18 connect(_ibase, SIGNAL(disconnected()), SLOT(slotDisconnected()));
19 connect(_ibase, SIGNAL(error(int)), SLOT(slotError(int))); 19 connect(_ibase, SIGNAL(error(int)), SLOT(slotError(int)));
20} 20}
21 21
22void IMAPHandler::doLogin() 22void IMAPHandler::doLogin()
23{ 23{
24 if (_loggedin) return; 24 if (_loggedin) return;
25 if (_loggingin) return; 25 if (_loggingin) return;
26 26
27 _loggingin = true; 27 _loggingin = true;
28 iLogin(_account.user(), _account.pass()); 28 iLogin(_account.user(), _account.pass());
29} 29}
30 30
31QString IMAPHandler::iCapability() 31QString IMAPHandler::iCapability()
32{ 32{
33 _ibase->sendCommand(QString("%1 CAPABILITY\r\n") 33 _ibase->sendCommand(QString("%1 CAPABILITY\r\n")
34 .arg(tag())); 34 .arg(tag()));
35 return tag(false); 35 return tag(false);
36} 36}
37 37
38QString IMAPHandler::iNoop() 38QString IMAPHandler::iNoop()
39{ 39{
40 _ibase->sendCommand(QString("%1 NOOP\r\n") 40 _ibase->sendCommand(QString("%1 NOOP\r\n")
41 .arg(tag())); 41 .arg(tag()));
42 return tag(false); 42 return tag(false);
43} 43}
44 44
45QString IMAPHandler::iLogout() 45QString IMAPHandler::iLogout()
46{ 46{
47 _ibase->sendCommand(QString("%1 LOGOUT\r\n") 47 _ibase->sendCommand(QString("%1 LOGOUT\r\n")
48 .arg(tag())); 48 .arg(tag()));
49 return tag(false); 49 return tag(false);
50} 50}
51 51
52QString IMAPHandler::iAuthenticate(const QString &mechanism) 52QString IMAPHandler::iAuthenticate(const QString &mechanism)
53{ 53{
54 _ibase->sendCommand(QString("%1 AUTHENTICATE \"%2\"\r\n") 54 _ibase->sendCommand(QString("%1 AUTHENTICATE \"%2\"\r\n")
55 .arg(tag()) 55 .arg(tag())
56 .arg(escape(mechanism))); 56 .arg(escape(mechanism)));
57 return tag(false); 57 return tag(false);
58} 58}
59 59
60QString IMAPHandler::iLogin(const QString &user, const QString &pass) 60QString IMAPHandler::iLogin(const QString &user, const QString &pass)
61{ 61{
62 _ibase->sendCommand(QString("%1 LOGIN \"%2\" \"%3\"\r\n") 62 _ibase->sendCommand(QString("%1 LOGIN \"%2\" \"%3\"\r\n")
@@ -254,93 +254,93 @@ QString IMAPHandler::iCopy(const QString &message, const QString &mailbox)
254 .arg(escape(mailbox))); 254 .arg(escape(mailbox)));
255 return tag(false); 255 return tag(false);
256} 256}
257 257
258QString IMAPHandler::iUid(const QString &command, const QString &arguments) 258QString IMAPHandler::iUid(const QString &command, const QString &arguments)
259{ 259{
260 doLogin(); 260 doLogin();
261 261
262 _ibase->sendCommand(QString("%1 UID %2 %3\r\n") 262 _ibase->sendCommand(QString("%1 UID %2 %3\r\n")
263 .arg(tag()) 263 .arg(tag())
264 .arg(command) 264 .arg(command)
265 .arg(arguments)); 265 .arg(arguments));
266 return tag(false); 266 return tag(false);
267} 267}
268 268
269QString IMAPHandler::iX(const QString &commandAtom, const QString &arguments) 269QString IMAPHandler::iX(const QString &commandAtom, const QString &arguments)
270{ 270{
271 doLogin(); 271 doLogin();
272 272
273 _ibase->sendCommand(QString("%1 X%2 %3\r\n") 273 _ibase->sendCommand(QString("%1 X%2 %3\r\n")
274 .arg(tag()) 274 .arg(tag())
275 .arg(commandAtom) 275 .arg(commandAtom)
276 .arg(arguments)); 276 .arg(arguments));
277 return tag(false); 277 return tag(false);
278} 278}
279 279
280QString IMAPHandler::escape(const QString &in) 280QString IMAPHandler::escape(const QString &in)
281{ 281{
282 QString in_ = in; 282 QString in_ = in;
283 return in_.replace(QRegExp("\""), "\\\""); 283 return in_.replace(QRegExp("\""), "\\\"");
284} 284}
285 285
286QString IMAPHandler::tag(bool count) 286QString IMAPHandler::tag(bool count)
287{ 287{
288 return QString("a%1").arg(count ? _tag++ : _tag); 288 return QString("a%1").arg(count ? _tag++ : _tag);
289} 289}
290 290
291void IMAPHandler::slotDataReceived(const QString &data) 291void IMAPHandler::slotDataReceived(const QString &data)
292{ 292{
293 if (!_ready) { 293 if (!_ready) {
294 // The first data is always the greeting string. 294 // The first data is always the greeting string.
295 // We can ignore it. 295 // We can ignore it.
296 _ready = true; 296 _ready = true;
297 return; 297 return;
298 } 298 }
299 299
300 300
301 IMAPResponseParser parser; 301 IMAPResponseParser parser;
302 //connect ( &parser, SIGNAL( needMoreData ( QString & )), _ibase, SLOT( tryRead ( QString & ))); 302 //connect ( &parser, SIGNAL( needMoreData(QString&)), _ibase, SLOT( tryRead(QString&)));
303 parser. parse ( data ); 303 parser. parse ( data );
304 IMAPResponse response = parser.response(); 304 IMAPResponse response = parser.response();
305 //disconnect ( &parser, SIGNAL( needMoreData ( QString & )), _ibase, SLOT( tryRead ( QString & ))); 305 //disconnect ( &parser, SIGNAL( needMoreData(QString&)), _ibase, SLOT( tryRead(QString&)));
306 response.setImapHandler(this); 306 response.setImapHandler(this);
307 307
308 if (!_loggingin) { qDebug("Emitting gotResponse!\n" ); emit gotResponse(response); } 308 if (!_loggingin) { qDebug("Emitting gotResponse!\n" ); emit gotResponse(response); }
309 else { 309 else {
310 if (response.statusResponse().status() == IMAPResponseEnums::OK) { 310 if (response.statusResponse().status() == IMAPResponseEnums::OK) {
311 _loggingin = false; 311 _loggingin = false;
312 _loggedin = true; 312 _loggedin = true;
313 qWarning("OK. Logged in. Leaving loggingin state."); 313 qWarning("OK. Logged in. Leaving loggingin state.");
314 } else { 314 } else {
315 _loggingin = false; 315 _loggingin = false;
316 emit IMAPError(IMAPBase::IMAPErrLoginFailed); 316 emit IMAPError(IMAPBase::IMAPErrLoginFailed);
317 } 317 }
318 } 318 }
319} 319}
320 320
321void IMAPHandler::slotLookingUpHost() 321void IMAPHandler::slotLookingUpHost()
322{ 322{
323 emit IMAPLookingUpHost(); 323 emit IMAPLookingUpHost();
324} 324}
325 325
326void IMAPHandler::slotHostFound() 326void IMAPHandler::slotHostFound()
327{ 327{
328 emit IMAPHostFound(); 328 emit IMAPHostFound();
329} 329}
330 330
331void IMAPHandler::slotConnected() 331void IMAPHandler::slotConnected()
332{ 332{
333 emit IMAPConnected(); 333 emit IMAPConnected();
334} 334}
335 335
336void IMAPHandler::slotDisconnected() 336void IMAPHandler::slotDisconnected()
337{ 337{
338 _loggedin = false; 338 _loggedin = false;
339 emit IMAPDisconnected(); 339 emit IMAPDisconnected();
340} 340}
341 341
342void IMAPHandler::slotError(int err) 342void IMAPHandler::slotError(int err)
343{ 343{
344 emit IMAPError(err); 344 emit IMAPError(err);
345} 345}
346 346