kdeconnect-kde/plugins/battery
Alexander Lohnau 02d97aabf4 Add explicit moc includes to cpp files
The rationale is explained in https://planet.kde.org/friedrich-kossebau-2023-06-28-include-also-moc-files-of-headers/

In case of KDEConnect, it impressively speeds up compilation. Before it
took 390 seconds on a clean build and with this change it took 330 seconds.
This is due to the mocs_compilation having to include the header files
and thus all their headers. Due to the lots of small plugins we have,
this means that the same headers must be compiled plenty of times.
When we include the moc files directly in the C++ file, they are already
available.
2023-07-28 16:07:34 +02:00
..
batteryplugin.cpp Add explicit moc includes to cpp files 2023-07-28 16:07:34 +02:00
batteryplugin.h Use pragma once in plugins 2023-07-22 20:51:19 +00:00
CMakeLists.txt Use versionless Qt targets where possible 2023-07-25 18:29:38 +02:00
kdeconnect_battery.json SVN_SILENT made messages (.desktop file) - always resolve ours 2023-07-28 01:41:47 +00:00
README Finally, we have support for sending out Battery information. 2020-04-13 05:54:11 +00:00

This plugins receives packages with type "kdeconnect.battery" and reads the
following fields:

isCharging (boolean): If the battery of the peer device is charging
currentCharge (int): The charge % of the peer device
thresholdEvent (int) [optional when = 0, see below]:
    means that a battery threshold event were fired on the remote device:
        0 := no event. generally not transmitted.
        1 := battery entered in low state
    This is an int so in the future we'll be able to subscribe to more events.
    (see BatteryPlugin.ThresholdBatteryEvent)

Symmetrically, it sends its own battery information in packages with the same
format. We only look for the 'primary' battery of the system, if one is present.

<TODO>
Support for devices with multiple batteries isn't there yet.
</TODO>

It also sends packages with type kdeconnect.battery and a field "request": true,
to ask the peer device to send a package like the mentioned above, and should
also answer this same kind of packages with its own information.

If the battery is low and discharging, it will notify the user.