New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 606853 link

Starred by 1 user

Issue metadata

Status: Verified
Owner:
Closed: May 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Chrome
Pri: 1
Type: Bug



Sign in to add a comment

Implement Characteristic and Descriptor properties/permissions.

Project Member Reported by r...@chromium.org, Apr 26 2016

Issue description

The current implementation of //device/bluetooth does not implement any code to handle properties and permissions for BTLE attributes. All the code is either missing or has various TODOs.

Investigate why this is and fix the code to handle properties and permissions correctly.

Instead of littering the code everywhere with TODOs (since these are used everywhere), I'll use this issue to track all the work.

 

Comment 1 by ortuno@chromium.org, Apr 26 2016

Could you be more specific? I particularly don't understand what you mean by "handle properties and permissions". I'm pretty sure we return the right properties for characteristics:

https://code.google.com/p/chromium/codesearch#chromium/src/device/bluetooth/bluez/bluetooth_remote_gatt_characteristic_bluez.cc&sq=package:chromium&type=cs&l=96&rcl=1461669891


Comment 2 by r...@chromium.org, Apr 26 2016

Sorry, this applies to Local GATT attributes. We don't either set or forward any of the properties or permission properties for local GATT attributes at the moment.

Comment 3 by r...@chromium.org, May 5 2016

Labels: -Pri-2 Pri-1
This is needed for a GATT server to really be useful.

Comment 4 by r...@chromium.org, May 5 2016

Status: Started (was: Assigned)
Project Member

Comment 5 by bugdroid1@chromium.org, May 9 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/60a8ee95f6bbe75057aeeb33bc6ccb58a3dd182b

commit 60a8ee95f6bbe75057aeeb33bc6ccb58a3dd182b
Author: rkc <rkc@chromium.org>
Date: Mon May 09 17:57:30 2016

DBus support for attribute properties and permissions.

This CL adds the DBus code needed to handle characteristic and descriptor
properties and permissions.

We will process the props/perms into the flags expected by BlueZ in the
BluetoothLocalGattXXXBlueZ classes. The DBus layer is simply responsible
for getting the flags over to BlueZ.

R=scheib@chromium.org
BUG= 606853 

