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_composition_builder.hpp
Go to the documentation of this file.
1/**
2 * @file meshx_composition_builder.hpp
3 * @brief Header file for the BLE Mesh composition builder.
4 *
5 * This file contains the meshXCompositionBuilder class definition which provides
6 * a fluent API for building the mesh composition.
7 *
8 * @author Pranjal Chanda
9 * @date 2024-2025
10 * @copyright Copyright 2024 - 2025 MeshX
11 */
12
13#ifndef __MESHX_COMPOSITION_BUILDER_HPP__
14#define __MESHX_COMPOSITION_BUILDER_HPP__
15
16#include <meshx_fwd_decl.hpp>
17#include <meshx_composition.hpp>
18
19/**
20 * @class meshXCompositionBuilder
21 * @brief Fluent API for building the mesh composition.
22 */
24public:
26
27 /**
28 * @brief Start building the composition
29 * @return Reference to the builder
30 */
32
33 /**
34 * @brief Add a Relay Server element
35 * @return Reference to the builder
36 */
38
39 /**
40 * @brief Add a Relay Client element
41 * @return Reference to the builder
42 */
44
45 /**
46 * @brief Add a Light CWWW Server element
47 * @return Reference to the builder
48 */
50
51 /**
52 * @brief Add a Light CWWW Client element
53 * @return Reference to the builder
54 */
56
57 /**
58 * @brief Add a Sensor Server element
59 * @return Reference to the builder
60 */
62
63 /**
64 * @brief Add an RGB (HSL) Server element
65 * @return Reference to the builder
66 */
68
69 /**
70 * @brief Commit the composition (Triggers Baking)
71 * @return Reference to the builder
72 */
74};
75
76#endif /* __MESHX_COMPOSITION_BUILDER_HPP__ */
meshXCompositionBuilder & add_rgb_server()
Add an RGB (HSL) Server element.
Definition meshx_composition_builder.cpp:78
meshXCompositionBuilder & add_relay_client()
Add a Relay Client element.
Definition meshx_composition_builder.cpp:42
meshXCompositionBuilder & add_cwww_client()
Add a Light CWWW Client element.
Definition meshx_composition_builder.cpp:60
meshXCompositionBuilder & add_cwww_server()
Add a Light CWWW Server element.
Definition meshx_composition_builder.cpp:51
meshXCompositionBuilder & add_sensor_server()
Add a Sensor Server element.
Definition meshx_composition_builder.cpp:69
meshXCompositionBuilder()=default
meshXCompositionBuilder & commit()
Commit the composition (Triggers Baking).
Definition meshx_composition_builder.cpp:87
meshXCompositionBuilder & begin()
Start building the composition.
Definition meshx_composition_builder.cpp:23
meshXCompositionBuilder & add_relay_server()
Add a Relay Server element.
Definition meshx_composition_builder.cpp:33
Forward declaration of MeshX classes.