19#ifndef _MESHX_MODEL_PROPERTY_HPP_
20#define _MESHX_MODEL_PROPERTY_HPP_
25#define MESHX_GEN_PROPERTY_CLIENT_MODEL_TEMPLATE_PROTO
26#define MESHX_GEN_PROPERTY_CLIENT_MODEL_TEMPLATE_PARAMS
28#define MESHX_GEN_ADMIN_PROPERTY_SERVER_MODEL_TEMPLATE_PROTO
29#define MESHX_GEN_ADMIN_PROPERTY_SERVER_MODEL_TEMPLATE_PARAMS
31#define MESHX_GEN_MANUFACTURER_PROPERTY_SERVER_MODEL_TEMPLATE_PROTO
32#define MESHX_GEN_MANUFACTURER_PROPERTY_SERVER_MODEL_TEMPLATE_PARAMS
34#define MESHX_GEN_USER_PROPERTY_SERVER_MODEL_TEMPLATE_PROTO
35#define MESHX_GEN_USER_PROPERTY_SERVER_MODEL_TEMPLATE_PARAMS
37#define MESHX_GEN_CLIENT_PROPERTY_SERVER_MODEL_TEMPLATE_PROTO
38#define MESHX_GEN_CLIENT_PROPERTY_SERVER_MODEL_TEMPLATE_PARAMS
64#if CONFIG_ENABLE_GEN_PROPERTY_CLIENT
114#if CONFIG_ENABLE_GEN_ADMIN_PROPERTY_SERVER
171#if CONFIG_ENABLE_GEN_MANU_PROP_SERVER
214#if CONFIG_ENABLE_GEN_USER_PROPERTY_SERVER
257#if CONFIG_ENABLE_GEN_CLIENT_PROPERTY_SERVER
Interface class for MeshX elements.
Definition meshx_fwd_decl.hpp:82
meshx_gen_property_model_state_t model_state
Definition meshx_model_property.hpp:143
meshx_err_t plat_model_delete(void) override
Deletes the Generic Admin Property Server model and its associated resources.
Definition meshx_model_property.cpp:505
meshx_err_t plat_model_create(MESHX_MODEL *p_plat_model_ptr=nullptr) override
Creates and initializes a server model instance for Generic Admin Property Server.
Definition meshx_model_property.cpp:472
bool element_msg_prepared
Definition meshx_model_property.hpp:149
~meshXGenericAdminPropertyServerModel()=default
meshx_property_srv_el_msg_t element_msg
Definition meshx_model_property.hpp:146
meshx_err_t model_send(meshx_gen_property_send_params_t *params) override
Send a packet to the MeshX stack based on the given parameters.
Definition meshx_model_property.cpp:306
meshXGenericAdminPropertyServerModel(meshXElementIF *parent_element=nullptr, meshx_ptr_t parent_element_state=nullptr, uint16_t model_func_id=0)
Constructor for Generic Admin Property Server Model.
Definition meshx_model_property.cpp:449
meshx_err_t model_from_ble_cb(dev_struct_t *, control_task_msg_evt_t, meshx_ptr_t) override
Callback function for handling BLE mesh events for Generic Admin Property Server Model.
Definition meshx_model_property.cpp:339
meshx_err_t prepare_element_msg(meshx_ptr_t *msg_ptr, size_t *msg_size) override
Prepare message for element notification.
Definition meshx_model_property.cpp:385
meshx_err_t element_state_change_handle(void) override
Handle state change request from element.
Definition meshx_model_property.cpp:417
~meshXGenericClientPropertyServerModel()=default
meshx_err_t prepare_element_msg(meshx_ptr_t *msg_ptr, size_t *msg_size) override
Prepare message for element notification.
Definition meshx_model_property.cpp:1088
bool element_msg_prepared
Definition meshx_model_property.hpp:275
meshx_err_t model_from_ble_cb(dev_struct_t *, control_task_msg_evt_t, meshx_ptr_t) override
Callback function for handling BLE mesh events for Generic Client Property Server Model.
Definition meshx_model_property.cpp:1042
meshx_property_srv_el_msg_t element_msg
Definition meshx_model_property.hpp:272
meshx_err_t plat_model_create(MESHX_MODEL *p_plat_model_ptr=nullptr) override
Creates and initializes a server model instance for Generic Client Property Server.
Definition meshx_model_property.cpp:1111
meshXGenericClientPropertyServerModel(meshXElementIF *parent_element=nullptr, meshx_ptr_t parent_element_state=nullptr, uint16_t model_func_id=0)
Constructor for Generic Client Property Server Model.
Definition meshx_model_property.cpp:1024
meshx_err_t model_send(meshx_gen_property_send_params_t *params) override
Send a packet to the MeshX stack based on the given parameters.
Definition meshx_model_property.cpp:997
meshx_err_t plat_model_delete(void) override
Deletes the Generic Client Property Server model.
Definition meshx_model_property.cpp:1137
meshx_err_t model_from_ble_cb(dev_struct_t *, control_task_msg_evt_t, meshx_ptr_t) override
Callback function for handling BLE mesh events for Generic Manufacturer Property Server Model.
Definition meshx_model_property.cpp:569
bool element_msg_prepared
Definition meshx_model_property.hpp:192
meshx_err_t plat_model_delete(void) override
Deletes the Generic Manufacturer Property Server model and its associated resources.
Definition meshx_model_property.cpp:735
meshx_err_t element_state_change_handle(void) override
Handle state change request from element.
Definition meshx_model_property.cpp:647
meshx_err_t plat_model_create(MESHX_MODEL *p_plat_model_ptr=nullptr) override
Creates and initializes a server model instance for Generic Manufacturer Property Server.
Definition meshx_model_property.cpp:702
meshx_property_srv_el_msg_t element_msg
Definition meshx_model_property.hpp:189
meshXGenericManufacturerPropertyServerModel(meshXElementIF *parent_element=nullptr, meshx_ptr_t parent_element_state=nullptr, uint16_t model_func_id=0)
Constructor for Generic Manufacturer Property Server Model.
Definition meshx_model_property.cpp:679
meshx_err_t prepare_element_msg(meshx_ptr_t *msg_ptr, size_t *msg_size) override
Prepare message for element notification.
Definition meshx_model_property.cpp:615
meshx_err_t model_send(meshx_gen_property_send_params_t *params) override
Send a packet to the MeshX stack based on the given parameters.
Definition meshx_model_property.cpp:537
meshx_gen_property_model_state_t model_state
Definition meshx_model_property.hpp:186
~meshXGenericManufacturerPropertyServerModel()=default
meshx_err_t prepare_element_msg(meshx_ptr_t *msg_ptr, size_t *msg_size) override
Prepare message for element notification.
Definition meshx_model_property.cpp:113
meshx_err_t model_send(meshx_gen_property_send_params_t *params) override
Send a packet to the MeshX stack based on the given parameters.
Definition meshx_model_property.cpp:209
~meshXGenericPropertyClientModel()=default
meshx_property_cli_el_msg_t element_msg
Definition meshx_model_property.hpp:94
meshx_err_t model_from_ble_cb(dev_struct_t *, control_task_msg_evt_t, meshx_ptr_t) override
Creates a meshXGenericPropertyClientModel instance based on a BLE device.
Definition meshx_model_property.cpp:175
meshx_err_t element_state_change_handle(void) override
Handle state change request from element.
Definition meshx_model_property.cpp:140
meshXGenericPropertyClientModel(meshXElementIF *parent_element=nullptr, meshx_ptr_t parent_element_state=nullptr, uint16_t model_func_id=0)
A template class for creating Generic Property Client models.
Definition meshx_model_property.cpp:283
meshx_err_t meshx_state_change_notify(const meshx_gen_cli_cb_param_t *param, uint8_t status)
Handle Generic Property state change notifications from the MeshX stack.
Definition meshx_model_property.cpp:39
meshx_gen_property_model_state_t model_state
Definition meshx_model_property.hpp:91
~meshXGenericUserPropertyServerModel()=default
bool element_msg_prepared
Definition meshx_model_property.hpp:235
meshXGenericUserPropertyServerModel(meshXElementIF *parent_element=nullptr, meshx_ptr_t parent_element_state=nullptr, uint16_t model_func_id=0)
Constructor for Generic User Property Server Model.
Definition meshx_model_property.cpp:909
meshx_err_t model_from_ble_cb(dev_struct_t *, control_task_msg_evt_t, meshx_ptr_t) override
Callback function for handling BLE mesh events for Generic User Property Server Model.
Definition meshx_model_property.cpp:799
meshx_err_t plat_model_delete(void) override
Deletes the Generic User Property Server model and its associated resources.
Definition meshx_model_property.cpp:965
meshx_err_t model_send(meshx_gen_property_send_params_t *params) override
Send a packet to the MeshX stack based on the given parameters.
Definition meshx_model_property.cpp:767
meshx_gen_property_model_state_t model_state
Definition meshx_model_property.hpp:229
meshx_property_srv_el_msg_t element_msg
Definition meshx_model_property.hpp:232
meshx_err_t element_state_change_handle(void) override
Handle state change request from element.
Definition meshx_model_property.cpp:877
meshx_err_t plat_model_create(MESHX_MODEL *p_plat_model_ptr=nullptr) override
Creates and initializes a server model instance for Generic User Property Server.
Definition meshx_model_property.cpp:932
meshx_err_t prepare_element_msg(meshx_ptr_t *msg_ptr, size_t *msg_size) override
Prepare message for element notification.
Definition meshx_model_property.cpp:845
meshXElementIF * parent_element
Definition meshx_model_class.hpp:42
meshx_err_t status
Definition meshx_model_class.hpp:179
uint16_t model_func_id
Definition meshx_model_class.hpp:181
meshXClientModel(MESHX_MODEL *p_plat_model, uint32_t model_id, meshXElementIF *parent_element=nullptr, meshx_ptr_t parent_element_state=nullptr, uint16_t model_func_id=0)
Definition meshx_model_class.cpp:216
meshXServerModel(MESHX_MODEL *p_plat_model, uint32_t model_id, meshXElementIF *parent_element=nullptr, meshx_ptr_t parent_element_state=nullptr, uint16_t model_func_id=0)
Definition meshx_model_class.cpp:200
Header file for MeshX Generic Client and Server model declarations.
struct meshx_model meshx_model_t
struct meshx_ctx meshx_ctx_t
Structure to hold context information for BLE Mesh operations.
void * meshx_ptr_t
Definition meshx_ble_mesh_cmn_def.h:636
struct meshx_gen_cli_cb_param meshx_gen_cli_cb_param_t
Callback parameters for Generic Client Model events. This structure is used to pass information about...
struct dev_struct dev_struct_t
Structure representing the device composition and elements.
uint32_t control_task_msg_evt_t
Type definition for control task message event.
Definition meshx_control_task.h:81
meshx_err_t
MeshX Error Codes.
Definition meshx_err.h:43
Template declarations for MeshX model wrapper classes.
struct meshx_cli_model_send_param_header meshx_cli_model_send_param_header_t
Definition meshx_model_class.hpp:417
struct meshx_srv_model_send_param_header meshx_srv_model_send_param_header_t
Definition meshx_model_class.hpp:354
struct meshx_gen_property_model_state meshx_gen_property_model_state_t
Definition meshx_model_property.hpp:50
#define MESHX_GEN_USER_PROPERTY_SERVER_MODEL_TEMPLATE_PROTO
Definition meshx_model_property.hpp:34
struct meshx_property_cli_el_msg meshx_property_cli_el_msg_t
Definition meshx_model_property.hpp:76
#define MESHX_GEN_PROPERTY_CLIENT_MODEL_TEMPLATE_PROTO
Definition meshx_model_property.hpp:25
#define MESHX_GEN_CLIENT_PROPERTY_SERVER_MODEL_TEMPLATE_PROTO
Definition meshx_model_property.hpp:37
struct meshx_property_srv_el_msg meshx_property_srv_el_msg_t
Definition meshx_model_property.hpp:127
struct meshx_gen_property_send_params meshx_gen_property_send_params_t
Definition meshx_model_property.hpp:62
#define MESHX_GEN_MANUFACTURER_PROPERTY_SERVER_MODEL_TEMPLATE_PROTO
Definition meshx_model_property.hpp:31
#define MESHX_GEN_ADMIN_PROPERTY_SERVER_MODEL_TEMPLATE_PROTO
Definition meshx_model_property.hpp:28
Structure to hold the Property model state.
Definition meshx_model_property.hpp:44
uint16_t property_id
Definition meshx_model_property.hpp:45
uint8_t access
Definition meshx_model_property.hpp:47
meshx_ptr_t property_value
Definition meshx_model_property.hpp:46
Structure to hold the parameters for sending a Generic Property message.
Definition meshx_model_property.hpp:56
meshx_gen_property_model_state_t state
Definition meshx_model_property.hpp:59
meshx_ctx_t * ctx
Definition meshx_model_property.hpp:58
meshx_model_t * model
Definition meshx_model_property.hpp:57
Structure to hold the Property Server to parent element message. The structure is used by the on_mode...
Definition meshx_model_property.hpp:71
meshx_gen_property_model_state_t state
Definition meshx_model_property.hpp:73
meshx_cli_model_send_param_header_t header
Definition meshx_model_property.hpp:72
Structure to hold the Property Server to parent element message. The structure is used by the on_mode...
Definition meshx_model_property.hpp:122
meshx_srv_model_send_param_header_t header
Definition meshx_model_property.hpp:123
meshx_gen_property_model_state_t state
Definition meshx_model_property.hpp:124