File indexing completed on 2024-05-12 04:01:50
0001 /* 0002 SPDX-FileCopyrightText: 2006-2007 Kevin Ottens <ervin@kde.org> 0003 SPDX-FileCopyrightText: 2012 Lukas Tinkl <ltinkl@redhat.com> 0004 SPDX-FileCopyrightText: 2014 Kai Uwe Broulik <kde@privat.broulik.de> 0005 0006 SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL 0007 */ 0008 0009 #include "battery.h" 0010 #include "battery_p.h" 0011 0012 #include "soliddefs_p.h" 0013 #include <solid/devices/ifaces/battery.h> 0014 0015 Solid::Battery::Battery(QObject *backendObject) 0016 : DeviceInterface(*new BatteryPrivate(), backendObject) 0017 { 0018 connect(backendObject, SIGNAL(presentStateChanged(bool, QString)), this, SIGNAL(presentStateChanged(bool, QString))); 0019 0020 connect(backendObject, SIGNAL(chargePercentChanged(int, QString)), this, SIGNAL(chargePercentChanged(int, QString))); 0021 0022 connect(backendObject, SIGNAL(capacityChanged(int, QString)), this, SIGNAL(capacityChanged(int, QString))); 0023 0024 connect(backendObject, SIGNAL(powerSupplyStateChanged(bool, QString)), this, SIGNAL(powerSupplyStateChanged(bool, QString))); 0025 0026 connect(backendObject, SIGNAL(chargeStateChanged(int, QString)), this, SIGNAL(chargeStateChanged(int, QString))); 0027 0028 connect(backendObject, SIGNAL(timeToEmptyChanged(qlonglong, QString)), this, SIGNAL(timeToEmptyChanged(qlonglong, QString))); 0029 0030 connect(backendObject, SIGNAL(timeToFullChanged(qlonglong, QString)), this, SIGNAL(timeToFullChanged(qlonglong, QString))); 0031 0032 connect(backendObject, SIGNAL(energyChanged(double, QString)), this, SIGNAL(energyChanged(double, QString))); 0033 0034 connect(backendObject, SIGNAL(energyFullChanged(double, QString)), this, SIGNAL(energyFullChanged(double, QString))); 0035 0036 connect(backendObject, SIGNAL(energyFullDesignChanged(double, QString)), this, SIGNAL(energyFullDesignChanged(double, QString))); 0037 0038 connect(backendObject, SIGNAL(energyRateChanged(double, QString)), this, SIGNAL(energyRateChanged(double, QString))); 0039 0040 connect(backendObject, SIGNAL(voltageChanged(double, QString)), this, SIGNAL(voltageChanged(double, QString))); 0041 0042 connect(backendObject, SIGNAL(temperatureChanged(double, QString)), this, SIGNAL(temperatureChanged(double, QString))); 0043 0044 connect(backendObject, SIGNAL(remainingTimeChanged(qlonglong, QString)), this, SIGNAL(remainingTimeChanged(qlonglong, QString))); 0045 } 0046 0047 Solid::Battery::~Battery() 0048 { 0049 } 0050 0051 bool Solid::Battery::isPresent() const 0052 { 0053 Q_D(const Battery); 0054 return_SOLID_CALL(Ifaces::Battery *, d->backendObject(), false, isPresent()); 0055 } 0056 0057 Solid::Battery::BatteryType Solid::Battery::type() const 0058 { 0059 Q_D(const Battery); 0060 return_SOLID_CALL(Ifaces::Battery *, d->backendObject(), UnknownBattery, type()); 0061 } 0062 0063 int Solid::Battery::chargePercent() const 0064 { 0065 Q_D(const Battery); 0066 return_SOLID_CALL(Ifaces::Battery *, d->backendObject(), 0, chargePercent()); 0067 } 0068 0069 int Solid::Battery::capacity() const 0070 { 0071 Q_D(const Battery); 0072 return_SOLID_CALL(Ifaces::Battery *, d->backendObject(), 100, capacity()); 0073 } 0074 0075 bool Solid::Battery::isRechargeable() const 0076 { 0077 Q_D(const Battery); 0078 return_SOLID_CALL(Ifaces::Battery *, d->backendObject(), false, isRechargeable()); 0079 } 0080 0081 bool Solid::Battery::isPowerSupply() const 0082 { 0083 Q_D(const Battery); 0084 return_SOLID_CALL(Ifaces::Battery *, d->backendObject(), true, isPowerSupply()); 0085 } 0086 0087 Solid::Battery::ChargeState Solid::Battery::chargeState() const 0088 { 0089 Q_D(const Battery); 0090 return_SOLID_CALL(Ifaces::Battery *, d->backendObject(), NoCharge, chargeState()); 0091 } 0092 0093 qlonglong Solid::Battery::timeToEmpty() const 0094 { 0095 Q_D(const Battery); 0096 return_SOLID_CALL(Ifaces::Battery *, d->backendObject(), 0, timeToEmpty()); 0097 } 0098 0099 qlonglong Solid::Battery::timeToFull() const 0100 { 0101 Q_D(const Battery); 0102 return_SOLID_CALL(Ifaces::Battery *, d->backendObject(), 0, timeToFull()); 0103 } 0104 0105 Solid::Battery::Technology Solid::Battery::technology() const 0106 { 0107 Q_D(const Battery); 0108 return_SOLID_CALL(Ifaces::Battery *, d->backendObject(), UnknownTechnology, technology()); 0109 } 0110 0111 double Solid::Battery::energy() const 0112 { 0113 Q_D(const Battery); 0114 return_SOLID_CALL(Ifaces::Battery *, d->backendObject(), 0.0, energy()); 0115 } 0116 0117 double Solid::Battery::energyFull() const 0118 { 0119 Q_D(const Battery); 0120 return_SOLID_CALL(Ifaces::Battery *, d->backendObject(), 0.0, energyFull()); 0121 } 0122 0123 double Solid::Battery::energyFullDesign() const 0124 { 0125 Q_D(const Battery); 0126 return_SOLID_CALL(Ifaces::Battery *, d->backendObject(), 0.0, energyFullDesign()); 0127 } 0128 0129 double Solid::Battery::energyRate() const 0130 { 0131 Q_D(const Battery); 0132 return_SOLID_CALL(Ifaces::Battery *, d->backendObject(), 0.0, energyRate()); 0133 } 0134 0135 double Solid::Battery::voltage() const 0136 { 0137 Q_D(const Battery); 0138 return_SOLID_CALL(Ifaces::Battery *, d->backendObject(), 0.0, voltage()); 0139 } 0140 0141 double Solid::Battery::temperature() const 0142 { 0143 Q_D(const Battery); 0144 return_SOLID_CALL(Ifaces::Battery *, d->backendObject(), 0.0, temperature()); 0145 } 0146 0147 QString Solid::Battery::serial() const 0148 { 0149 Q_D(const Battery); 0150 return_SOLID_CALL(Ifaces::Battery *, d->backendObject(), QString(), serial()); 0151 } 0152 0153 qlonglong Solid::Battery::remainingTime() const 0154 { 0155 Q_D(const Battery); 0156 return_SOLID_CALL(Ifaces::Battery *, d->backendObject(), -1, remainingTime()); 0157 } 0158 0159 #include "moc_battery.cpp"