summaryrefslogtreecommitdiff
path: root/src/battery.h
diff options
context:
space:
mode:
authorSonny Sasaka <sonnysasaka@chromium.org>2020-11-30 13:56:02 -0800
committerLuiz Augusto von Dentz <luiz.von.dentz@intel.com>2020-11-30 16:19:10 -0800
commit9e2fd160e119d6d3e2d8f37b254b7e72c502d437 (patch)
treeb6dda6dfae8818bd32df579c0b902caab6dd3cb2 /src/battery.h
parent8b61f78086cbea7ae8810c58772f0806716d3db8 (diff)
downloadbluez-9e2fd160e119d6d3e2d8f37b254b7e72c502d437.tar.gz
battery: Implement Battery Provider API
This patch implements the BatteryProvider1 and BatteryProviderManager1 API. This is a means for external clients to feed battery information to BlueZ if they handle some profile and can decode battery reporting. The battery information is then exposed externally via the existing Battery1 interface. UI components can consume this API to display Bluetooth peripherals' battery via a unified BlueZ API. Reviewed-by: Miao-chen Chou <mcchou@chromium.org>
Diffstat (limited to 'src/battery.h')
-rw-r--r--src/battery.h10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/battery.h b/src/battery.h
index ff63454cd..271659474 100644
--- a/src/battery.h
+++ b/src/battery.h
@@ -8,8 +8,16 @@
*
*/
+struct btd_adapter;
struct btd_battery;
+struct btd_battery_provider_manager;
-struct btd_battery *btd_battery_register(const char *path, const char *source);
+struct btd_battery *btd_battery_register(const char *path, const char *source,
+ const char *provider_path);
bool btd_battery_unregister(struct btd_battery *battery);
bool btd_battery_update(struct btd_battery *battery, uint8_t percentage);
+
+struct btd_battery_provider_manager *
+btd_battery_provider_manager_create(struct btd_adapter *adapter);
+void btd_battery_provider_manager_destroy(
+ struct btd_battery_provider_manager *manager);