13#ifndef __MESHX_CWWW_ELEMENT_HPP__
14#define __MESHX_CWWW_ELEMENT_HPP__
22#define MESHX_CWWW_SERVER_ELEMENT_TEMPLATE_PROTO
23#define MESHX_CWWW_SERVER_ELEMENT_TEMPLATE_PARAMS
25#define MESHX_CWWW_CLIENT_ELEMENT_TEMPLATE_PROTO
26#define MESHX_CWWW_CLIENT_ELEMENT_TEMPLATE_PARAMS
meshx_cwww_cli_el_ctx_t element_ctx
Definition meshx_cwww_element.hpp:141
void handle_config(control_task_msg_evt_t evt, const meshx_config_srv_cb_param_t *params) override
Handle configuration server events.
Definition meshx_cwww_element.cpp:357
meshx_err_t element_state_change_notify(meshx_ptr_t param, size_t param_size) override
Notify element of state change from child model.
Definition meshx_cwww_element.cpp:271
meshx_light_ctl_model_state_t & get_ctl()
Definition meshx_cwww_element.hpp:183
meshXCWWWClientElement()=delete
meshx_cwww_cli_el_ctx_t & get_ctx()
Definition meshx_cwww_element.hpp:184
static meshx_err_t s_to_ble_cb(const dev_struct_t *pdev, control_task_msg_evt_t evt, const void *params)
Definition meshx_cwww_element.cpp:364
uint8_t list_sig_models() override
Lists and creates all required SIG models for the element.
Definition meshx_cwww_element.cpp:236
const char * get_element_name(void) const override
Get the name of the element.
Definition meshx_cwww_element.cpp:264
meshXCWWWClientElement(uint16_t element_idx)
Constructs a new meshXCWWWClientElement instance. The meshXCWWWClientElement represents a CWWW client...
Definition meshx_cwww_element.cpp:212
void sync(control_task_msg_evt_t evt) override
Synchronize element state (GET requests).
Definition meshx_cwww_element.cpp:311
uint8_t list_ven_models() override
Lists Vendor models for CWWW Client Element (none required).
Definition meshx_cwww_element.cpp:258
uint8_t get_onoff()
Definition meshx_cwww_element.hpp:182
const char * get_element_name(void) const override
Get the name of the element.
Definition meshx_cwww_element.cpp:117
uint8_t get_onoff()
Definition meshx_cwww_element.hpp:103
meshx_err_t element_state_change_notify(meshx_ptr_t param, size_t param_size) override
Notify element of state change from child model.
Definition meshx_cwww_element.cpp:124
meshx_cwww_srv_el_ctx_t element_ctx
Definition meshx_cwww_element.hpp:63
meshXCWWWServerElement(uint16_t element_idx)
Constructs a new meshXCWWWServerElement instance. The meshXCWWWServerElement represents a CWWW server...
Definition meshx_cwww_element.cpp:65
meshx_light_ctl_model_state_t & get_ctl()
Definition meshx_cwww_element.hpp:104
uint8_t list_ven_models() override
Lists Vendor models for CWWW Server Element (none required).
Definition meshx_cwww_element.cpp:111
uint8_t list_sig_models() override
Lists and creates all required SIG models for the element.
Definition meshx_cwww_element.cpp:89
void sync(control_task_msg_evt_t evt) override
Synchronize element state (Status broadcast).
Definition meshx_cwww_element.cpp:168
meshXCWWWServerElement()=delete
void handle_config(control_task_msg_evt_t evt, const meshx_config_srv_cb_param_t *params) override
Handle configuration server events.
Definition meshx_cwww_element.cpp:190
static meshx_err_t s_to_ble_cb(const dev_struct_t *pdev, control_task_msg_evt_t evt, const void *params)
Definition meshx_cwww_element.cpp:197
meshXElementClient()=default
uint16_t element_idx
Definition meshx_fwd_decl.hpp:84
meshXElementServer()=default
void * meshx_ptr_t
Definition meshx_ble_mesh_cmn_def.h:636
struct meshx_config_srv_cb_param meshx_config_srv_cb_param_t
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
#define MESHX_CWWW_SERVER_ELEMENT_TEMPLATE_PROTO
Definition meshx_cwww_element.hpp:22
meshxCWWWServerElementComposition
Definition meshx_cwww_element.hpp:53
@ MESHX_CWWW_SERVER_ELEMENT_COMP_LIGHT_CTL_SERVER
Definition meshx_cwww_element.hpp:55
@ MESHX_CWWW_SERVER_ELEMENT_COMP_GENERIC_ONOFF_SERVER
Definition meshx_cwww_element.hpp:54
@ MESHX_CWWW_SERVER_ELEMENT_COMP_MAX
Definition meshx_cwww_element.hpp:56
#define MESHX_CWWW_CLIENT_ELEMENT_TEMPLATE_PROTO
Definition meshx_cwww_element.hpp:25
#define MESHX_CWWW_SERVER_ELEMENT_TEMPLATE_PARAMS
Definition meshx_cwww_element.hpp:23
#define MESHX_CWWW_CLIENT_ELEMENT_TEMPLATE_PARAMS
Definition meshx_cwww_element.hpp:26
meshxCWWWClientElementComposition
Definition meshx_cwww_element.hpp:131
@ MESHX_CWWW_CLIENT_ELEMENT_COMP_MAX
Definition meshx_cwww_element.hpp:134
@ MESHX_CWWW_CLIENT_ELEMENT_COMP_LIGHT_CTL_CLIENT
Definition meshx_cwww_element.hpp:133
@ MESHX_CWWW_CLIENT_ELEMENT_COMP_GENERIC_ONOFF_CLIENT
Definition meshx_cwww_element.hpp:132
MeshX Element class and interface declaration This file contains the meshXElement class and its inter...
meshx_err_t
MeshX Error Codes.
Definition meshx_err.h:43
Header file for MeshX Light CTL Models This file contains the declarations and definitions for the Me...
struct meshx_light_ctl_model_state meshx_light_ctl_model_state_t
Definition meshx_model_ctl.hpp:42
Implementation of Generic OnOff Client Model for MeshX.
struct meshx_gen_onoff_model_state meshx_gen_onoff_model_state_t
Definition meshx_model_onoff.hpp:38
CWWW client element context structure.
Definition meshx_cwww_element.hpp:119
meshx_light_ctl_model_state_t light_ctl_state
Definition meshx_cwww_element.hpp:126
uint16_t app_id
Definition meshx_cwww_element.hpp:121
meshx_gen_onoff_model_state_t gen_on_off_state
Definition meshx_cwww_element.hpp:124
uint16_t pub_addr
Definition meshx_cwww_element.hpp:122
uint8_t ctl_tid
Definition meshx_cwww_element.hpp:127
CWWW server element context structure.
Definition meshx_cwww_element.hpp:36
meshx_gen_onoff_model_state_t gen_on_off_state
Definition meshx_cwww_element.hpp:41
uint16_t app_id
Definition meshx_cwww_element.hpp:38
meshx_light_ctl_model_state_t light_ctl_state
Definition meshx_cwww_element.hpp:43
uint16_t pub_addr
Definition meshx_cwww_element.hpp:39