QtPdCom  1.4.1
Signals | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | List of all members
QtPdCom::LoginManager Class Reference

Class to handle the Authentication process. More...

#include <LoginManager.h>

Inheritance diagram for QtPdCom::LoginManager:
Inheritance graph
[legend]
Collaboration diagram for QtPdCom::LoginManager:
Collaboration graph
[legend]

Signals

void needCredentials ()
 Username and/or password has not been set. More...
 
void loginSuccessful ()
 Authentification was successful. More...
 
void loginFailed ()
 Authentification was not successful. More...
 

Public Member Functions

 LoginManager (QString server_name=QString(), QObject *parent=nullptr)
 
 ~LoginManager ()
 
Q_INVOKABLE void setAuthName (QString name)
 Set Login Name. More...
 
Q_INVOKABLE void setPassword (QString password)
 Set Password. More...
 
Q_INVOKABLE void clearCredentials ()
 Clear stored credentials. More...
 
Q_INVOKABLE void login ()
 Start the login process. More...
 
Q_INVOKABLE void logout ()
 logout. More...
 
Q_INVOKABLE QString getErrorMessage ()
 

Static Public Member Functions

static void InitLibrary (const char *plugin_path=nullptr)
 Sasl global initialization. More...
 
static void FinalizeLibrary ()
 Sasl global finalization. More...
 

Private Member Functions

 Q_DECLARE_PRIVATE (LoginManager)
 
 Q_DISABLE_COPY (LoginManager)
 
LoginManageroperator= (LoginManager &&)=delete
 
 LoginManager (LoginManager &&)=delete
 

Private Attributes

QScopedPointer< LoginManagerPrivated_ptr
 
friend Process
 

Detailed Description

Class to handle the Authentication process.

Prior to using an instance of this class, InitLibrary() has to be called.

In Qt6 QML, simply create an SaslInitializer instance before connecting to a process.

Constructor & Destructor Documentation

◆ LoginManager() [1/2]

LoginManager::LoginManager ( QString  server_name = QString(),
QObject *  parent = nullptr 
)
explicit

◆ ~LoginManager()

LoginManager::~LoginManager ( )
default

◆ LoginManager() [2/2]

QtPdCom::LoginManager::LoginManager ( LoginManager &&  )
privatedelete

Member Function Documentation

◆ clearCredentials()

void LoginManager::clearCredentials ( )

Clear stored credentials.

◆ FinalizeLibrary()

void LoginManager::FinalizeLibrary ( )
static

Sasl global finalization.

Referenced by QtPdCom::SaslInitializer::~SaslInitializer().

◆ getErrorMessage()

QString LoginManager::getErrorMessage ( )

◆ InitLibrary()

void LoginManager::InitLibrary ( const char *  plugin_path = nullptr)
static

Sasl global initialization.

Call this at startup of your application to initialize the underlying sasl library.

Parameters
plugin_pathPath to SASL.
Exceptions
PdCom::ExceptionInitialization failed.

Referenced by QtPdCom::SaslInitializer::SaslInitializer().

◆ login()

void LoginManager::login ( )

Start the login process.

If possible, please call setAuthName() and setPassword() in advance. Do not call login() from whithin any Authentification-related callback (i.e. slots connected to any of our signals which are not queued connections) as use-after-free can happen as a new session is started.

◆ loginFailed

void QtPdCom::LoginManager::loginFailed ( )
signal

Authentification was not successful.

See getErrorMessage().

◆ loginSuccessful

void QtPdCom::LoginManager::loginSuccessful ( )
signal

Authentification was successful.

◆ logout()

void LoginManager::logout ( )

logout.

◆ needCredentials

void QtPdCom::LoginManager::needCredentials ( )
signal

Username and/or password has not been set.

◆ operator=()

LoginManager& QtPdCom::LoginManager::operator= ( LoginManager &&  )
privatedelete

◆ Q_DECLARE_PRIVATE()

QtPdCom::LoginManager::Q_DECLARE_PRIVATE ( LoginManager  )
private

◆ Q_DISABLE_COPY()

QtPdCom::LoginManager::Q_DISABLE_COPY ( LoginManager  )
private

◆ setAuthName()

void LoginManager::setAuthName ( QString  name)

Set Login Name.

Parameters
nameLogin name.

◆ setPassword()

void LoginManager::setPassword ( QString  password)

Set Password.

Parameters
passwordPassword.

Member Data Documentation

◆ d_ptr

QScopedPointer<LoginManagerPrivate> QtPdCom::LoginManager::d_ptr
private

◆ Process

friend QtPdCom::LoginManager::Process
private

The documentation for this class was generated from the following files: