1 /*
2  * Copyright (c) 2022 Nordic Semiconductor ASA
3  *
4  * SPDX-License-Identifier: Apache-2.0
5  */
6 
7 #ifndef BT_MESH_OP_AGG_SRV_H__
8 #define BT_MESH_OP_AGG_SRV_H__
9 
10 #include <zephyr/bluetooth/mesh.h>
11 
12 #ifdef __cplusplus
13 extern "C" {
14 #endif
15 
16 /**
17  * @defgroup bt_mesh_op_agg_srv Opcodes Aggregator Server model
18  * @ingroup bt_mesh
19  * @{
20  */
21 
22 /**
23  *
24  *  @brief Opcodes Aggretator Server model composition data entry.
25  *
26  *  @note The Opcodes Aggregator Server handles aggregated messages
27  *        and dispatches them to the respective models and their message
28  *        handlers. Current implementation assumes that responses are sent
29  *        from the same execution context as the received message and
30  *        doesn't allow to send a postponed response, e.g. from workqueue.
31  */
32 #define BT_MESH_MODEL_OP_AGG_SRV                                               \
33 	BT_MESH_MODEL_CB(BT_MESH_MODEL_ID_OP_AGG_SRV, _bt_mesh_op_agg_srv_op,  \
34 			 NULL, NULL, &_bt_mesh_op_agg_srv_cb)
35 
36 /** @cond INTERNAL_HIDDEN */
37 extern const struct bt_mesh_model_op _bt_mesh_op_agg_srv_op[];
38 extern const struct bt_mesh_model_cb _bt_mesh_op_agg_srv_cb;
39 /** @endcond */
40 
41 /**
42  * @}
43  */
44 
45 #ifdef __cplusplus
46 }
47 #endif
48 
49 #endif /* BT_MESH_OP_AGG_SRV_H__ */
50