DtkSystemSettings  1.0.3
dtk library for systemsettings.
dloginuser.h
浏览该文件的文档.
1// SPDX-FileCopyrightText: 2022 UnionTech Software Technology Co., Ltd.
2//
3// SPDX-License-Identifier: LGPL-3.0-or-later
4
5#pragma once
6
7#include <qobject.h>
8#include <dexpected.h>
9
10#include "dlogintypes.h"
11
12DLOGIN_BEGIN_NAMESPACE
13using DCORE_NAMESPACE::DExpected;
14class DLoginUserPrivate;
15
16class DLoginUser : public QObject
17{
18 Q_OBJECT
19public:
20 ~DLoginUser() override;
21
22 Q_PROPERTY(QStringList sessions READ sessions);
23 Q_PROPERTY(bool idleHint READ idleHint);
24 Q_PROPERTY(bool linger READ linger);
25 Q_PROPERTY(QString name READ name);
26 Q_PROPERTY(QString runtimePath READ runtimePath);
27 Q_PROPERTY(QString service READ service);
28 Q_PROPERTY(QString slice READ slice);
29 Q_PROPERTY(UserState state READ state);
30 Q_PROPERTY(QString display READ display);
31 Q_PROPERTY(quint32 GID READ GID);
32 Q_PROPERTY(quint32 UID READ UID);
33 Q_PROPERTY(QDateTime idleSinceHint READ idleSinceHint);
34 Q_PROPERTY(quint64 idleSinceHintMonotonic READ idleSinceHintMonotonic);
35 Q_PROPERTY(QDateTime loginTime READ loginTime);
36 Q_PROPERTY(quint64 loginTimeMonotonic READ loginTimeMonotonic);
37
38 QStringList sessions() const;
39 bool idleHint() const;
40 bool linger() const;
41 QString name() const;
42 QString runtimePath() const;
43 QString service() const;
44 QString slice() const;
46 QString display() const;
47 quint32 GID() const;
48 quint32 UID() const;
49 QDateTime idleSinceHint() const;
50 quint64 idleSinceHintMonotonic() const;
51 QDateTime loginTime() const;
52 quint64 loginTimeMonotonic() const;
53
54public Q_SLOTS:
55 DExpected<void> kill(qint32 signalNumber);
56 DExpected<void> terminate();
57
58private:
59 explicit DLoginUser(const QString &path, QObject *parent = nullptr);
60 friend class DLoginManager;
61 QScopedPointer<DLoginUserPrivate> d_ptr;
62 Q_DECLARE_PRIVATE(DLoginUser)
63};
64DLOGIN_END_NAMESPACE
登陆管理类
Definition: dloginmanager.h:35
定义了用户管理的接口
Definition: dloginuser.h:17
QString display() const
User的session id
QString slice() const
用户systemd切片的单元名称
QDateTime loginTime() const
最后一次登陆的时间点
QString name() const
name
quint32 UID() const
用户id
QString runtimePath() const
返回用户runtime路径
QString service() const
包含该用户的systemd的服务单元名称
quint64 loginTimeMonotonic() const
用户自登陆到现在过去的时间
UserState state() const
用户当前状态名称
bool linger() const
用户滞留
QStringList sessions() const
当前用户所有当前会话的结构数组
bool idleHint() const
当前用户的空闲状态
DExpected< void > kill(qint32 signalNumber)
发送unix信号 对应Dbus上的kill信号,功能同manager的的KillUser一样,向用户所有进程发送Unix信号,需要信号编号,杀死进程
quint64 idleSinceHintMonotonic() const
从该User开始空闲后到现在过去的时间
quint32 GID() const
用户组id
DExpected< void > terminate()
强制终止用户所有进程 对应DBus上对应的Terminate 信号,强制终止该用户的所有进程。
QDateTime idleSinceHint() const
从该User开始空闲后的时间点
UserState
用户状态
Definition: dlogintypes.h:52