QtPdCom  1.5.2
LoginManager.h
Go to the documentation of this file.
1/*****************************************************************************
2 *
3 * Copyright (C) 2009-2023 Bjarne von Horn <vh@igh.de>
4 *
5 * This file is part of the QtPdCom library.
6 *
7 * The QtPdCom library is free software: you can redistribute it and/or modify
8 * it under the terms of the GNU Lesser General Public License as published by
9 * the Free Software Foundation, either version 3 of the License, or (at your
10 * option) any later version.
11 *
12 * The QtPdCom library is distributed in the hope that it will be useful, but
13 * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
14 * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
15 * License for more details.
16 *
17 * You should have received a copy of the GNU Lesser General Public License
18 * along with the QtPdCom Library. If not, see <http://www.gnu.org/licenses/>.
19 *
20 ****************************************************************************/
21
22#ifndef QTPDCOM_LOGINMANAGER_H
23#define QTPDCOM_LOGINMANAGER_H
24
25#include "Export.h"
26
27#include <QObject>
28#include <QScopedPointer>
29#include <QString>
30
31namespace QtPdCom {
32
33class LoginManagerPrivate;
34class Process;
35
46class QTPDCOM_PUBLIC LoginManager: public QObject
47{
48 Q_OBJECT
49
50 public:
51 explicit LoginManager(QString server_name = QString(), QObject *parent = nullptr);
53
59 Q_INVOKABLE void setAuthName(QString name);
65 Q_INVOKABLE void setPassword(QString password);
66
71 Q_INVOKABLE void clearCredentials();
72
83 Q_INVOKABLE void login();
87 Q_INVOKABLE void logout();
88
89 /* Retrieve reason for login failure.
90 */
91 Q_INVOKABLE QString getErrorMessage();
92
101 static void InitLibrary(const char *plugin_path = nullptr);
104 static void FinalizeLibrary();
105
106 signals:
107
121
122 private:
127
128 QScopedPointer<LoginManagerPrivate> d_ptr;
129 friend Process;
130};
131
132} // namespace QtPdCom
133
134#endif // QTPDCOM_LOGINMANAGER_H
#define QTPDCOM_PUBLIC
Definition Export.h:30
Class to handle the Authentication process.
Definition LoginManager.h:47
LoginManager & operator=(LoginManager &&)=delete
void loginSuccessful()
Authentification was successful.
void needCredentials()
Username and/or password has not been set.
Q_DECLARE_PRIVATE(LoginManager)
void loginFailed()
Authentification was not successful.
Q_DISABLE_COPY(LoginManager)
LoginManager(LoginManager &&)=delete
friend Process
Definition LoginManager.h:129
QScopedPointer< LoginManagerPrivate > d_ptr
Definition LoginManager.h:128
Definition BroadcastModel.h:32