13#ifndef _MESHX_MODEL_CONFIG_HPP_
14#define _MESHX_MODEL_CONFIG_HPP_
24#if CONFIG_ENABLE_CONFIG_SERVER
26#define MESHX_CONFIG_SERVER_MODEL_TEMPLATE_PROTO
27#define MESHX_CONFIG_SERVER_MODEL_TEMPLATE_PARAMS
meshx_err_t element_state_change_handle(void) override
Handle state change request from element.
Definition meshx_model_config.hpp:74
meshx_config_srv_el_msg_t element_msg
Definition meshx_model_config.hpp:70
meshx_err_t model_from_ble_cb(dev_struct_t *, control_task_msg_evt_t, meshx_ptr_t) override
This function is the callback for the Config Server model.
Definition meshx_model_config.cpp:128
meshx_err_t plat_model_delete(void) override
Deletes the Config Server model and its associated resources.
Definition meshx_model_config.cpp:66
meshx_err_t model_send(meshx_config_send_params_t *params) override
Send a packet to the MeshX stack based on the given parameters.
Definition meshx_model_config.cpp:87
meshx_err_t prepare_element_msg(meshx_ptr_t *msg_ptr, size_t *msg_size) override
Prepare message for element notification.
Definition meshx_model_config.cpp:247
meshXConfigModel(meshXElementIF *parent_element, meshx_ptr_t parent_element_state, uint16_t model_func_id)
Constructor for meshXConfigModel class.
Definition meshx_model_config.cpp:269
~meshXConfigModel() override=default
meshx_err_t plat_model_create(MESHX_MODEL *p_plat_model_ptr=nullptr) override
Creates and initializes a config server model instance.
Definition meshx_model_config.cpp:22
meshx_config_model_state_t model_state
Definition meshx_model_config.hpp:67
Interface class for MeshX elements.
Definition meshx_fwd_decl.hpp:82
meshXElementIF * parent_element
Definition meshx_model_class.hpp:42
uint16_t model_func_id
Definition meshx_model_class.hpp:181
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 Config Server base class implementation.
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 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
Forward declaration of MeshX classes.
Template declarations for MeshX model wrapper classes.
struct meshx_srv_model_send_param_header meshx_srv_model_send_param_header_t
Definition meshx_model_class.hpp:354
struct meshx_config_send_params meshx_config_send_params_t
Definition meshx_model_config.hpp:49
struct meshx_config_model_state meshx_config_model_state_t
Definition meshx_model_config.hpp:36
#define MESHX_CONFIG_SERVER_MODEL_TEMPLATE_PROTO
Definition meshx_model_config.hpp:26
struct meshx_config_srv_el_msg meshx_config_srv_el_msg_t
Definition meshx_model_config.hpp:60
**This function is called by the parent element when a state change request *is received It validates the request and returns a result to the element not the model layer **return * MESHX_SUCCESS
Definition meshx_model_level.cpp:385
Structure to hold the Config model state.
Definition meshx_model_config.hpp:33
meshx_cfg_srv_state_change_t state_change
Definition meshx_model_config.hpp:34
Structure to hold the parameters for sending a Generic OnOff message.
Definition meshx_model_config.hpp:42
meshx_model_t * model
Definition meshx_model_config.hpp:43
uint8_t stub
Definition meshx_model_config.hpp:45
meshx_config_model_state_t state
Definition meshx_model_config.hpp:46
meshx_ctx_t * ctx
Definition meshx_model_config.hpp:44
Structure to hold config server element message parameters.
Definition meshx_model_config.hpp:55
meshx_srv_model_send_param_header_t header
Definition meshx_model_config.hpp:56
meshx_config_model_state_t state
Definition meshx_model_config.hpp:57
Configuration Server model state change value union.
Definition meshx_ble_mesh_config_srv.h:131