void Battery::setChargeState(ChargeState cs) { if (m_chargeState != cs) { m_chargeState = cs; emit chargeStateChanged(); } }
Battery::Battery(const QString &udi, QObject *parent) : QObject(parent) , m_device(Solid::Device(udi)) { // qCDebug(BATTERY) << "Added battery" << udi; m_battery = m_device.as<Solid::Battery>(); connect(m_battery, &Solid::Battery::chargePercentChanged, [this](int, const QString &) { Q_EMIT chargePercentChanged(); }); connect(m_battery, &Solid::Battery::capacityChanged, [this](int, const QString &) { Q_EMIT capacityChanged(); }); connect(m_battery, &Solid::Battery::powerSupplyStateChanged, [this](bool, const QString &) { Q_EMIT powerSupplyChanged(); }); connect(m_battery, &Solid::Battery::chargeStateChanged, [this](int, const QString &) { Q_EMIT chargeStateChanged(); }); connect(m_battery, &Solid::Battery::timeToEmptyChanged, [this](qlonglong, const QString &) { Q_EMIT timeToEmptyChanged(); }); connect(m_battery, &Solid::Battery::timeToFullChanged, [this](qlonglong, const QString &) { Q_EMIT timeToFullChanged(); }); connect(m_battery, &Solid::Battery::chargeStateChanged, [this](int, const QString &) { Q_EMIT chargeStateChanged(); }); connect(m_battery, &Solid::Battery::energyChanged, [this](double, const QString &) { Q_EMIT energyChanged(); }); connect(m_battery, &Solid::Battery::energyRateChanged, [this](double, const QString &) { Q_EMIT energyRateChanged(); }); connect(m_battery, &Solid::Battery::voltageChanged, [this](double, const QString &) { Q_EMIT voltageChanged(); }); connect(m_battery, &Solid::Battery::temperatureChanged, [this](double, const QString &) { Q_EMIT temperatureChanged(); }); }
void ChargeMonitor::onEvent(const event::Event& event) { switch (event.id) { case EVENT_UPDATE: update(); break; case EVENT_CHARGE_STATE: chargeStateChanged(event.param); break; } }