1/*
2 SPDX-FileCopyrightText: 2006 Kevin Ottens <ervin@kde.org>
3 SPDX-FileCopyrightText: 2012 Lukas Tinkl <ltinkl@redhat.com>
4 SPDX-FileCopyrightText: 2014 Kai Uwe Broulik <kde@privat.broulik.de>
5
6 SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
7*/
8
9#ifndef SOLID_BACKENDS_FAKEHW_FAKEBATTERY_H
10#define SOLID_BACKENDS_FAKEHW_FAKEBATTERY_H
11
12#include "fakedeviceinterface.h"
13#include <solid/devices/ifaces/battery.h>
14
15namespace Solid
16{
17namespace Backends
18{
19namespace Fake
20{
21class FakeBattery : public FakeDeviceInterface, virtual public Solid::Ifaces::Battery
22{
23 Q_OBJECT
24 Q_INTERFACES(Solid::Ifaces::Battery)
25
26public:
27 explicit FakeBattery(FakeDevice *device);
28 ~FakeBattery() override;
29
30public Q_SLOTS:
31 bool isPresent() const override;
32 Solid::Battery::BatteryType type() const override;
33
34 int chargePercent() const override;
35 int capacity() const override;
36 int cycleCount() const override;
37
38 bool isRechargeable() const override;
39 bool isPowerSupply() const override;
40
41 Solid::Battery::ChargeState chargeState() const override;
42 qlonglong timeToEmpty() const override;
43 qlonglong timeToFull() const override;
44
45 void setChargeState(Solid::Battery::ChargeState newState);
46 void setChargeLevel(int newLevel);
47
48 Solid::Battery::Technology technology() const override;
49
50 double energy() const override;
51 double energyFull() const override;
52 double energyFullDesign() const override;
53 double energyRate() const override;
54
55 double voltage() const override;
56 double temperature() const override;
57
58 QString serial() const override;
59
60 qlonglong remainingTime() const override;
61
62Q_SIGNALS:
63 void presentStateChanged(bool newState, const QString &udi) override;
64 void chargePercentChanged(int value, const QString &udi) override;
65 void capacityChanged(int value, const QString &udi) override;
66 void cycleCountChanged(int value, const QString &udi) override;
67 void powerSupplyStateChanged(bool newState, const QString &udi) override;
68 void chargeStateChanged(int newState, const QString &udi) override;
69 void timeToEmptyChanged(qlonglong time, const QString &udi) override;
70 void timeToFullChanged(qlonglong time, const QString &udi) override;
71 void energyChanged(double energy, const QString &udi) override;
72 void energyFullChanged(double energyFull, const QString &udi) override;
73 void energyFullDesignChanged(double energyFullDesign, const QString &udi) override;
74 void energyRateChanged(double energyRate, const QString &udi) override;
75 void voltageChanged(double voltage, const QString &udi) override;
76 void temperatureChanged(double temperature, const QString &udi) override;
77 void remainingTimeChanged(qlonglong time, const QString &udi) override;
78};
79}
80}
81}
82
83#endif // SOLID_BACKENDS_FAKEHW_FAKEBATTERY_H
84

source code of solid/src/solid/devices/backends/fakehw/fakebattery.h