11#include <qscopedpointer.h>
12using PowerHistoryList = QList<DTK_POWER_NAMESPACE::History>;
13using PowerStatisticList = QList<DTK_POWER_NAMESPACE::Statistic>;
16using DCORE_NAMESPACE::DExpected;
18class DPowerDevicePrivate;
26 Q_PROPERTY(
bool hasHistory READ hasHistory);
27 Q_PROPERTY(
bool hasStatistics READ hasStatistics);
28 Q_PROPERTY(
bool isPresent READ isPresent);
29 Q_PROPERTY(
bool isRechargeable READ isRechargeable);
30 Q_PROPERTY(
bool online READ online);
31 Q_PROPERTY(
bool powerSupply READ powerSupply);
32 Q_PROPERTY(
double capacity READ capacity);
33 Q_PROPERTY(
double energy READ energy NOTIFY energyChanged);
34 Q_PROPERTY(
double energyEmpty READ energyEmpty);
35 Q_PROPERTY(
double energyFull READ energyFull);
36 Q_PROPERTY(
double energyFullDesign READ energyFullDesign);
37 Q_PROPERTY(
double energyRate READ energyRate NOTIFY energyRateChanged);
38 Q_PROPERTY(
double luminosity READ luminosity);
39 Q_PROPERTY(
double percentage READ percentage NOTIFY percentageChanged);
40 Q_PROPERTY(
double temperature READ temperature);
41 Q_PROPERTY(
double voltage READ voltage);
42 Q_PROPERTY(uint chargeCycles READ chargeCycles);
43 Q_PROPERTY(qint64 timeToEmpty READ timeToEmpty NOTIFY timeToEmptyChanged);
44 Q_PROPERTY(qint64 timeToFull READ timeToFull NOTIFY timeToFullChanged);
45 Q_PROPERTY(QString iconName READ iconName NOTIFY iconNameChanged);
46 Q_PROPERTY(QString model READ model);
47 Q_PROPERTY(QString nativePath READ nativePath);
48 Q_PROPERTY(QString serial READ serial);
49 Q_PROPERTY(QString vendor READ vendor);
50 Q_PROPERTY(uint batteryLevel READ batteryLevel);
51 Q_PROPERTY(uint state READ state);
52 Q_PROPERTY(uint technology READ technology);
53 Q_PROPERTY(uint type READ type);
54 Q_PROPERTY(uint warningLevel READ warningLevel);
55 Q_PROPERTY(QDateTime updateTime READ updateTime NOTIFY updateTimeChanged);
56 Q_PROPERTY(QString deviceName READ deviceName);
100 DExpected<PowerHistoryList>
history(
const QString &type,
102 const uint resolution)
const;
103 DExpected<PowerStatisticList>
statistics(
const QString &type)
const;
107 QScopedPointer<DPowerDevicePrivate> d_ptr;
110 explicit DPowerDevice(
const QString &name, QObject *parent =
nullptr);
电源设备类,用于管理电源设备的数据和属性
Definition dpowerdevice.h:21
bool isPresent() const
电源设备是否有电源设备具有统计信息
quint32 technology() const
电池使用技术
double temperature() const
设备的温度, 以摄氏度为单位。
void energyRateChanged(const double value)
电源消耗的能量发生改变, 以W为单位
bool isRechargeable() const
电源设备是否可充电
quint32 state() const
电池电量状态
qint64 timeToFull() const
电池充电达到被认为充满所需的秒数。如果未知, 则设置为0
bool powerSupply() const
如果电源设备用于为系统供电。对于笔记本电脑电池和UPS设备, 这将设置为TRUE, 但对于无线鼠标或掌上电脑设置为FALSE。
DExpected< PowerHistoryList > history(const QString &type, const uint timespan, const uint resolution) const
获取在重新引导期间持续存在的电源设备的历史记录
double percentage() const
功率源中剩余的能量表示为0和100之间的百分比。
double energyEmpty() const
当电源被认为是空的时, 电源中的能量 (以Wh为单位)
void iconNameChanged(const QString &value)
电源图标发生改变
QString model() const
这种电池型号的名称
void energyChanged(const double value)
电源中当前可用的能量发生改变
void updateTimeChanged(const QDateTime &value)
从电源读取数据的时间点发生改变
double energyFull() const
当电源被认为充满时, 电源中的能量 (以Wh为单位)
void timeToEmptyChanged(const qint64 value)
电源消耗到空的时间发生改变
DExpected< void > refresh()
刷新信息
quint32 batteryLevel() const
不报告百分比而是报告粗略电池电量的设备的电池电量。如果该值为None, 则该设备不支持粗略的电池报告, 应改用百分比
bool online() const
电源设备当前是否通过线路电源提供电源。仅当属性类型具有值 line-power 时, 此属性才有效。
QString serial() const
电池的唯一序列号
QString iconName() const
图标名称, 遵循图标命名规范
QString nativePath() const
操作系统特定的电源本机路径。在Linux上, 这是sysfs路径, 例如/sys/devices/LNXSYSTM:00/device:00/PNP0C0A:00/power_supply/BAT0....
double energy() const
电源中当前可用的能量 (以Wh为单位)
double capacity() const
电源的容量表示为0和100之间的百分比。
qint64 timeToEmpty() const
直到电源被认为是空的秒数。如果未知, 则设置为0
double voltage() const
电池中的电压或被仪表记录的值。
qint32 chargeCycles() const
TCO认证定义的充电周期数, 如果该值未知或不适用, 则为-1。(systemd>=251)
bool hasHistory() const
电源设备是否有历史记录
QString vendor() const
电池供应商的名称
quint32 warningLevel() const
电池警告级别
double luminosity() const
仪表记录的光度
double energyRate() const
电源消耗的能量, 以W为单位。如果是正数, 电源正在放电, 如果是负数, 电源正在充电
void percentageChanged(const double value)
电源百分比发生改变
double energyFullDesign() const
电池设计的最大容量, 以Wh作为单位
QString deviceName() const
获取当前device名称(唯一id)
void timeToFullChanged(const qint64 value)
电源充满时间发生改变
QDateTime updateTime() const
从电源读取数据的时间点 (从世界协调时1970年1月1日开始的0:00秒)。(本质还是unix时间戳)
bool hasStatistics() const
电源设备是否有电源设备具有统计信息
DExpected< PowerStatisticList > statistics(const QString &type) const
获取功率设备的统计信息, 这些统计信息可能会在会话中的图形界面上显示
电源设备管理类, 用于管理电源设备, 包括电源设备的创建, 电源设备的属性获取, 电源设备的状态获取等
Definition dpowermanager.h:20