All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sonny Sasaka <sonnysasaka@chromium.org>
To: linux-bluetooth-@vger.kernel.org, linux-bluetooth@vger.kernel.org
Cc: Sonny Sasaka <sonnysasaka@chromium.org>
Subject: [PATCH BlueZ 0/3] Per-device option to enable/disable internal profiles
Date: Mon, 13 Jul 2020 13:14:38 -0700	[thread overview]
Message-ID: <20200713201441.235959-1-sonnysasaka@chromium.org> (raw)

This patch series adds a mechanism for clients to choose whether to
enable BlueZ internal profiles (e.g. A2DP, Battery) for specific
devices.

The motivation behind this feature is that some applications (e.g. Web
Bluetooth or Android apps) need to have control over all remove GATT
services, like Battery service. With "battery" plugin being enabled on
BlueZ, it becomes not possible for those apps to work properly because
BlueZ "hides" the Battery-related attributes from its GATT Client API.
Disabling the "battery" plugin won't solve the problem either, since we
do also need to enable the plugin so that we can use org.bluez.Battery1
API.

The solution that we propose is that clients can choose whether to
enable internal profiles for each device. Clients know when to enable
internal profiles (such as when a user chooses to pair/connect via a UI)
and when to disable internal profiles (such as when the connection is
initiated by a generic application).

Sonny Sasaka (3):
  doc: Add "AllowInternalProfiles" property to org.bluez.Device1
  device: Add "AllowInternalProfiles" property to org.bluez.Device1
  client: Add set-allow-internal-profiles command

 client/main.c      | 38 ++++++++++++++++++
 doc/device-api.txt | 13 +++++++
 src/device.c       | 96 ++++++++++++++++++++++++++++++++++++++++++++++
 src/hcid.h         |  2 +
 src/main.c         | 10 +++++
 src/main.conf      |  4 ++
 6 files changed, 163 insertions(+)

-- 
2.26.2


             reply	other threads:[~2020-07-13 20:14 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-07-13 20:14 Sonny Sasaka [this message]
2020-07-13 20:14 ` [PATCH BlueZ 1/3] doc: Add "AllowInternalProfiles" property to org.bluez.Device1 Sonny Sasaka
2020-07-13 20:14 ` [PATCH BlueZ 2/3] device: " Sonny Sasaka
2020-07-13 20:14 ` [PATCH BlueZ 3/3] client: Add set-allow-internal-profiles command Sonny Sasaka
2020-07-13 20:35 ` [PATCH BlueZ 0/3] Per-device option to enable/disable internal profiles Luiz Augusto von Dentz
2020-07-13 22:04   ` Sonny Sasaka
2020-07-13 22:59     ` Luiz Augusto von Dentz
2020-07-13 23:48       ` Sonny Sasaka
2020-07-14  5:28         ` Luiz Augusto von Dentz
2020-07-14 20:55           ` Sonny Sasaka
2020-07-15 16:25             ` Luiz Augusto von Dentz
2020-07-15 20:13               ` Sonny Sasaka
2020-07-15 21:08                 ` Luiz Augusto von Dentz
2020-07-15 22:29                   ` Sonny Sasaka

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200713201441.235959-1-sonnysasaka@chromium.org \
    --to=sonnysasaka@chromium.org \
    --cc=linux-bluetooth-@vger.kernel.org \
    --cc=linux-bluetooth@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.