summaryrefslogtreecommitdiff
path: root/src/gatt-database.h
diff options
context:
space:
mode:
authorArman Uguray <armansito@chromium.org>2015-03-03 20:30:05 -0800
committerLuiz Augusto von Dentz <luiz.von.dentz@intel.com>2015-03-04 19:54:40 +0200
commite1b77c810a149d8a4e3c06eb5c9b9f15a14f90e8 (patch)
tree4b79f4bb166c39c61039e0e36cc37f550959e8e5 /src/gatt-database.h
parent75ed21b2806cccac4ae2789c0c1a931a1a511e4a (diff)
downloadbluez-e1b77c810a149d8a4e3c06eb5c9b9f15a14f90e8.tar.gz
core/gatt: Make CCC addition API public
This patch adds the btd_gatt_database_add_ccc function to the database's public API. The signature has been extended to accept a callback that gets invoked to notify the upper layer when a CCC write is performed. The result is cached by the database on a per-device basis while the callback is invoked for all writes from all devices.
Diffstat (limited to 'src/gatt-database.h')
-rw-r--r--src/gatt-database.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/gatt-database.h b/src/gatt-database.h
index 0d9106b11..163b60127 100644
--- a/src/gatt-database.h
+++ b/src/gatt-database.h
@@ -23,3 +23,14 @@ struct btd_gatt_database *btd_gatt_database_new(struct btd_adapter *adapter);
void btd_gatt_database_destroy(struct btd_gatt_database *database);
struct gatt_db *btd_gatt_database_get_db(struct btd_gatt_database *database);
+
+typedef uint8_t (*btd_gatt_database_ccc_write_t) (uint16_t value,
+ void *user_data);
+typedef void (*btd_gatt_database_destroy_t) (void *data);
+
+struct gatt_db_attribute *
+btd_gatt_database_add_ccc(struct btd_gatt_database *database,
+ uint16_t service_handle,
+ btd_gatt_database_ccc_write_t write_callback,
+ void *user_data,
+ btd_gatt_database_destroy_t destroy);