12#ifndef __MESHX_RELAY_ELEMENT_HPP__
13#define __MESHX_RELAY_ELEMENT_HPP__
18#define MESHX_RELAY_SERVER_ELEMENT_TEMPLATE_PROTO
19#define MESHX_RELAY_SERVER_ELEMENT_TEMPLATE_PARAMS
21#define MESHX_RELAY_CLIENT_ELEMENT_TEMPLATE_PROTO
22#define MESHX_RELAY_CLIENT_ELEMENT_TEMPLATE_PARAMS
meshXElementClient()=default
uint16_t element_idx
Definition meshx_fwd_decl.hpp:84
meshXElementServer()=default
const char * get_element_name(void) const override
Get the name of the element.
Definition meshx_relay_element.cpp:279
meshx_relay_cli_el_ctx_t element_ctx
Definition meshx_relay_element.hpp:131
void sync(control_task_msg_evt_t evt) override
Synchronize element state (GET request).
Definition meshx_relay_element.cpp:199
uint8_t list_ven_models(void) override
Lists Vendor models for Relay Client Element (none required).
Definition meshx_relay_element.cpp:273
meshXRelayClientElement(void)=delete
static meshx_err_t s_to_ble_cb(const dev_struct_t *pdev, control_task_msg_evt_t evt, const void *params)
Definition meshx_relay_element.cpp:312
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_relay_element.cpp:286
meshx_relay_cli_el_ctx_t & get_ctx()
Get the element context (Internal use).
Definition meshx_relay_element.hpp:187
uint8_t get_state() const
Get the current OnOff state of the relay client.
Definition meshx_relay_element.hpp:176
meshXRelayClientElement(uint16_t element_idx)
Constructs a new meshXRelayClientElement instance. The meshXRelayClientElement represents a relay cli...
Definition meshx_relay_element.cpp:229
void handle_config(control_task_msg_evt_t evt, const meshx_config_srv_cb_param_t *params) override
Handle configuration server events.
Definition meshx_relay_element.cpp:220
uint8_t list_sig_models(void) override
Lists and initializes SIG models for Relay Client Element.
Definition meshx_relay_element.cpp:257
void set_target_onoff(uint8_t on_off)
Set the target OnOff state for the next publication.
Definition meshx_relay_element.hpp:182
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_relay_element.cpp:121
meshXRelayServerElement(void)=delete
meshXRelayServerElement(uint16_t element_idx)
Constructs a new meshXRelayServerElement instance. The meshXRelayServerElement represents a relay ele...
Definition meshx_relay_element.cpp:64
uint8_t list_sig_models(void) override
Lists and initializes SIG models for Relay Server Element.
Definition meshx_relay_element.cpp:92
static meshx_err_t s_to_ble_cb(const dev_struct_t *pdev, control_task_msg_evt_t evt, const void *params)
Definition meshx_relay_element.cpp:175
void sync(control_task_msg_evt_t evt) override
Synchronize element state (Status broadcast).
Definition meshx_relay_element.cpp:159
uint8_t list_ven_models(void) override
Lists Vendor models for Relay Server Element (none required).
Definition meshx_relay_element.cpp:108
const char * get_element_name(void) const override
Get the name of the element.
Definition meshx_relay_element.cpp:114
meshx_relay_srv_el_ctx_t element_ctx
Definition meshx_relay_element.hpp:54
void handle_config(control_task_msg_evt_t evt, const meshx_config_srv_cb_param_t *params) override
Handle configuration server events.
Definition meshx_relay_element.cpp:154
uint8_t get_state() const
Get the current OnOff state of the relay server.
Definition meshx_relay_element.hpp:98
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
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
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
#define MESHX_RELAY_CLIENT_ELEMENT_TEMPLATE_PROTO
Definition meshx_relay_element.hpp:21
#define MESHX_RELAY_CLIENT_ELEMENT_TEMPLATE_PARAMS
Definition meshx_relay_element.hpp:22
meshxRelayServerElementComposition
Definition meshx_relay_element.hpp:45
@ MESHX_RELAY_SERVER_ELEMENT_COMP_MAX
Definition meshx_relay_element.hpp:47
@ MESHX_RELAY_SERVER_ELEMENT_COMP_GENERIC_ONOFF_SERVER
Definition meshx_relay_element.hpp:46
#define MESHX_RELAY_SERVER_ELEMENT_TEMPLATE_PARAMS
Definition meshx_relay_element.hpp:19
meshxRelayClientElementComposition
Definition meshx_relay_element.hpp:105
@ MESHX_RELAY_CLIENT_ELEMENT_COMP_GENERIC_ONOFF_CLIENT
Definition meshx_relay_element.hpp:106
@ MESHX_RELAY_CLIENT_ELEMENT_COMP_MAX
Definition meshx_relay_element.hpp:107
#define MESHX_RELAY_SERVER_ELEMENT_TEMPLATE_PROTO
Definition meshx_relay_element.hpp:18
Relay client element context structure.
Definition meshx_relay_element.hpp:118
uint16_t pub_addr
Definition meshx_relay_element.hpp:120
meshx_gen_onoff_model_state_t gen_on_off_state
Definition meshx_relay_element.hpp:121
uint16_t app_id
Definition meshx_relay_element.hpp:119
Relay server element context structure.
Definition meshx_relay_element.hpp:32
uint16_t pub_addr
Definition meshx_relay_element.hpp:34
uint16_t app_id
Definition meshx_relay_element.hpp:33
meshx_gen_onoff_model_state_t gen_on_off_state
Definition meshx_relay_element.hpp:35