summaryrefslogtreecommitdiffstats
path: root/libmail/imapidle.H
diff options
context:
space:
mode:
authorSam Varshavchik2013-08-19 16:39:41 -0400
committerSam Varshavchik2013-08-25 14:43:51 -0400
commit9c45d9ad13fdf439d44d7443ae75da15ea0223ed (patch)
tree7a81a04cb51efb078ee350859a64be2ebc6b8813 /libmail/imapidle.H
parenta9520698b770168d1f33d6301463bb70a19655ec (diff)
downloadcourier-libs-9c45d9ad13fdf439d44d7443ae75da15ea0223ed.tar.bz2
Initial checkin
Imported from subversion report, converted to git. Updated all paths in scripts and makefiles, reflecting the new directory hierarchy.
Diffstat (limited to 'libmail/imapidle.H')
-rw-r--r--libmail/imapidle.H60
1 files changed, 60 insertions, 0 deletions
diff --git a/libmail/imapidle.H b/libmail/imapidle.H
new file mode 100644
index 0000000..90ecde4
--- /dev/null
+++ b/libmail/imapidle.H
@@ -0,0 +1,60 @@
+/*
+** Copyright 2003, Double Precision Inc.
+**
+** See COPYING for distribution information.
+*/
+
+#ifndef libmail_imapidle_H
+#define libmail_imapidle_H
+
+#include "libmail_config.h"
+
+#include "mail.H"
+#include "imap.H"
+
+#include <time.h>
+
+LIBMAIL_START
+
+class imapIdleHandler : public imapCommandHandler {
+
+ bool idleOnOff;
+
+ bool idling;
+ bool shouldTerminate;
+ bool terminating;
+
+ bool waiting;
+ struct timeval waitingUntil;
+
+ mail::callback *callback;
+
+ void terminateIdle(imap &);
+
+ const char *getName();
+ void timedOut(const char *errmsg);
+
+
+ bool getTimeout(imap &, int &);
+
+public:
+ imapIdleHandler(bool idleOnOffArg, mail::callback *callbackArg);
+ ~imapIdleHandler();
+
+ void installed(imap &);
+
+ bool untaggedMessage(imap &imapAccount, std::string name);
+
+ bool taggedMessage(imap &imapAccount, std::string name,
+ std::string message,
+ bool okfail, std::string errmsg);
+
+ bool continuationRequest(imap &imapAccount,
+ std::string request);
+
+ void anotherHandlerInstalled(imap &imapAccount);
+};
+
+
+LIBMAIL_END
+#endif