summaryrefslogtreecommitdiffstats
path: root/libmail/imaplogin.H
diff options
context:
space:
mode:
Diffstat (limited to 'libmail/imaplogin.H')
-rw-r--r--libmail/imaplogin.H47
1 files changed, 47 insertions, 0 deletions
diff --git a/libmail/imaplogin.H b/libmail/imaplogin.H
new file mode 100644
index 0000000..424cd4f
--- /dev/null
+++ b/libmail/imaplogin.H
@@ -0,0 +1,47 @@
+/*
+** Copyright 2002, Double Precision Inc.
+**
+** See COPYING for distribution information.
+*/
+#ifndef libmail_imaplogin_H
+#define libmail_imaplogin_H
+
+#include "config.h"
+#include "logininfo.H"
+
+#include "imap.H"
+
+LIBMAIL_START
+
+class loginInfo;
+
+/////////////////////////////////////////////////////////////////////////
+//
+// Initial handler that waits for a greeting message, and decides what to
+// do from there.
+
+class imapGreetingHandler : public imapHandler {
+
+private:
+ mail::loginInfo myLoginInfo;
+
+ const char *getName();
+ void timedOut(const char *errmsg);
+ int capability_sent;
+ int completed;
+
+ bool preauthenticated;
+public:
+ imapGreetingHandler(mail::loginInfo loginInfo);
+ ~imapGreetingHandler();
+
+ void installed(imap &);
+
+ int process(imap &imapAccount, std::string &buffer);
+
+ void error(imap &imapAccount, std::string errmsg);
+};
+
+LIBMAIL_END
+
+#endif