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.hpp File Reference

This file declares the meshXBaseModel class and its derived Client and Server classes. More...

#include <meshx_fwd_decl.hpp>
#include <functional>
#include <forward_list>
#include <mutex>

Go to the source code of this file.

Data Structures

class  meshXBaseModel< ble_mesh_send_msg_params_t >
 Base class for all mesh models. More...
struct  meshXBaseModel< ble_mesh_send_msg_params_t >::reg_info
class  meshXBaseServerModel< baseServerModelDerived_t, ble_mesh_send_msg_params_t, ble_mesh_plat_restore_params_t, ble_mesh_plat_cb_params_t >
class  meshXBaseClientModel< baseClientModelDerived_t, ble_mesh_send_msg_params_t, ble_mesh_plat_model_cb_params_t >

Typedefs

using meshXBaseModelType_t = enum meshXBaseModelType
using control_msg_cb = std::function<meshx_err_t(dev_struct_t *, control_task_msg_evt_t, meshx_ptr_t)>
using meshx_base_cli_evt_t = enum meshx_base_cli_evt

Enumerations

enum class  meshXBaseModelType {
  MESHX_BASE_MODEL_TYPE_SERVER ,
  MESHX_BASE_MODEL_TYPE_CLIENT
}
enum class  meshx_base_cli_evt {
  MESHX_BASE_CLI_EVT_GET = (1UL << (0)) ,
  MESHX_BASE_CLI_EVT_SET = (1UL << (1)) ,
  MESHX_BASE_CLI_PUBLISH = (1UL << (2)) ,
  MESHX_BASE_CLI_TIMEOUT = (1UL << (3)) ,
  MESHX_BASE_CLI_EVT_ALL
}

Detailed Description

This file declares the meshXBaseModel class and its derived Client and Server classes.

Copyright © 2024 - 2025 MeshX

This file contains the meshXBaseModel class and its derived Client and Server classes. The meshXBaseModel class is used for the meshXBaseModel.

Author
Pranjal Chanda

Typedef Documentation

◆ control_msg_cb

◆ meshx_base_cli_evt_t

◆ meshXBaseModelType_t

Enumeration Type Documentation

◆ meshx_base_cli_evt

enum class meshx_base_cli_evt
strong
Enumerator
MESHX_BASE_CLI_EVT_GET (1UL << (0)) 
MESHX_BASE_CLI_EVT_SET (1UL << (1)) 
MESHX_BASE_CLI_PUBLISH (1UL << (2)) 
MESHX_BASE_CLI_TIMEOUT (1UL << (3)) 
MESHX_BASE_CLI_EVT_ALL ( MESHX_BASE_CLI_EVT_GET | MESHX_BASE_CLI_EVT_SET | MESHX_BASE_CLI_PUBLISH | MESHX_BASE_CLI_TIMEOUT) 
229{
239};
@ MESHX_BASE_CLI_EVT_SET
Definition meshx_base_model_class.hpp:231
@ MESHX_BASE_CLI_EVT_ALL
Definition meshx_base_model_class.hpp:234
@ MESHX_BASE_CLI_TIMEOUT
Definition meshx_base_model_class.hpp:233
@ MESHX_BASE_CLI_PUBLISH
Definition meshx_base_model_class.hpp:232
@ MESHX_BASE_CLI_EVT_GET
Definition meshx_base_model_class.hpp:230
#define MESHX_BIT(nr)
Definition meshx_ble_mesh_cmn_def.h:22

◆ meshXBaseModelType

enum class meshXBaseModelType
strong
Enumerator
MESHX_BASE_MODEL_TYPE_SERVER 
MESHX_BASE_MODEL_TYPE_CLIENT 
25{
28};
@ MESHX_BASE_MODEL_TYPE_CLIENT
Definition meshx_base_model_class.hpp:27
@ MESHX_BASE_MODEL_TYPE_SERVER
Definition meshx_base_model_class.hpp:26