#ifndef __LOGINMANAGER_H__
#define __LOGINMANAGER_H__
// The purpose of this class is to manage some aspects of the login
// behaviour. These are:
// - Password dialog for servers with ASK or INTERACTIVE logontype
// - Storage of passwords for ASK servers for duration of current session
class CLoginManager
{
public:
static CLoginManager& Get() { return m_theLoginManager; }
bool GetPassword(CServer& server, bool silent, wxString name = _T(""), wxString challenge = _T(""));
void CachedPasswordFailed(const CServer& server);
protected:
bool DisplayDialog(CServer& server, wxString name, wxString challenge);
static CLoginManager m_theLoginManager;
// Session password cache for Ask-type servers
struct t_passwordcache
{
wxString host;
unsigned int port;
wxString user;
wxString password;
};
std::list<t_passwordcache> m_passwordCache;
};
#endif //__LOGINMANAGER_H__
syntax highlighted by Code2HTML, v. 0.9.1