summaryrefslogtreecommitdiffstats
path: root/libmail/logininfo.C
diff options
context:
space:
mode:
Diffstat (limited to 'libmail/logininfo.C')
-rw-r--r--libmail/logininfo.C76
1 files changed, 76 insertions, 0 deletions
diff --git a/libmail/logininfo.C b/libmail/logininfo.C
new file mode 100644
index 0000000..affd088
--- /dev/null
+++ b/libmail/logininfo.C
@@ -0,0 +1,76 @@
+/*
+** Copyright 2002, Double Precision Inc.
+**
+** See COPYING for distribution information.
+*/
+#include "libmail_config.h"
+#include "logininfo.H"
+
+///////////////////////////////////////////////////////////////////////////
+//
+// mail::imapLoginInfo TLS helper functions
+
+mail::loginInfo::loginInfo()
+ : loginCallbackFunc(NULL),
+ use_ssl(false), callbackPtr(0), tlsInfo(0)
+{
+}
+
+mail::loginInfo::~loginInfo()
+{
+}
+
+///////////////////////////////////////////////////////////////////////////
+//
+// The callback object
+
+mail::loginCallback::loginCallback() : target(NULL)
+{
+}
+
+mail::loginCallback::~loginCallback()
+{
+}
+
+void mail::loginCallback::callback(std::string v)
+{
+ mail::loginInfo::callbackTarget *t=target;
+
+ target=NULL;
+
+ if (t)
+ t->loginInfoCallback(v);
+}
+
+void mail::loginCallback::callbackCancel()
+{
+ mail::loginInfo::callbackTarget *t=target;
+
+ target=NULL;
+
+ if (t)
+ t->loginInfoCallbackCancel();
+}
+
+void mail::loginCallback::getUserid()
+{
+ loginPrompt(USERID, "Userid: ");
+}
+
+void mail::loginCallback::getPassword()
+{
+ loginPrompt(PASSWORD, "Password: ");
+}
+
+mail::loginInfo::callbackTarget::callbackTarget()
+ : currentCallback(NULL)
+{
+}
+
+mail::loginInfo::callbackTarget::~callbackTarget()
+{
+ if (currentCallback)
+ currentCallback->target=NULL;
+}
+
+