Solid::Ifaces::Battery Class

class Solid::Ifaces::Battery
Header: #include <Battery>
CMake: find_package(KF6 REQUIRED COMPONENTS Solid)
target_link_libraries(mytarget PRIVATE KF6::Solid)
Inherits: Solid::Ifaces::DeviceInterface

Public Functions

virtual ~Battery() override
virtual int capacity() const = 0
virtual int chargePercent() const = 0
virtual Solid::Battery::ChargeState chargeState() const = 0
virtual double energy() const = 0
virtual double energyFull() const = 0
virtual double energyFullDesign() const = 0
virtual double energyRate() const = 0
virtual bool isPowerSupply() const = 0
virtual bool isPresent() const = 0
virtual bool isRechargeable() const = 0
virtual qlonglong remainingTime() const = 0
virtual QString serial() const = 0
virtual Solid::Battery::Technology technology() const = 0
virtual double temperature() const = 0
virtual qlonglong timeToEmpty() const = 0
virtual qlonglong timeToFull() const = 0
virtual Solid::Battery::BatteryType type() const = 0
virtual double voltage() const = 0

Protected Functions

virtual void capacityChanged(int value, const QString &udi) = 0
virtual void chargePercentChanged(int value, const QString &udi) = 0
virtual void chargeStateChanged(int newState, const QString &udi = QString()) = 0
virtual void energyChanged(double energy, const QString &udi) = 0
virtual void energyFullChanged(double energy, const QString &udi) = 0
virtual void energyFullDesignChanged(double energy, const QString &udi) = 0
virtual void energyRateChanged(double energyRate, const QString &udi) = 0
virtual void powerSupplyStateChanged(bool newState, const QString &udi) = 0
virtual void presentStateChanged(bool newState, const QString &udi) = 0
virtual void remainingTimeChanged(qlonglong time, const QString &udi) = 0
virtual void temperatureChanged(double temperature, const QString &udi) = 0
virtual void timeToEmptyChanged(qlonglong time, const QString &udi) = 0
virtual void timeToFullChanged(qlonglong time, const QString &udi) = 0
virtual void voltageChanged(double voltage, const QString &udi) = 0

Detailed Description

This device interface is available on batteries.

Member Function Documentation

[override virtual noexcept] Battery::~Battery()

Destroys a Battery object.

[pure virtual] int Battery::capacity() const

Retrieves the battery capacity normalised to percent, meaning how much energy can it hold compared to what it is designed to. The capacity of the battery will reduce with age. A capacity value less than 75% is usually a sign that you should renew your battery.

@since 4.11 @return the battery capacity normalised to percent

[pure virtual protected] void Battery::capacityChanged(int value, const QString &udi)

This signal is emitted when the capacity of this battery has changed.

@param value the new capacity of the battery @param udi the UDI of the battery with the new capacity @since 4.11

[pure virtual] int Battery::chargePercent() const

Retrieves the current charge level of the battery normalised to percent.

@return the current charge level normalised to percent

[pure virtual protected] void Battery::chargePercentChanged(int value, const QString &udi)

This signal is emitted when the charge percent value of this battery has changed.

@param value the new charge percent value of the battery @param udi the UDI of the battery with the new charge percent

[pure virtual] Solid::Battery::ChargeState Battery::chargeState() const

Retrieves the current charge state of the battery. It can be in a stable state (no charge), charging or discharging.

@return the current battery charge state @see Solid::Battery::ChargeState

[pure virtual protected] void Battery::chargeStateChanged(int newState, const QString &udi = QString())

This signal is emitted when the charge state of this battery has changed.

@param newState the new charge state of the battery, it's one of the type Solid::Battery::ChargeState @see Solid::Battery::ChargeState @param udi the UDI of the battery with the new charge state

[pure virtual] double Battery::energy() const

Amount of energy (measured in Wh) currently available in the power source.

@return amount of battery energy in Wh

[pure virtual protected] void Battery::energyChanged(double energy, const QString &udi)

This signal is emitted when the energy value of this battery has changed.

@param energy the new energy value of the battery @param udi the UDI of the battery with the new energy value

[pure virtual] double Battery::energyFull() const

Amount of energy (measured in Wh) the battery has when it is full.

@return amount of battery energy when full in Wh @since 5.7

[pure virtual protected] void Battery::energyFullChanged(double energy, const QString &udi)

