summaryrefslogtreecommitdiffstats
path: root/libmail/logininfo.C
blob: affd0888c3c0b95c8cfb572b88d2ddac193fe2a1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
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;
}