summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArman Uguray <armansito@chromium.org>2015-02-18 00:18:39 -0800
committerLuiz Augusto von Dentz <luiz.von.dentz@intel.com>2015-02-18 15:03:05 +0200
commit66682caf329da9f0596ba239d822c97e6781991e (patch)
treeac98a638a76bf34266a384e09129caa96c68b946
parentd0d94ce35218005b7cdf67a49405c5bfff743d07 (diff)
downloadbluez-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--TODO54
1 files changed, 30 insertions, 24 deletions
diff --git a/TODO b/TODO
index e489221fd..db80b95e0 100644
--- a/TODO
+++ b/TODO
@@ -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)
=======================