This signal is emitted when the energy full value of this battery has changed.

@param energy the new energy full value of the battery @param udi the UDI of the battery with the new energy full value

[pure virtual] double Battery::energyFullDesign() const

Amount of energy (measured in Wh) the battery should have by design hen it is full.

@return amount of battery energy when full by design in Wh @since 5.7

[pure virtual protected] void Battery::energyFullDesignChanged(double energy, const QString &udi)

This signal is emitted when the energy full design value of this battery has changed.

@param energy the new energy full design value of the battery @param udi the UDI of the battery with the new energy full design value

[pure virtual] double Battery::energyRate() const

Amount of energy being drained from the source, measured in W. If positive, the source is being discharged, if negative it's being charged.

@return battery rate in Watts

[pure virtual protected] void Battery::energyRateChanged(double energyRate, const QString &udi)

This signal is emitted when the energy rate value of this battery has changed.

If positive, the source is being discharged, if negative it's being charged.

@param energyRate the new energy rate value of the battery @param udi the UDI of the battery with the new charge percent

[pure virtual] bool Battery::isPowerSupply() const

Indicates if the battery is powering the machine.

@return true if the battery is powersupply, false otherwise

[pure virtual] bool Battery::isPresent() const

Indicates if this battery is currently present in its bay.

@return true if the battery is present, false otherwise

[pure virtual] bool Battery::isRechargeable() const

Indicates if the battery is rechargeable.

@return true if the battery is rechargeable, false otherwise (one time usage)

[pure virtual protected] void Battery::powerSupplyStateChanged(bool newState, const QString &udi)

This signal is emitted when the power supply state of the battery changes.

@param newState the new power supply state, type is boolean @param udi the UDI of the battery with the new power supply state @since 4.11

[pure virtual protected] void Battery::presentStateChanged(bool newState, const QString &udi)

This signal is emitted if the battery gets plugged in/out of the battery bay.

@param newState the new plugging state of the battery, type is boolean @param udi the UDI of the battery with thew new plugging state

[pure virtual] qlonglong Battery::remainingTime() const

Retrieves the current estimated remaining time of the system batteries

@return the current global estimated remaining time in seconds @since 5.8

[pure virtual protected] void Battery::remainingTimeChanged(qlonglong time, const QString &udi)

This signal is emitted when the estimated battery remaining time changes.

@param time the new remaining time @param udi the UDI of the battery with the new remaining time @since 5.8

[pure virtual] QString Battery::serial() const

The serial number of the battery

@return the serial number of the battery @since 5.0

[pure virtual] Solid::Battery::Technology Battery::technology() const

Retrieves the technology used to manufacture the battery.

@return the battery technology @see Solid::Battery::Technology

[pure virtual] double Battery::temperature() const

The temperature of the battery in degrees Celsius.

@return the battery temperature in degrees Celsius @since 5.0

[pure virtual protected] void Battery::temperatureChanged(double temperature, const QString &udi)

This signal is emitted when the battery temperature has changed.

@param temperature the new temperature of the battery in degrees Celsius @param udi the UDI of the battery with the new temperature @since 5.0

[pure virtual] qlonglong Battery::timeToEmpty() const

Time (in seconds) until the battery is empty.

@return time until the battery is empty @since 5.0

[pure virtual protected] void Battery::timeToEmptyChanged(qlonglong time, const QString &udi)

This signal is emitted when the time until the battery is empty has changed.

@param time the new remaining time @param udi the UDI of the battery with the new remaining time @since 5.0

[pure virtual] qlonglong Battery::timeToFull() const

Time (in seconds) until the battery is full.

@return time until the battery is full @since 5.0

[pure virtual protected] void Battery::timeToFullChanged(qlonglong time, const QString &udi)

This signal is emitted when the time until the battery is full has changed.

@param time the new remaining time @param udi the UDI of the battery with the new remaining time @since 5.0

[pure virtual] Solid::Battery::BatteryType Battery::type() const

Retrieves the type of device holding this battery.

@return the type of device holding this battery @see Solid::Battery::BatteryType

[pure virtual] double Battery::voltage() const

Voltage in the Cell or being recorded by the meter.

@return voltage in Volts

[pure virtual protected] void Battery::voltageChanged(double voltage, const QString &udi)

This signal is emitted when the voltage in the cell has changed.

@param voltage the new voltage of the cell @param udi the UDI of the battery with the new voltage @since 5.0