Solid

iokitbattery.h
1/*
2 SPDX-FileCopyrightText: 2009 Harald Fernengel <harry@kdevelop.org>
3
4 SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
5*/
6
7#ifndef SOLID_BACKENDS_IOKIT_BATTERY_H
8#define SOLID_BACKENDS_IOKIT_BATTERY_H
9
10#include "iokitdeviceinterface.h"
11#include <solid/devices/ifaces/battery.h>
12
13namespace Solid
14{
15namespace Backends
16{
17namespace IOKit
18{
19class IOKitDevice;
20
21class Battery : public DeviceInterface, virtual public Solid::Ifaces::Battery
22{
25
26public:
27 Battery(IOKitDevice *device);
28 virtual ~Battery();
29
30 bool isPresent() const override;
31 Solid::Battery::BatteryType type() const override;
32
33 int chargePercent() const override;
34 int capacity() const override;
35
36 bool isRechargeable() const override;
37 bool isPowerSupply() const override;
38
39 Solid::Battery::ChargeState chargeState() const override;
40
41 qlonglong timeToEmpty() const override;
42 qlonglong timeToFull() const override;
43 double voltage() const override;
44 double temperature() const override;
45 QString serial() const override;
46
47 // ### the ones below are TODO
48 // clang-format off
49 Solid::Battery::Technology technology() const override { return Solid::Battery::UnknownTechnology; }
50 double energy() const override { return 0.0; }
51 double energyFull() const override { return 0.0; }
52 double energyFullDesign() const override { return 0.0; }
53 double energyRate() const override { return 0.0; }
54
55 qlonglong remainingTime() const override { return -1; }
56 // clang-format on
57
59 void energyChanged(double energy, const QString &udi) override;
60 void energyFullChanged(double energyFull, const QString &udi) override;
61 void energyFullDesignChanged(double energyFullDesign, const QString &udi) override;
62 void energyRateChanged(double energyRate, const QString &udi) override;
63 void chargePercentChanged(int value, const QString &udi) override;
64 void capacityChanged(int value, const QString &udi) override;
65 void chargeStateChanged(int newState, const QString &udi) override;
66 void presentStateChanged(bool newState, const QString &udi) override;
67 void powerSupplyStateChanged(bool newState, const QString &udi) override;
68 void timeToEmptyChanged(qlonglong time, const QString &udi) override;
69 void timeToFullChanged(qlonglong time, const QString &udi) override;
70 void temperatureChanged(double temperature, const QString &udi) override;
71 void voltageChanged(double voltage, const QString &udi) override;
72 void remainingTimeChanged(qlonglong time, const QString &udi) override;
73};
74}
75}
76}
77
78#endif // SOLID_BACKENDS_IOKIT_BATTERY_H
BatteryType
This enum type defines the type of the device holding the battery.
Technology
Technology used in the battery.
ChargeState
This enum type defines charge state of a battery.
This device interface is available on batteries.
The single responsibility of this class is to create arguments valid for logind Inhibit call.
Definition fakebattery.h:16
Q_INTERFACES(...)
Q_OBJECTQ_OBJECT
Q_SIGNALSQ_SIGNALS
This file is part of the KDE documentation.
Documentation copyright © 1996-2024 The KDE developers.
Generated on Tue Mar 26 2024 11:17:12 by doxygen 1.10.0 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.