1 /*
2  * Copyright (c) 2020 Nordic Semiconductor ASA
3  *
4  * SPDX-License-Identifier: Apache-2.0
5  */
6 
7 #ifndef BT_GATT_OTS_OBJ_MANAGER_H_
8 #define BT_GATT_OTS_OBJ_MANAGER_H_
9 
10 #ifdef __cplusplus
11 extern "C" {
12 #endif
13 
14 #include <zephyr/types.h>
15 
16 int bt_gatt_ots_obj_manager_first_obj_get(void *obj_manager,
17 	struct bt_gatt_ots_object **obj);
18 
19 int bt_gatt_ots_obj_manager_last_obj_get(void *obj_manager,
20 	struct bt_gatt_ots_object **obj);
21 
22 int bt_gatt_ots_obj_manager_prev_obj_get(
23 	void *obj_manager,
24 	const struct bt_gatt_ots_object *cur_obj,
25 	struct bt_gatt_ots_object **prev_obj);
26 
27 int bt_gatt_ots_obj_manager_next_obj_get(
28 	void *obj_manager,
29 	const struct bt_gatt_ots_object *cur_obj,
30 	struct bt_gatt_ots_object **next_obj);
31 
32 int bt_gatt_ots_obj_manager_obj_get(void *obj_manager,
33 					uint64_t id,
34 					struct bt_gatt_ots_object **obj);
35 
36 int bt_gatt_ots_obj_manager_obj_add(void *obj_manager,
37 					struct bt_gatt_ots_object **obj);
38 
39 int bt_gatt_ots_obj_manager_obj_delete(struct bt_gatt_ots_object *obj);
40 
41 bool bt_gatt_ots_obj_manager_obj_contains(void *obj_manager, struct bt_gatt_ots_object *obj);
42 
43 void *bt_gatt_ots_obj_manager_assign(void);
44 
45 #ifdef __cplusplus
46 }
47 #endif
48 
49 #endif /* BT_GATT_OTS_OBJ_MANAGER_H_ */
50