ble/gattdb/db.h header reference
[Bluetooth Low Energy library module]
The source code of this header can be browsed online.
Description [link]
A GATT database merges GATT service definitions in a GATT database, each registered GATT service has a registry context.
Members [link]
Types [link]
- struct ble_gattdb_hndl_s
- enum ble_gattdb_hndl_type_e
- typedef [...] * ble_gattdb_listener_list_item_t
- struct ble_gattdb_listener_s
- typedef [...] * ble_gattdb_registry_list_item_t
- struct ble_gattdb_registry_s
- typedef void (ble_gattdb_registry_value_changed_func_t)(struct ble_gattdb_listener_s *listener, struct ble_gattdb_registry_s *registry, bool_t reliable, const void *data, size_t size)
- struct ble_gattdb_s
Functions [link]
- void ble_gattdb_char_changed(struct ble_gattdb_registry_s *reg, uint8_t charid, bool_t reliable, const void *data, size_t size)
- void ble_gattdb_char_stream_resume(struct ble_gattdb_registry_s *reg, uint8_t charid)
- void ble_gattdb_cleanup(struct ble_gattdb_s *db)
- error_t ble_gattdb_init(struct ble_gattdb_s *db)
- void ble_gattdb_listener_register(struct ble_gattdb_registry_s *reg, struct ble_gattdb_listener_s *listener, ble_gattdb_registry_value_changed_func_t *func, uint8_t chr_index)
- void ble_gattdb_listener_unregister(struct ble_gattdb_registry_s *reg, struct ble_gattdb_listener_s *listener)
- struct ble_gattdb_registry_s * ble_gattdb_registry_get_by_index(struct ble_gattdb_s *db, uint_fast8_t index)
- struct ble_gattdb_registry_s * ble_gattdb_registry_get_by_service(struct ble_gattdb_s *db, const struct ble_gattdb_service_s *service, uint_fast8_t index)
- struct ble_gattdb_registry_s * ble_gattdb_registry_get_by_type(struct ble_gattdb_s *db, const struct ble_uuid_s *type, uint_fast8_t index)
- error_t ble_gattdb_service_register(struct ble_gattdb_registry_s *reg, struct ble_gattdb_s *db, const struct ble_gattdb_service_s *service)
- void ble_gattdb_service_unregister(struct ble_gattdb_registry_s *reg)
- size_t ble_gattdb_srv128_list_get(struct ble_gattdb_s *db, void *srvlist, size_t size)
- size_t ble_gattdb_srv16_list_get(struct ble_gattdb_s *db, void *srvlist, size_t size)
- error_t ble_gattdb_std_char_read(struct ble_gattdb_s *db, uint16_t srv_uuid16, uint16_t chr_uuid16, const void **data, size_t *size)
Members detail [link]
#define BLE_GATTDB_H [link]
This macro is declared in ble/gattdb/db.h source file, line 21.
#define BLE_GATTDB_LISTENER_FUNC(x) [link]
This macro is declared in ble/gattdb/db.h source file, line 51.
#define GCT_CONTAINER_ALGO_ble_gattdb_listener_list [link]
This macro is declared in ble/gattdb/db.h source file, line 46.
#define GCT_CONTAINER_ALGO_ble_gattdb_registry_list [link]
This macro is declared in ble/gattdb/db.h source file, line 45.
void ble_gattdb_char_changed(struct ble_gattdb_registry_s *reg, uint8_t charid, bool_t reliable, const void *data, size_t size) [link]
This function is declared in ble/gattdb/db.h source file, line 164.
this function sends notifications to listeners that characteristic changed value. This does not update the value to the characteristic backend.
Parameter list:
- reg: Registry handle
- charid: Characteristic offset in service
void ble_gattdb_char_stream_resume(struct ble_gattdb_registry_s *reg, uint8_t charid) [link]
This function is declared in ble/gattdb/db.h source file, line 168.
Preprocessor condition: defined( CONFIG_BLE_GATTDB_STREAM )
void ble_gattdb_cleanup(struct ble_gattdb_s *db) [link]
This function is declared in ble/gattdb/db.h source file, line 131.
struct ble_gattdb_hndl_s [link]
This struct is declared in ble/gattdb/db.h source file, line 91.
enum ble_gattdb_hndl_type_e [link]
This enum is declared in ble/gattdb/db.h source file, line 71.
Identifier | Description |
---|---|
BLE_GATTDB_HNDL_SERVICE | |
BLE_GATTDB_HNDL_INCLUDE | |
BLE_GATTDB_HNDL_CHAR_TYPE | |
BLE_GATTDB_HNDL_CHAR_VALUE | |
BLE_GATTDB_HNDL_CCCD | |
BLE_GATTDB_HNDL_SCCD | |
BLE_GATTDB_HNDL_CEP | |
BLE_GATTDB_HNDL_CHAR_DESC |
error_t ble_gattdb_init(struct ble_gattdb_s *db) [link]
This function is declared in ble/gattdb/db.h source file, line 130.
typedef void * ble_gattdb_listener_list_entry_t [link]
This typedef is declared in ble/gattdb/db.h source file, line 68.
typedef struct ble_gattdb_listener_s * ble_gattdb_listener_list_item_t [link]
This typedef is declared in ble/gattdb/db.h source file, line 68.
typedef void * ble_gattdb_listener_list_root_t [link]
This typedef is declared in ble/gattdb/db.h source file, line 68.
void ble_gattdb_listener_register(struct ble_gattdb_registry_s *reg, struct ble_gattdb_listener_s *listener, ble_gattdb_registry_value_changed_func_t *func, uint8_t chr_index) [link]
This function is declared in ble/gattdb/db.h source file, line 174.
struct ble_gattdb_listener_s [link]
This struct is declared in ble/gattdb/db.h source file, line 61.
Field | Description |
---|---|
ble_gattdb_registry_value_changed_func_t * value_changed; | |
struct ble_gattdb_registry_s * registry; | |
uint8_t chr_index; |
See also ble_gattdb_listener_list_item_t.
void ble_gattdb_listener_unregister(struct ble_gattdb_registry_s *reg, struct ble_gattdb_listener_s *listener) [link]
This function is declared in ble/gattdb/db.h source file, line 177.
struct ble_gattdb_registry_s * ble_gattdb_registry_get_by_index(struct ble_gattdb_s *db, uint_fast8_t index) [link]
This function is declared in ble/gattdb/db.h source file, line 136.
struct ble_gattdb_registry_s * ble_gattdb_registry_get_by_service(struct ble_gattdb_s *db, const struct ble_gattdb_service_s *service, uint_fast8_t index) [link]
This function is declared in ble/gattdb/db.h source file, line 146.
struct ble_gattdb_registry_s * ble_gattdb_registry_get_by_type(struct ble_gattdb_s *db, const struct ble_uuid_s *type, uint_fast8_t index) [link]
This function is declared in ble/gattdb/db.h source file, line 141.
typedef void * ble_gattdb_registry_list_entry_t [link]
This typedef is declared in ble/gattdb/db.h source file, line 118.
typedef struct ble_gattdb_registry_s * ble_gattdb_registry_list_item_t [link]
This typedef is declared in ble/gattdb/db.h source file, line 118.
typedef void * ble_gattdb_registry_list_root_t [link]
This typedef is declared in ble/gattdb/db.h source file, line 118.
struct ble_gattdb_registry_s [link]
This struct is declared in ble/gattdb/client.h source file, line 53.
Field | Description |
---|---|
ble_gattdb_listener_list_root_t listener_list; | |
const struct ble_gattdb_service_s * service; | |
struct ble_gattdb_s * db; | |
struct ble_gattdb_hndl_s * handle; | |
uint16_t start_handle; | |
uint8_t index; | |
uint8_t handle_count; | |
uint8_t include_count; |
See also ble_gattdb_registry_list_item_t.
typedef void (ble_gattdb_registry_value_changed_func_t)(struct ble_gattdb_listener_s *listener, struct ble_gattdb_registry_s *registry, bool_t reliable, const void *data, size_t size) [link]
This typedef is declared in ble/gattdb/db.h source file, line 58.
struct ble_gattdb_s [link]
This struct is declared in ble/gattdb/client.h source file, line 51.
Field | Description |
---|---|
ble_gattdb_registry_list_root_t registry_list; | |
struct ble_gattdb_registry_s gattdb_registry; |
error_t ble_gattdb_service_register(struct ble_gattdb_registry_s *reg, struct ble_gattdb_s *db, const struct ble_gattdb_service_s *service) [link]
This function is declared in ble/gattdb/db.h source file, line 150.
void ble_gattdb_service_unregister(struct ble_gattdb_registry_s *reg) [link]
This function is declared in ble/gattdb/db.h source file, line 152.
size_t ble_gattdb_srv128_list_get(struct ble_gattdb_s *db, void *srvlist, size_t size) [link]
This function is declared in ble/gattdb/db.h source file, line 213.
this function retrieves UUID128 service list for use in advertisement data. UUID16 service types are not returned. srvlist is filled with uuid128s of advertised services up to size bytes, in relevant byte order.
Return value is total count of bytes needed to contain all exported services, even if only size first bytes of srvlist are filled. Return value is always multiple of 16 bytes.
size_t ble_gattdb_srv16_list_get(struct ble_gattdb_s *db, void *srvlist, size_t size) [link]
This function is declared in ble/gattdb/db.h source file, line 200.
this function retrieves UUID16 service list for use in advertisement data. srvlist is filled with uuid16s of advertised services up to size bytes.
Return value is total count of bytes needed to contain all exported services, even if only size first bytes of srvlist are filled.
error_t ble_gattdb_std_char_read(struct ble_gattdb_s *db, uint16_t srv_uuid16, uint16_t chr_uuid16, const void **data, size_t *size) [link]
This function is declared in ble/gattdb/db.h source file, line 188.
this function reads a standard characteristic for a standard service in database. It lookups for a couple of UUID16s.
Retrieved data pointer is writted to data, data buffer size is written in integer pointed by size. Data is usable in place.