Review-Url: https://codereview.chromium.org/1954643002
Cr-Commit-Position: refs/heads/master@{#392359}

[modify] https://crrev.com/60a8ee95f6bbe75057aeeb33bc6ccb58a3dd182b/device/bluetooth/dbus/bluetooth_gatt_application_service_provider.cc
[modify] https://crrev.com/60a8ee95f6bbe75057aeeb33bc6ccb58a3dd182b/device/bluetooth/dbus/bluetooth_gatt_application_service_provider_impl.cc
[modify] https://crrev.com/60a8ee95f6bbe75057aeeb33bc6ccb58a3dd182b/device/bluetooth/dbus/bluetooth_gatt_application_service_provider_unittest.cc
[modify] https://crrev.com/60a8ee95f6bbe75057aeeb33bc6ccb58a3dd182b/device/bluetooth/dbus/bluetooth_gatt_characteristic_service_provider.cc
[modify] https://crrev.com/60a8ee95f6bbe75057aeeb33bc6ccb58a3dd182b/device/bluetooth/dbus/bluetooth_gatt_characteristic_service_provider.h
[modify] https://crrev.com/60a8ee95f6bbe75057aeeb33bc6ccb58a3dd182b/device/bluetooth/dbus/bluetooth_gatt_characteristic_service_provider_impl.cc
[modify] https://crrev.com/60a8ee95f6bbe75057aeeb33bc6ccb58a3dd182b/device/bluetooth/dbus/bluetooth_gatt_characteristic_service_provider_impl.h
[modify] https://crrev.com/60a8ee95f6bbe75057aeeb33bc6ccb58a3dd182b/device/bluetooth/dbus/bluetooth_gatt_descriptor_service_provider.cc
[modify] https://crrev.com/60a8ee95f6bbe75057aeeb33bc6ccb58a3dd182b/device/bluetooth/dbus/bluetooth_gatt_descriptor_service_provider.h
[modify] https://crrev.com/60a8ee95f6bbe75057aeeb33bc6ccb58a3dd182b/device/bluetooth/dbus/bluetooth_gatt_descriptor_service_provider_impl.cc
[modify] https://crrev.com/60a8ee95f6bbe75057aeeb33bc6ccb58a3dd182b/device/bluetooth/dbus/bluetooth_gatt_descriptor_service_provider_impl.h
[modify] https://crrev.com/60a8ee95f6bbe75057aeeb33bc6ccb58a3dd182b/device/bluetooth/dbus/bluetooth_gatt_service_service_provider_impl.cc
[modify] https://crrev.com/60a8ee95f6bbe75057aeeb33bc6ccb58a3dd182b/device/bluetooth/dbus/bluetooth_gatt_service_service_provider_impl.h
[modify] https://crrev.com/60a8ee95f6bbe75057aeeb33bc6ccb58a3dd182b/device/bluetooth/dbus/fake_bluetooth_gatt_characteristic_service_provider.cc
[modify] https://crrev.com/60a8ee95f6bbe75057aeeb33bc6ccb58a3dd182b/device/bluetooth/dbus/fake_bluetooth_gatt_characteristic_service_provider.h
[modify] https://crrev.com/60a8ee95f6bbe75057aeeb33bc6ccb58a3dd182b/device/bluetooth/dbus/fake_bluetooth_gatt_descriptor_service_provider.cc
[modify] https://crrev.com/60a8ee95f6bbe75057aeeb33bc6ccb58a3dd182b/device/bluetooth/dbus/fake_bluetooth_gatt_descriptor_service_provider.h

Project Member

Comment 6 by bugdroid1@chromium.org, May 9 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/9c75aaf50cf5fd7d86a168990109b6b62f81996f

commit 9c75aaf50cf5fd7d86a168990109b6b62f81996f
Author: rkc <rkc@chromium.org>
Date: Mon May 09 18:53:55 2016

//device/bluetooth support for attribute properties and permissions.

This CL adds the code to //device/bluetooth to correctly hand properties
and permissions.

Currently characteristic permissions are inferred by BlueZ from the
properties that are set. Once this is no longer the case, we'll start
sending permissions to BlueZ. Currently the DBus API doesn't have
support for this.

R=scheib@chromium.org
BUG= 606853 

Review-Url: https://codereview.chromium.org/1947353002
Cr-Commit-Position: refs/heads/master@{#392383}

[modify] https://crrev.com/9c75aaf50cf5fd7d86a168990109b6b62f81996f/device/bluetooth/bluetooth_gatt_characteristic.h
[modify] https://crrev.com/9c75aaf50cf5fd7d86a168990109b6b62f81996f/device/bluetooth/bluetooth_local_gatt_characteristic_unittest.cc
[modify] https://crrev.com/9c75aaf50cf5fd7d86a168990109b6b62f81996f/device/bluetooth/bluetooth_local_gatt_descriptor_unittest.cc
[modify] https://crrev.com/9c75aaf50cf5fd7d86a168990109b6b62f81996f/device/bluetooth/bluez/bluetooth_local_gatt_characteristic_bluez.cc
[modify] https://crrev.com/9c75aaf50cf5fd7d86a168990109b6b62f81996f/device/bluetooth/bluez/bluetooth_local_gatt_characteristic_bluez.h
[modify] https://crrev.com/9c75aaf50cf5fd7d86a168990109b6b62f81996f/device/bluetooth/bluez/bluetooth_local_gatt_descriptor_bluez.cc
[modify] https://crrev.com/9c75aaf50cf5fd7d86a168990109b6b62f81996f/device/bluetooth/bluez/bluetooth_local_gatt_descriptor_bluez.h
[modify] https://crrev.com/9c75aaf50cf5fd7d86a168990109b6b62f81996f/device/bluetooth/bluez/bluetooth_local_gatt_service_bluez.h
[modify] https://crrev.com/9c75aaf50cf5fd7d86a168990109b6b62f81996f/device/bluetooth/dbus/bluetooth_gatt_application_service_provider.cc
[modify] https://crrev.com/9c75aaf50cf5fd7d86a168990109b6b62f81996f/device/bluetooth/dbus/fake_bluetooth_gatt_characteristic_service_provider.cc
[modify] https://crrev.com/9c75aaf50cf5fd7d86a168990109b6b62f81996f/device/bluetooth/dbus/fake_bluetooth_gatt_characteristic_service_provider.h
[modify] https://crrev.com/9c75aaf50cf5fd7d86a168990109b6b62f81996f/device/bluetooth/dbus/fake_bluetooth_gatt_descriptor_service_provider.cc
[modify] https://crrev.com/9c75aaf50cf5fd7d86a168990109b6b62f81996f/device/bluetooth/dbus/fake_bluetooth_gatt_descriptor_service_provider.h

Project Member

Comment 7 by bugdroid1@chromium.org, May 9 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/4e252b946901d066eefc22e71240619ab3829ac9

commit 4e252b946901d066eefc22e71240619ab3829ac9
Author: rkc <rkc@chromium.org>
Date: Mon May 09 20:28:46 2016

API changes to support sending characteristic properties.

This CL adds the code needed to send the characteristic properties given by
an app to BlueZ.

R=scheib@chromium.org
BUG= 606853 

Review-Url: https://codereview.chromium.org/1951863004
Cr-Commit-Position: refs/heads/master@{#392412}

[modify] https://crrev.com/4e252b946901d066eefc22e71240619ab3829ac9/chrome/browser/extensions/api/bluetooth_low_energy/bluetooth_low_energy_api.cc

Comment 8 by r...@chromium.org, May 9 2016

Status: Fixed (was: Started)
Status: Verified (was: Fixed)
bulk verify of io>bluetooth gatt server bugs

Sign in to add a comment