定义了会话管理的接口
更多...
#include <dloginsession.h>
|
DExpected< void > | activate () |
| 对 Manger对象的相应调用 对应Login上的Activate方法, 类似Manger对象的相应调用
|
|
DExpected< void > | kill (DTK_LOGIN_NAMESPACE::SessionRole who, qint32 signalNumber) |
| 和Manager相应对象调用类似 对应Login上的Kill方法, 和Manager对象相应调用类似
|
|
DExpected< void > | lock () |
| 和Manager相应对象调用类似 对应Login上的Kill方法, 和Manager对象相应调用类似
|
|
DExpected< void > | setIdleHint (bool idle) |
| 改变session的空闲状态 由session对象调用时候以便更改会话的空闲状态
|
|
DExpected< void > | setType (DTK_LOGIN_NAMESPACE::SessionType type) |
| 更改session的类型
|
|
DExpected< void > | terminate () |
| 和Manger对象的相应工作方式类似 和Manger对象的相应工作方式类似
|
|
DExpected< QStringList > | autostartList () |
| 列出所有自启动应用名
|
|
DExpected< bool > | isAutostart (const QString &fileName) |
| 是否自动启动
|
|
DExpected< bool > | removeAutostart (const QString &fileName) |
| 移除自动启动
|
|
DExpected< bool > | addAutostart (const QString &fileName) |
| 添加自动启动
|
|
|
bool | active |
| 是否活动状态 Acitve是一个布尔类型, 如果为真代表这个session为活跃状态。这说明, 正在最前面显示。这个字段在这里有趣State字段是半冗余的。
|
|
bool | idleHint |
| 该会话的空闲提示状态 封装了当前session idle hint 状态, 和整个manager对象上各个属性如何为整个对象运作类似
|
|
bool | locked |
| session 的锁定状态
|
|
bool | remote |
| 是否为远程状态
|
|
SessionClass | sessionClass |
| session的class
|
|
QString | desktop |
| 当前session运行的桌面环境
|
|
QString | display |
| x11显示名字的编码
|
|
QString | id |
| 当前session的id
|
|
QString | name |
| 用户名称
|
|
QString | remoteHost |
| 远程用户的host名称 如果当前session是远程,返回远程系统的host名, 否则返回空
|
|
QString | remoteUser |
| 远程用户的User名
|
|
QString | scope |
| 当前session的scope名字
|
|
QString | service |
| 注册使用身份认证的PAM服务
|
|
SessionState | state |
| 编码session的状态
|
|
QString | TTY |
| 如果为文本登陆返回对应内核的tty路径
|
|
SessionType | type |
| 当前session类型的编码
|
|
QString | seat |
| 编码这个session所处的位置
|
|
quint32 | user |
| 编码此会话所属用户的用户 ID
|
|
quint32 | audit |
| 此session ID的内核审计会话
|
|
quint32 | leader |
| 注册当前session进程的编码
|
|
quint32 | VTNr |
| 当前session的虚拟终端号
|
|
QDateTime | idleSinceHint |
| session空闲状态
|
|
quint64 | idleSinceHintMonotonic |
| session空闲状态
|
|
QDateTime | createdTime |
| 返回会话的创建时间
|
|
quint64 | createdTimeMonotonic |
| 以CLOCK_MONOTONIC的形式获取session创建的时间戳
|
|
◆ active()
bool DLoginSession::active |
( |
| ) |
const |
◆ addAutostart
bool DLoginSession::addAutostart |
( |
const QString & |
fileName | ) |
|
|
slot |
添加自动启动
- 参数
-
[in] | fileName | 传入一个文件名将添加这个文件的自动启动 |
- 返回
- 布尔值, 操作是否成功
◆ audit()
quint32 DLoginSession::audit |
( |
| ) |
const |
返回此session ID的内核审计会话
- 返回
- 该session的内核审计会话 ID
◆ autostartAdded
void DLoginSession::autostartAdded |
( |
const QString & |
fileName | ) |
|
|
signal |
◆ autostartList
QStringList DLoginSession::autostartList |
( |
| ) |
|
|
slot |
◆ autostartRemoved
void DLoginSession::autostartRemoved |
( |
const QString & |
fileName | ) |
|
|
signal |
◆ createdTime()
QDateTime DLoginSession::createdTime |
( |
| ) |
const |
获取session创建时间
- 返回
- session创建时间
◆ createdTimeMonotonic()
quint64 DLoginSession::createdTimeMonotonic |
( |
| ) |
const |
以CLOCK_MONOTONIC的形式获取session创建的时间戳
- 返回
- 创建session的时间戳
◆ desktop()
QString DLoginSession::desktop |
( |
| ) |
const |
返回当前session正在运行的桌面环境(如果是已知的话)
- 返回
- 当前session桌面环境的名字
◆ display()
QString DLoginSession::display |
( |
| ) |
const |
返回x11显示名字的编码
- 返回
- 图形并且x11登陆的显示名称
◆ id()
QString DLoginSession::id |
( |
| ) |
const |
编码当前session的id
- 返回
- session的id
◆ idleHint()
bool DLoginSession::idleHint |
( |
| ) |
const |
◆ idleSinceHint()
QDateTime DLoginSession::idleSinceHint |
( |
| ) |
const |
session空闲状态
- 返回
- session的空闲状态
◆ idleSinceHintMonotonic()
quint64 DLoginSession::idleSinceHintMonotonic |
( |
| ) |
const |
session空闲状态
- 返回
- session的空闲状态
◆ isAutostart
bool DLoginSession::isAutostart |
( |
const QString & |
fileName | ) |
|
|
slot |
是否自动启动
- 参数
-
[in] | fileName | 传入一个文件名将判断这个文件是否自动启动 |
- 返回
- 布尔值
◆ leader()
quint32 DLoginSession::leader |
( |
| ) |
const |
注册当前session进程的编码
- 返回
- 注册了当前session进程的编码
◆ locked()
bool DLoginSession::locked |
( |
| ) |
const |
读取session的锁定状态
- 返回
- session的锁定状态
◆ lockedChanged
void DLoginSession::lockedChanged |
( |
bool |
locked | ) |
|
|
signal |
◆ name()
QString DLoginSession::name |
( |
| ) |
const |
◆ remote()
bool DLoginSession::remote |
( |
| ) |
const |
判断session是本地的还是远程的
- 返回
- session是否是远程
◆ remoteHost()
QString DLoginSession::remoteHost |
( |
| ) |
const |
◆ remoteUser()
QString DLoginSession::remoteUser |
( |
| ) |
const |
远程session的用户名
- 返回
- 远程session的用户名
◆ removeAutostart
bool DLoginSession::removeAutostart |
( |
const QString & |
fileName | ) |
|
|
slot |
移除自动启动
- 参数
-
[in] | fileName | 传入一个文件名将移除这个文件的自动启动 |
- 返回
- 布尔值, 操作是否成功
◆ scope()
QString DLoginSession::scope |
( |
| ) |
const |
当前session的scope名字
- 返回
- 当前scope 名字
◆ seat()
QString DLoginSession::seat |
( |
| ) |
const |
编码这个session所处的位置
- 返回
- 当前session所处的位置
◆ service()
QString DLoginSession::service |
( |
| ) |
const |
返回注册使用身份认证的服务
- 返回
- 注册了这个session的PAM服务
◆ sessionClass()
返回session的class类型
- 返回
- session的会话类型 如 User, Greeter, LockScreen, Unknown中的任意一种
◆ setType
void DLoginSession::setType |
( |
DTK_LOGIN_NAMESPACE::SessionType |
type | ) |
|
|
slot |
更改session的类型
对应Login上的SetType() 方法。该方法允许动态改变会话类型, 只能由session当前的控制器调用。如果尚未调用TakeControl()方法, 这个方法会失效。此外, 一旦控制被释放, session类型会重置, 或者使用ReleaseControl方法或者关闭D-Bus连接可以实现重置的效果。这个应该有助于防止session进入不一致的状态, 比如控制器崩溃时候。唯一的参数 argument type是指的新的session 类型。
◆ state()
编码session的状态
- 返回
- session的状态 Online, Active, Closing, Unknown 其中一种
◆ TTY()
QString DLoginSession::TTY |
( |
| ) |
const |
如果为文本登陆返回对应内核的tty路径
- 返回
- 文本登陆时候对应内核的tty路径
◆ type()
当前session类型的编码 TTY, X11, Mir, Wayland, Unspecified其中一种
- 返回
- 当前session 类型的编码
◆ user()
quint32 DLoginSession::user |
( |
| ) |
const |
编码此会话所属用户的用户 ID
- 返回
- 返回一个Unix UID
◆ VTNr()
quint32 DLoginSession::VTNr |
( |
| ) |
const |
当前session的虚拟终端号
- 返回
- 当前session的虚拟终端号
◆ audit
此session ID的内核审计会话
如果会话的审计可用, 返回内核的审计会话id
◆ createdTime
DLoginSession::createdTime |
|
read |
返回会话的创建时间
timestamp 返回CLOCK_REALTIME。CLOCK_REALTIME 是对于机器绝对时间的猜测。
◆ createdTimeMonotonic
DLoginSession::createdTimeMonotonic |
|
read |
以CLOCK_MONOTONIC的形式获取session创建的时间戳
timestampMonotonic() 返回CLOCK_MONOTONIC,该时间表示来自过去某个任意点经过的绝对时间, 不受系统时钟变化影响
◆ display
x11显示名字的编码
如果当前会话是x11图形登陆, display会对x11显示名称进行编码, 如果不是, 返回空字符串
◆ idleSinceHint
DLoginSession::idleSinceHint |
|
read |
session空闲状态
描述session的空闲状态,类似于管理器对象上各个属性如何为整个系统执行操作
◆ idleSinceHintMonotonic
DLoginSession::idleSinceHintMonotonic |
|
read |
session空闲状态
描述session的空闲状态,类似于管理器对象上各个属性如何为整个系统执行操作
◆ locked
session 的锁定状态
该函数显示这个session的锁定状态, 由setLockedHint 函数进行定义, dbus中为SetLockedHint方法
◆ name
◆ remote
是否为远程状态
该函数返回session是远程还是本地的状态
◆ remoteUser
DLoginSession::remoteUser |
|
read |
远程用户的User名
如果当前session是远程会话, 返回远程会话的当前的用户名, 否则返回空
◆ seat
编码这个session所处的位置
返回这个session所处的位置, 如果存在的话。返回值是一个seat id
◆ sessionClass
DLoginSession::sessionClass |
|
read |
session的class
_class() 函数编码。它是"user"(给普通的用户会话), "greeter"给显示管理器的伪会话或者"lock-screen" (给关闭窗口会话)
◆ state
编码session的状态
session有3种状态, "online","active","closing"。当session已经登陆了但是没有active,也就是说没有在前景上显示, 显示为online;当session已经登陆了并且active了, 也就是说在前景上显示, 此时状态显示为"active",当session 正常退出, 但是session的一些进程仍然存在时候, 返回为closing。在未来可能会根据新的需求增加其他状态
◆ TTY
如果为文本登陆返回对应内核的tty路径
如果当前session是text login,返回tty的路径, 否则返回空字符串
◆ type
当前session类型的编码
该函数会返回"unspecified"(未指定, 给PAM sessions或者其他类似的session), TTY(给 text logins), 或者"x11"/"mir"/"wayland"(图形界面登陆)
◆ user
编码此会话所属用户的用户 ID
该函数编码此会话所属用户的用户 ID。返回值是一个Unix UID
该类的文档由以下文件生成: