dtkio
dtk library for dtkio.
|
用于管理系统中块设备的类,对设备进行挂载、卸载等操作,以及获取其基本属性 更多...
#include <dblockdevice.h>
Public 类型 | |
enum | PartitionTableType { InvalidPT , MBR , GPT , UnknownPT } |
磁盘分区类型 更多... | |
Public 槽 | |
void | format (const QString &type, const QVariantMap &options) |
格式化设备 | |
QList< QPair< QString, QVariantMap > > | getSecretConfiguration (const QVariantMap &options) |
获取包含加密信息的配置信息 | |
void | addConfigurationItem (const QPair< QString, QVariantMap > &item, const QVariantMap &options) |
添加新的配置项 | |
void | removeConfigurationItem (const QPair< QString, QVariantMap > &item, const QVariantMap &options) |
移除配置项 | |
void | updateConfigurationItem (const QPair< QString, QVariantMap > &oldItem, const QPair< QString, QVariantMap > &newItem, const QVariantMap &options) |
更新配置项 | |
int | openDevice (const QString &mode, const QVariantMap &options) |
打开设备 | |
int | openForBackup (const QVariantMap &options) |
以只读方式打开设备以便可以按字节镜像设备内容,仅在设备未使用时该方法操作有效 | |
int | openForBenchmark (const QVariantMap &options) |
打开设备以便可以对设备进行跑分操作 | |
int | openForRestore (const QVariantMap &options) |
打开一个可写设备,用于还原设备数据,仅在设备未使用是该方法有效 | |
void | rescan (const QVariantMap &options) |
重新扫描设备 | |
QString | mount (const QVariantMap &options) |
挂载设备 | |
void | unmount (const QVariantMap &options) |
卸载设备 | |
void | setLabel (const QString &label, const QVariantMap &options) |
设置磁盘卷标 | |
void | changePassphrase (const QString &passphrase, const QString &newPassphrase, const QVariantMap &options) |
修改磁盘密码 | |
void | lock (const QVariantMap &options) |
给加密设备上锁 | |
QString | unlock (const QString &passphrase, const QVariantMap &options) |
给加密设备解锁 | |
QString | cleartextDevice () |
获取加密设备对应的明文设备对象路径 | |
信号 | |
void | hasFileSystemChanged (bool hasFileSystem) |
通知文件系统的有无发生变化 | |
void | hasPartitionChanged (bool hasPartition) |
通知分区有无状态发生变化 | |
void | isEncryptedChanged (bool isEncrypted) |
通知加密状态发生变化 | |
void | configurationChanged (QList< QPair< QString, QVariantMap > > configuration) |
通知配置列表发生变化 | |
void | cryptoBackingDeviceChanged (QString cryptoBackingDevice) |
通知加密设备路径发生变化 | |
void | hintAutoChanged (bool hintAuto) |
通知自动开启属性变化 | |
void | hintIconNameChanged (QString hintIconName) |
通知磁盘建议图标名称变化 | |
void | hintIgnoreChanged (bool hintIgnore) |
通知磁盘忽略属性变化 | |
void | hintNameChanged (QString hintName) |
通知磁盘建议名称发生变化 | |
void | hintPartitionableChanged (bool hintPartitionable) |
通知磁盘可分区属性发生变化 | |
void | hintSymbolicIconNameChanged (QString hintSymbolicIconName) |
通知磁盘建议符号图标名称发生变化 | |
void | idLabelChanged (QString idLabel) |
通知磁盘卷标发生变化 | |
void | idTypeChanged (QString idType) |
通知磁盘 idType 发生变化 | |
void | fsTypeChanged (QString fsType) |
通知磁盘文件系统类型发生变化 | |
void | idUUIDChanged (QString idUUID) |
通知磁盘 UUID 发生变化 | |
void | idUsageChanged (QString idUsage) |
通知磁盘 idUsage 发生变化 | |
void | idVersionChanged (QString idVersion) |
通知磁盘文件系统版本发生变化 | |
void | mDRaidChanged (QString mDRaid) |
通知磁盘阵列属性发生变化 | |
void | mDRaidMemberChanged (QString mDRaidMember) |
通知磁盘阵列成员发生变化 | |
void | preferredDeviceChanged (QByteArray preferredDevice) |
通知磁盘最佳设备描述符发生变化 | |
void | readOnlyChanged (bool readOnly) |
通知磁盘只读属性发生变化 | |
void | sizeChanged (quint64 size) |
通知磁盘大小发生变化 | |
void | symlinksChanged (QByteArrayList symlinks) |
通知磁盘设备链接发生变化 | |
void | userspaceMountOptionsChanged (QStringList userspaceMountOptions) |
通知磁盘用户态挂载选项发生变化 | |
void | ptTypeChanged () |
通知磁盘分区类型发生变化 | |
void | mountPointsChanged (const QByteArrayList &mountPoints) |
通知磁盘设备挂载点发生变化 | |
void | childConfigurationChanged (QList< QPair< QString, QVariantMap > > childConfiguration) |
通知磁盘子配置列表发生变化 | |
void | cleartextDeviceChanged (const QString &cleartextDevice) |
通知磁盘明文设备内容发生变化 | |
Public 成员函数 | |
bool | isValid () const |
判断设备是否为有效设备,若构造时传入了无效的路径,则返回 False | |
void | setWatchChanges (bool watchChanges) |
设置是否监听设备属性变化 | |
bool | watchChanges () const |
获取当前设备监听状态 | |
QString | path () const |
获取设备路径,该路径在构造对象时传入 | |
QList< QPair< QString, QVariantMap > > | configuration () const |
获取设备配置列表 | |
QString | cryptoBackingDevice () const |
获取设备的加密块设备 | |
QByteArray | device () const |
获取块设备在系统中的设备描述符 | |
quint64 | deviceNumber () const |
获取设备对应的 dev_t 设备号 | |
QString | drive () const |
获取设备对应的磁盘驱动器路径 | |
bool | hintAuto () const |
获取设备是否应自动启动 | |
QString | hintIconName () const |
获取用于展示设备的图标名称 | |
bool | hintIgnore () const |
获取设备是否应被忽略 | |
QString | hintName () const |
用于展示设备的磁盘名称 | |
bool | hintPartitionable () const |
获取设备是否可分区,软盘、光驱和 LVM 逻辑卷除外 | |
QString | hintSymbolicIconName () const |
获取用于展示设备的符号图标 | |
bool | hintSystem () const |
获取设备是否为系统内置磁盘 | |
QString | id () const |
获取设备唯一标识符 | |
QString | idLabel () const |
获取磁盘卷标,通常用于显示磁盘名称 | |
QString | idType () const |
通常情况下,用于获取设备文件系统,但在 idUsage 为非 fileSystem 时,有其他表意 | |
QString | idUUID () const |
获取设备 UUID | |
QString | idUsage () const |
获取设备 ID 用途 | |
QString | idVersion () const |
设备文件系统版本或其他结构属性 | |
QString | mDRaid () const |
如果是阵列设备,该函数返回设备的阵列对象路径 | |
QString | mDRaidMember () const |
如果设备是阵列成员,则返回阵列对象路径 | |
QByteArray | preferredDevice () const |
获取最佳设备路径,例如,对于设备 /dev/mapper/mpathk,对应的路径为 /dev/dm-9 | |
bool | readOnly () const |
获取是否为只读设备 | |
quint64 | size () const |
获取块设备大小 | |
QByteArrayList | symlinks () const |
获取设备对应的链接列表 | |
QStringList | userspaceMountOptions () const |
获取挂载时的参数列表 | |
bool | canSetLabel () const |
获取磁盘能否设置卷标 | |
bool | hasFileSystem () const |
获取设备是否有文件系统 | |
bool | hasPartition () const |
获取设备是否有分区 | |
bool | isEncrypted () const |
获取设备是否是加密设备 | |
bool | isLoopDevice () const |
获取设备是否是回环设备 | |
QByteArrayList | mountPoints () const |
获取设备挂载点列表 | |
PartitionTableType | partitionTableType () const |
获取设备分区表类型 | |
QList< QPair< QString, QVariantMap > > | childConfiguration () const |
获取设备子配置列表 | |
静态 Public 成员函数 | |
static bool | hasFileSystem (const QString &path) |
获取设备是否有文件系统 | |
static bool | hasPartition (const QString &path) |
获取设备是否有分区 | |
static bool | isEncrypted (const QString &path) |
获取设备是否是加密 | |
static bool | isLoopDevice (const QString &path) |
获取是否为回环设备 | |
Protected 成员函数 | |
DBlockDevice (const QString &path, QObject *parent=nullptr) | |
DBlockDevice (DBlockDevicePrivate &dd, const QString &path, QObject *parent=nullptr) | |
Protected 属性 | |
QScopedPointer< DBlockDevicePrivate > | d_ptr |
属性 | |
QString | path |
bool | watchChanges |
bool | hasFileSystem |
bool | hasPartition |
bool | isEncrypted |
bool | isLoopDevice |
QListQPair< QString, QVariantMap > | configuration |
QString | cryptoBackingDevice |
QByteArray | device |
quint64 | deviceNumber |
QString | drive |
bool | hintAuto |
QString | hintIconName |
bool | hintIgnore |
QString | hintName |
bool | hintPartitionable |
QString | hintSymbolicIconName |
bool | hintSystem |
QString | id |
QString | idLabel |
QString | idType |
QString | idUUID |
QString | idUsage |
QString | idVersion |
QString | mDRaid |
QString | mDRaidMember |
QByteArray | preferredDevice |
bool | readOnly |
quint64 | size |
QByteArrayList | symlinks |
QStringList | userspaceMountOptions |
QByteArrayList | mountPoints |
PartitionTableType | partitionTableType |
QListQPair< QString, QVariantMap > | childConfiguration |
QString | cleartextDevice |
友元 | |
DExpected< DBlockDevice * > | DDeviceManager::createBlockDevice (const QString &path, QObject *parent) |
DExpected< DBlockDevice * > | DDeviceManager::createBlockDeviceByDevicePath (const QByteArray &path, QObject *parent) |
用于管理系统中块设备的类,对设备进行挂载、卸载等操作,以及获取其基本属性
|
slot |
添加新的配置项
[in] | item | 添加的配置项 |
[in] | options | 除标准参数外暂未使用 |
bool DBlockDevice::canSetLabel | ( | ) | const |
|
slot |
修改磁盘密码
[in] | passphrase | 旧密码 |
[in] | newPassphrase | 新密码 |
[in] | options | 设置选项 |
QList< QPair< QString, QVariantMap > > DBlockDevice::childConfiguration | ( | ) | const |
获取设备子配置列表
|
signal |
通知磁盘子配置列表发生变化
[out] | childConfiguration | 新的子配置列表 |
|
slot |
获取加密设备对应的明文设备对象路径
|
signal |
通知磁盘明文设备内容发生变化
[out] | cleartextDevice | 新的明文设备路径 |
QList< QPair< QString, QVariantMap > > DBlockDevice::configuration | ( | ) | const |
获取设备配置列表
|
signal |
通知配置列表发生变化
[out] | configuration | 新的配置列表 |
QString DBlockDevice::cryptoBackingDevice | ( | ) | const |
获取设备的加密块设备
非空字符串 | 具体路径 |
/ | 未知或者非加密设备 |
|
signal |
通知加密设备路径发生变化
[out] | cryptoBackingDevice | 新的加密设备路径 |
QByteArray DBlockDevice::device | ( | ) | const |
获取块设备在系统中的设备描述符
quint64 DBlockDevice::deviceNumber | ( | ) | const |
获取设备对应的 dev_t 设备号
QString DBlockDevice::drive | ( | ) | const |
|
slot |
格式化设备
[in] | type | 期望格式化的文件系统类型 |
[in] | options | 格式化参数 |
|
signal |
通知磁盘文件系统类型发生变化
[out] | fsType | 新的文件系统类型 |
|
slot |
获取包含加密信息的配置信息
[in] | options | 除标准参数外暂未使用 |
bool DBlockDevice::hasFileSystem | ( | ) | const |
获取设备是否有文件系统
|
static |
获取设备是否有文件系统
[in] | path | 设备路径 |
|
signal |
通知文件系统的有无发生变化
[out] | hasFileSystem | 新的文件系统存在状态 |
bool DBlockDevice::hasPartition | ( | ) | const |
获取设备是否有分区
|
static |
获取设备是否有分区
[in] | path | 设备路径 |
|
signal |
通知分区有无状态发生变化
[out] | hasPartition | 新的分区存在状态 |
bool DBlockDevice::hintAuto | ( | ) | const |
获取设备是否应自动启动
|
signal |
通知自动开启属性变化
[out] | hintAuto | 新的自动开启属性值 |
QString DBlockDevice::hintIconName | ( | ) | const |
获取用于展示设备的图标名称
|
signal |
通知磁盘建议图标名称变化
[out] | hintIconName | 新的建议图标名称 |
bool DBlockDevice::hintIgnore | ( | ) | const |
获取设备是否应被忽略
|
signal |
通知磁盘忽略属性变化
[out] | hintIgnore | 新的忽略属性 |
QString DBlockDevice::hintName | ( | ) | const |
用于展示设备的磁盘名称
|
signal |
通知磁盘建议名称发生变化
[out] | hintName | 新的建议名称 |
bool DBlockDevice::hintPartitionable | ( | ) | const |
获取设备是否可分区,软盘、光驱和 LVM 逻辑卷除外
|
signal |
通知磁盘可分区属性发生变化
[out] | hintPartitionable | 新的可分区属性 |
QString DBlockDevice::hintSymbolicIconName | ( | ) | const |
获取用于展示设备的符号图标
|
signal |
通知磁盘建议符号图标名称发生变化
[out] | hintSymbolicIconName | 新的符号图标名称 |
bool DBlockDevice::hintSystem | ( | ) | const |
获取设备是否为系统内置磁盘
QString DBlockDevice::id | ( | ) | const |
获取设备唯一标识符
QString DBlockDevice::idLabel | ( | ) | const |
获取磁盘卷标,通常用于显示磁盘名称
|
signal |
通知磁盘卷标发生变化
[out] | idLabel | 新的卷标名称 |
QString DBlockDevice::idType | ( | ) | const |
通常情况下,用于获取设备文件系统,但在 idUsage 为非 fileSystem 时,有其他表意
|
signal |
通知磁盘 idType 发生变化
[out] | idType | 新的 idType 名称 |
QString DBlockDevice::idUsage | ( | ) | const |
获取设备 ID 用途
filesystem | 可变的文件系统 |
crypto | LUKS 类设备 |
raid | RAID 类设备 |
other | 其他类型设备 |
|
signal |
通知磁盘 idUsage 发生变化
[out] | idUsage | 新的类型 |
QString DBlockDevice::idUUID | ( | ) | const |
获取设备 UUID
|
signal |
通知磁盘 UUID 发生变化
[out] | idUUID | 新的 UUID |
QString DBlockDevice::idVersion | ( | ) | const |
设备文件系统版本或其他结构属性
|
signal |
通知磁盘文件系统版本发生变化
[out] | idVersion | 新的文件系统版本 |
bool DBlockDevice::isEncrypted | ( | ) | const |
获取设备是否是加密设备
|
static |
获取设备是否是加密
[in] | path | 设备路径 |
|
signal |
通知加密状态发生变化
[out] | isEncrypted | 新的加密状态 |
bool DBlockDevice::isLoopDevice | ( | ) | const |
获取设备是否是回环设备
|
static |
获取是否为回环设备
[in] | path | 设备路径 |
bool DBlockDevice::isValid | ( | ) | const |
判断设备是否为有效设备,若构造时传入了无效的路径,则返回 False
|
slot |
给加密设备上锁
[in] | options | 除标准参数外暂未使用 |
QString DBlockDevice::mDRaid | ( | ) | const |
如果是阵列设备,该函数返回设备的阵列对象路径
|
signal |
通知磁盘阵列属性发生变化
[out] | mDRaid | 新的阵列属性 |
QString DBlockDevice::mDRaidMember | ( | ) | const |
如果设备是阵列成员,则返回阵列对象路径
|
signal |
通知磁盘阵列成员发生变化
[out] | mDRaidMember | 新的阵列成员 |
|
slot |
挂载设备
[in] | options | 挂载参数 |
QByteArrayList DBlockDevice::mountPoints | ( | ) | const |
获取设备挂载点列表
|
signal |
通知磁盘设备挂载点发生变化
[out] | mountPoints | 新的挂载点列表 |
|
slot |
打开设备
[in] | mode | “r” 只读,“w” 只写,“rw” 读写 |
[in] | options | 参数列表 |
|
slot |
以只读方式打开设备以便可以按字节镜像设备内容,仅在设备未使用时该方法操作有效
[in] | options | 除标准参数外暂未使用 |
|
slot |
打开设备以便可以对设备进行跑分操作
[in] | options | 除标准参数外暂未使用 |
|
slot |
打开一个可写设备,用于还原设备数据,仅在设备未使用是该方法有效
[in] | options | 除标准参数外暂未使用 |
PartitionTableType DBlockDevice::partitionTableType | ( | ) | const |
QString DBlockDevice::path | ( | ) | const |
获取设备路径,该路径在构造对象时传入
QByteArray DBlockDevice::preferredDevice | ( | ) | const |
获取最佳设备路径,例如,对于设备 /dev/mapper/mpathk,对应的路径为 /dev/dm-9
|
signal |
通知磁盘最佳设备描述符发生变化
[out] | preferredDevice | 新的最佳设备描述符 |
bool DBlockDevice::readOnly | ( | ) | const |
获取是否为只读设备
|
signal |
通知磁盘只读属性发生变化
[out] | readOnly | 新的只读属性 |
|
slot |
移除配置项
[in] | item | 要移除的配置项 |
[in] | options | 除标准参数外暂未使用 |
|
slot |
重新扫描设备
[in] | options | 除标准参数外暂未使用 |
|
slot |
设置磁盘卷标
[in] | label | 新的磁盘卷标 |
[in] | options | 参数 |
void DBlockDevice::setWatchChanges | ( | bool | watchChanges | ) |
设置是否监听设备属性变化
[in] | watchChanges | 开关标识 |
quint64 DBlockDevice::size | ( | ) | const |
获取块设备大小
|
signal |
通知磁盘大小发生变化
[out] | size | 新的磁盘大小 |
QByteArrayList DBlockDevice::symlinks | ( | ) | const |
获取设备对应的链接列表
|
signal |
通知磁盘设备链接发生变化
[out] | symlinks | 新的设备链接列表 |
|
slot |
给加密设备解锁
[in] | passphrase | 解锁密码 |
[in] | options | 参数列表 |
|
slot |
卸载设备
[in] | options | 卸载参数 |
|
slot |
更新配置项
[in] | oldItem | 要移除的配置项 |
[in] | newItem | 添加的配置项 |
[in] | options | 除标准参数外暂未使用 |
QStringList DBlockDevice::userspaceMountOptions | ( | ) | const |
获取挂载时的参数列表
|
signal |
通知磁盘用户态挂载选项发生变化
[out] | userspaceMoutnOptions | 新的用户态挂载参数列表 |
bool DBlockDevice::watchChanges | ( | ) | const |