diff options
author | Arman Uguray <armansito@chromium.org> | 2015-02-18 00:18:39 -0800 |
---|---|---|
committer | Luiz Augusto von Dentz <luiz.von.dentz@intel.com> | 2015-02-18 15:03:05 +0200 |
commit | 66682caf329da9f0596ba239d822c97e6781991e (patch) | |
tree | ac98a638a76bf34266a384e09129caa96c68b946 | |
parent | d0d94ce35218005b7cdf67a49405c5bfff743d07 (diff) | |
download | bluez-66682caf329da9f0596ba239d822c97e6781991e.tar.gz |
TODO: Update GATT items.
Updated the GATT/ATT related TODO items:
- Removed item about disconnect handling as this is already done via
bt_att.
- Long-term client caching is currently done in memory. Updated this
to mean peristent.
- GAttrib has already been turned into a shim around bt_att. Updated
the related item to involve updating profiles only.
- GATT client D-Bus API has been implemented.
- Added item for missing portion of Service Changed support.
- Added item for GATT related refactors discussed over IRC.
- Added item for supporting the Includes property in GATT client.
-rw-r--r-- | TODO | 54 |
1 files changed, 30 insertions, 24 deletions
@@ -136,41 +136,19 @@ ATT/GATT (new shared stack) Priority: Medium Complexity: C1 -- Introduce a handler interface to shared/gatt-client which can be used by the - upper layer to determine when the link has been disconnected or an ATT - protocol request times out. +- Persist client attribute cache across reboots. Priority: Medium - Complexity: C2 - -- Introduce long-term caching of attributes to shared/gatt-client, such that the - services, characteristics, and descriptors obtained from a peripheral are - remembered in the case of bonding. This may involve storing data about GATT - services to disk. - - Priority: Low Complexity: C4 - Move all daemon plugins and profiles that are GATT based to use shared/gatt-client instead of attrib/*. This is a complicated task that potentially needs a new plugin/profile probing interface and a lot of - rewriting that can cause regressions in existing functionality. The biggest - challenge here is that an instance of bt_att (shared/att) and GAttrib - (attrib/gattrib) cannot coexist on the same file descriptor, since they will - cause ATT protocol violations by breaking the sequential request-response - structure. A special shared/gatt-client-gattrib implementation may be - necessary to move each profile/plugin to the new API before actually switching - to the shared/att based implementation. + rewriting that can cause regressions in existing functionality. Priority: Medium Complexity: C4 -- Implement the client portion of doc/gatt-api.txt using shared/gatt-client once - plugin/profile code uses it. - - Priority: Medium - Complexity: C2 - - Introduce a way for shared/gatt-server to check security permissions on the current connection through bt_att. @@ -190,6 +168,34 @@ ATT/GATT (new shared stack) Priority: Medium Complexity: C4 +- Send out indications from the "Service Changed" characteristic upon + reconnection if a bonded device is not connected when the local database is + modified. + + Priority: High + Complexity: C2 + +- Unify the GATT server and client D-Bus implementations into a single module. + While these don't share a lot of code, keeping them all in src/gatt-dbus seems + to make more sense from an organizational perspective. + + Priority: Low + Complexity: C1 + +- Isolate all GATT code inside the daemon into its own module and perform + interaction with other modules (e.g. src/device.c) via callbacks. This + includes client/server management, tracking incoming/outgoing connections for + ATT, and callbacks to perform profile probing. + + Priority: Low + Complexity: C4 + +- Support included services in the GATT D-Bus client API. + + Priority: Medium + Complexity: C1 + + ATT/GATT (old/outdated) ======================= |