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"