-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathlightdmobject.h
44 lines (40 loc) · 1.01 KB
/
lightdmobject.h
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
#ifndef LIGHTDMOBJECT_H
#define LIGHTDMOBJECT_H
#include <QObject>
#include <QLightDM/Greeter>
#include <QLightDM/UsersModel>
#include <QLightDM/Power>
#include <QLightDM/SessionsModel>
#include <QEventLoop>
class lightdmobject : public QObject
{
Q_OBJECT
public:
explicit lightdmobject(QObject *parent = nullptr);
QStringList get_user_list();
QStringList get_session_list();
QString select_user(QString);
QString get_icon(QString);
void auth(QString);
bool authorize(QString);
QString set_session(QString);
void sleep();
void shutdown();
void reboot();
void hibernate();
private:
QLightDM::Greeter m_greeter;
QLightDM::PowerInterface m_power;
QLightDM::UsersModel m_usermodel;
QLightDM::SessionsModel m_SessionModel;
QString init_session;
QString init_user;
QStringList sessions_str;
QStringList users_str;
QString current_session;
signals:
void error_login();
public slots:
void authenticationComplete();
};
#endif // LIGHTDMOBJECT_H