MeshX 0.4
This repository provides an implementation for Bluetooth Low Energy (BLE) Mesh network nodes. The project allows you to create BLE mesh nodes that can communicate with each other, enabling the development of smart home solutions or other IoT-based applications.
Loading...
Searching...
No Matches
meshx_base_model_class.cpp File Reference

Implementation of the MeshX base model classes for BLE mesh nodes. More...

Variables

template<typename baseServerModelDerived_t, typename ble_mesh_send_msg_params_t, typename ble_mesh_plat_restore_params_t, typename ble_mesh_plat_cb_params_t>
std::forward_list< typename meshXBaseServerModel< baseServerModelDerived_t, ble_mesh_send_msg_params_t, ble_mesh_plat_restore_params_t, ble_mesh_plat_cb_params_t >::base_server_model_cb_reg_t > meshXBaseServerModel< baseServerModelDerived_t, ble_mesh_send_msg_params_t, ble_mesh_plat_restore_params_t, ble_mesh_plat_cb_params_t >::base_server_model_cb_list = { }
template<typename baseServerModelDerived_t, typename ble_mesh_send_msg_params_t, typename ble_mesh_plat_restore_params_t, typename ble_mesh_plat_cb_params_t>
std::once_flag meshXBaseServerModel< baseServerModelDerived_t, ble_mesh_send_msg_params_t, ble_mesh_plat_restore_params_t, ble_mesh_plat_cb_params_t >::plat_server_init_flag
template<typename ble_mesh_send_msg_params_t>
std::forward_list< typename meshXBaseModel< ble_mesh_send_msg_params_t >::reg_info > meshXBaseModel< ble_mesh_send_msg_params_t >::registrations = { }
 Subscribes to a BLE message associated with the given model ID.
template<typename baseClientModelDerived_t, typename ble_mesh_send_msg_params_t, typename ble_mesh_plat_model_cb_params_t>
std::forward_list< typename meshXBaseClientModel< baseClientModelDerived_t, ble_mesh_send_msg_params_t, ble_mesh_plat_model_cb_params_t >::base_client_model_cb_reg_t > meshXBaseClientModel< baseClientModelDerived_t, ble_mesh_send_msg_params_t, ble_mesh_plat_model_cb_params_t >::base_client_model_cb_list = { }
template<typename baseClientModelDerived_t, typename ble_mesh_send_msg_params_t, typename ble_mesh_plat_model_cb_params_t>
std::once_flag meshXBaseClientModel< baseClientModelDerived_t, ble_mesh_send_msg_params_t, ble_mesh_plat_model_cb_params_t >::plat_client_init_flag

Detailed Description

Implementation of the MeshX base model classes for BLE mesh nodes.

This file contains the implementation of the template-based base model classes for both client and server models in the MeshX BLE mesh framework. It provides the core functionality for model initialization, callback management, message handling, and transmission control.

Key Features:

  • Template-based architecture for type safety and performance
  • Static callback dispatching with per-template instance management
  • Enhanced debugging with template type identification
  • Model validation and error handling
  • Integration with the MeshX transmission control module (TXCM)
Author
Pranjal Chanda
Date
2024-2025

Variable Documentation

◆ meshXBaseClientModel< baseClientModelDerived_t, ble_mesh_send_msg_params_t, ble_mesh_plat_model_cb_params_t >::base_client_model_cb_list

template<typename baseClientModelDerived_t, typename ble_mesh_send_msg_params_t, typename ble_mesh_plat_model_cb_params_t>
std::forward_list<typename meshXBaseClientModel <baseClientModelDerived_t, ble_mesh_send_msg_params_t, ble_mesh_plat_model_cb_params_t>::base_client_model_cb_reg_t> meshXBaseClientModel< baseClientModelDerived_t, ble_mesh_send_msg_params_t, ble_mesh_plat_model_cb_params_t >::base_client_model_cb_list = { }
245{ };

◆ meshXBaseClientModel< baseClientModelDerived_t, ble_mesh_send_msg_params_t, ble_mesh_plat_model_cb_params_t >::plat_client_init_flag

template<typename baseClientModelDerived_t, typename ble_mesh_send_msg_params_t, typename ble_mesh_plat_model_cb_params_t>
std::once_flag meshXBaseClientModel< baseClientModelDerived_t, ble_mesh_send_msg_params_t, ble_mesh_plat_model_cb_params_t >::plat_client_init_flag

◆ meshXBaseModel< ble_mesh_send_msg_params_t >::registrations

template<typename ble_mesh_send_msg_params_t>
std::forward_list<typename meshXBaseModel <ble_mesh_send_msg_params_t>::reg_info> meshXBaseModel< ble_mesh_send_msg_params_t >::registrations = { }

Subscribes to a BLE message associated with the given model ID.

This function subscribes to a BLE message associated with the given model ID, allowing the server to handle events or messages related to that model.

Returns
meshx_err_t Returns an error code indicating the result of the subscription. Possible values include success or specific error codes.
79{ };

◆ meshXBaseServerModel< baseServerModelDerived_t, ble_mesh_send_msg_params_t, ble_mesh_plat_restore_params_t, ble_mesh_plat_cb_params_t >::base_server_model_cb_list

template<typename baseServerModelDerived_t, typename ble_mesh_send_msg_params_t, typename ble_mesh_plat_restore_params_t, typename ble_mesh_plat_cb_params_t>
std::forward_list<typename meshXBaseServerModel <baseServerModelDerived_t, ble_mesh_send_msg_params_t, ble_mesh_plat_restore_params_t, ble_mesh_plat_cb_params_t>::base_server_model_cb_reg_t> meshXBaseServerModel< baseServerModelDerived_t, ble_mesh_send_msg_params_t, ble_mesh_plat_restore_params_t, ble_mesh_plat_cb_params_t >::base_server_model_cb_list = { }
30{ };

◆ meshXBaseServerModel< baseServerModelDerived_t, ble_mesh_send_msg_params_t, ble_mesh_plat_restore_params_t, ble_mesh_plat_cb_params_t >::plat_server_init_flag

template<typename baseServerModelDerived_t, typename ble_mesh_send_msg_params_t, typename ble_mesh_plat_restore_params_t, typename ble_mesh_plat_cb_params_t>
std::once_flag meshXBaseServerModel< baseServerModelDerived_t, ble_mesh_send_msg_params_t, ble_mesh_plat_restore_params_t, ble_mesh_plat_cb_params_t >::plat_server_init_flag