27#ifndef ZIGPC_DATASTORE_HPP
28#define ZIGPC_DATASTORE_HPP
52 std::vector<zigbee_eui64_uint_t> dev_list(dev_count);
53 for (
size_t i = 0; (status ==
SL_STATUS_OK) && (i < dev_count); i++) {
79 if (eui64 ==
nullptr) {
85 std::vector<zigbee_endpoint_id_t> ep_list(ep_count);
86 for (
size_t i = 0; (status ==
SL_STATUS_OK) && (i < ep_count); i++) {
106inline std::vector<zcl_cluster_id_t>
112 size_t cluster_count = 0;
114 if (eui64 ==
nullptr) {
121 std::vector<zcl_cluster_id_t> cluster_list(cluster_count);
122 for (
size_t i = 0; (status ==
SL_STATUS_OK) && (i < cluster_count); i++) {
127 cluster_list.data() + i);
151 size_t group_count = 0;
153 if (eui64 ==
nullptr) {
159 std::vector<zigbee_group_id_t> group_list(group_count);
160 for (
size_t i = 0; (status ==
SL_STATUS_OK) && (i < group_count); i++) {
165 group_list.data() + i);
219 std::list<zigbee_binding_t>& binding_table_dest);
#define SL_STATUS_OK
No error.
Definition: sl_status.h:49
uint32_t sl_status_t
Definition: sl_status.h:139
#define SL_STATUS_NULL_POINTER
Invalid null pointer received as argument.
Definition: sl_status.h:89
uint8_t zigbee_eui64_t[ZIGBEE_EUI64_SIZE]
Zigbee Device EUI64 ID.
Definition: zigpc_common_zigbee.h:193
enum e_zcl_cluster_side zcl_cluster_side_t
An enum representing the role of the cluster on the network.
zigbee_eui64_uint_t zigbee_eui64_to_uint(const zigbee_eui64_t eui64)
Convert the array EUI64 representation into 64-bit uint representation.
Definition: zigpc_common_zigbee.c:23
uint64_t zigbee_eui64_uint_t
Zigbee Device Identifier (stored as integer)
Definition: zigpc_common_zigbee.h:199
uint8_t zigbee_endpoint_id_t
A representation of the endpoint id used on the Zigbee protocol.
Definition: zigpc_common_zigbee.h:248
sl_status_t zigpc_datastore_find_device_by_index(size_t index, zigbee_eui64_t *const eui64)
Find a particular device entity and retrieve its search key (EUI64) based on an index....
size_t zigpc_datastore_get_endpoint_count(const zigbee_eui64_t eui64)
Get count of endpoints persisted under a device.
sl_status_t zigpc_datastore_find_group_by_index(const zigbee_eui64_t eui64, zigbee_endpoint_id_t endpoint_id, bool is_reported, size_t index, zigbee_group_id_t *group_id)
Find a particular group entity persisted under a device endpoint and retrieve its search key (group_i...
sl_status_t zigpc_datastore_find_endpoint_by_index(const zigbee_eui64_t eui64, size_t index, zigbee_endpoint_id_t *endpoint_id)
Find a particular endpoint entity persisted under a device and retrieve its search key (endpoint_id) ...
size_t zigpc_datastore_get_device_count(void)
Get count of devices persisted under the network.
sl_status_t zigpc_datastore_find_cluster_by_index(const zigbee_eui64_t eui64, zigbee_endpoint_id_t endpoint_id, zcl_cluster_side_t cluster_side, size_t index, zcl_cluster_id_t *cluster_id)
Find a particular cluster entity persisted under a device endpoint and retrieve its search key (clust...
size_t zigpc_datastore_get_group_count(const zigbee_eui64_t eui64, zigbee_endpoint_id_t endpoint_id, bool is_reported)
Get count of groups persisted under an endpoint.
size_t zigpc_datastore_get_cluster_count(const zigbee_eui64_t eui64, zigbee_endpoint_id_t endpoint_id, zcl_cluster_side_t cluster_side)
Get count of clusters persisted under a device endpoint.
sl_status_t read_binding_table(zigbee_eui64_uint_t source, std::list< zigbee_binding_t > &binding_table_dest)
datastore::binding::read_binding_table Reads the stored binding table of a given node.
size_t read_binding_count(zigbee_eui64_uint_t source)
datastore::binding::add_binding Remove a binding from the binding table of a given source address.
sl_status_t add_binding(zigbee_eui64_uint_t source, zigbee_binding_t binding)
datastore::binding::add_binding Add a binding to the stored binding table of a given source address....
sl_status_t remove_binding(zigbee_eui64_uint_t source, zigbee_binding_t binding)
datastore::binding::remove_binding Remove a binding from the binding table of a given source address.
std::vector< zcl_cluster_id_t > get_id_list(const zigbee_eui64_t eui64, zigbee_endpoint_id_t ep_id, zcl_cluster_side_t cluster_side)
Get list of cluster IDs under an endpoint based on the cluser side.
Definition: zigpc_datastore.hpp:107
std::vector< zigbee_eui64_uint_t > get_id_list(void)
Get list of devices on the network.
Definition: zigpc_datastore.hpp:46
std::vector< zigbee_endpoint_id_t > get_id_list(const zigbee_eui64_t eui64)
Get list of endpoint IDs under a device.
Definition: zigpc_datastore.hpp:74
std::vector< zigbee_group_id_t > get_group_list(const zigbee_eui64_t eui64, zigbee_endpoint_id_t ep_id, bool is_reported)
Get list of group IDs under an endpoint based on the report/desired state.
Definition: zigpc_datastore.hpp:146
Definition: zigpc_datastore.hpp:38
Definition: zigpc_common_zigbee.h:380