27#ifndef PDCOM5_SIMPLELOGINMANAGER_H
28#define PDCOM5_SIMPLELOGINMANAGER_H
30#include "pdcom5-sasl_export.h"
33#include <pdcom5/Sasl.h>
37extern "C" struct sasl_callback;
41class SimpleLoginManager;
59 friend class impl::SimpleLoginManager;
60 std::unique_ptr<impl::SimpleLoginManager> impl_;
61 void loginReply(
const char *mechlist,
const char *serverData,
int finished)
84 const char *remote_host,
85 sasl_callback *additional_callbacks =
nullptr);
159 virtual void log(
int level,
const char *message);
SASL Interface for PdCom.
Definition: Sasl.h:42
Wrapper for Cyrus SASL library.
Definition: SimpleLoginManager.h:58
virtual std::string getOption(const char *, const char *)
SASL get option callback.
Definition: SimpleLoginManager.h:135
SimpleLoginManager(const char *remote_host, sasl_callback *additional_callbacks=nullptr)
Constructor.
virtual std::string getPassword()
Callback to get password.
Definition: SimpleLoginManager.h:125
virtual std::string getAuthname()
Callback to get login name.
Definition: SimpleLoginManager.h:122
static void InitLibrary(const char *plugin_path=nullptr)
Sasl global initialization.
virtual std::string getRealm(const std::vector< const char * > &)
Callback to get realm.
Definition: SimpleLoginManager.h:129
bool login()
Perform SASL login step.
virtual void completed(bool success)=0
Authentification completed callback.
virtual void log(int level, const char *message)
Log callback.
virtual std::string interact(unsigned long, const char *, const char *, const char *)
SASL interact callback.
Definition: SimpleLoginManager.h:140
static void FinalizeLibrary()
Sasl global finalization.
library version string as "major.minor.patch"
Definition: ClientStatistics.h:31
Exception for callback cancelation.
Definition: SimpleLoginManager.h:96