mbox series

[BlueZ,0/7] Battery Provider API

Message ID 20201111003720.1727-1-sonnysasaka@chromium.org (mailing list archive)
Headers show
Series Battery Provider API | expand

Message

Sonny Sasaka Nov. 11, 2020, 12:37 a.m. UTC
Hi BlueZ Maintainers,

This is a patch series that introduces Battery Provider API, a means for
external clients to feed battery reporting to BlueZ if they can decode
it from a profile/protocol. A sample use case would be for HFP handlers
(e.g. pulseaudio commonly in Linux system or CRAS in Chrome OS) that has
the battery information reported via HFP extensions.

This patch series also refactors the existing battery API to be split
into internal API rather than GATT BAS specific. This way internal
plugins can also make use of convenient functions to reliable register
battery objects.

The battery information is then exposed via the existing Battery1 API.
Many UI components already consume this so they will be able to display
many Bluetooth peripherals' battery information via a unified BlueZ API.

Sonny Sasaka (7):
  battery: Add the internal Battery API
  profiles/battery: Refactor to use battery library
  battery: Add Source property to Battery API
  doc: Add Battery Provider API doc
  test: Add test app for Battery Provider API
  adapter: Add a public function to find a device by path
  battery: Implement Battery Provider API

 Makefile.am                   |   3 +-
 doc/battery-api.txt           |  55 ++++
 profiles/battery/battery.c    |  52 +--
 src/adapter.c                 |  44 ++-
 src/adapter.h                 |   2 +
 src/battery.c                 | 580 ++++++++++++++++++++++++++++++++++
 src/battery.h                 |  22 ++
 test/example-battery-provider | 230 ++++++++++++++
 8 files changed, 942 insertions(+), 46 deletions(-)
 create mode 100644 src/battery.c
 create mode 100644 src/battery.h
 create mode 100755 test/example-battery-provider