25#ifndef ZWAVE_COMMAND_CLASS_ASSOCIATION_HELPER_H
26#define ZWAVE_COMMAND_CLASS_ASSOCIATION_HELPER_H
28#include "attribute_store.h"
52 attribute_store_type_t type);
uint32_t sl_status_t
Definition: sl_status.h:139
sl_status_t add_reported_association(zwave_node_id_t node_id, zwave_endpoint_id_t endpoint_id, association_group_id_t group_id, association_t association)
Adds a reported association in a group in the Attribute Store.
sl_status_t remove_desired_association(zwave_node_id_t node_id, zwave_endpoint_id_t endpoint_id, association_group_id_t group_id, association_t association)
Removes a desired association in a group in the Attribute Store.
bool is_desired_group_full(zwave_node_id_t node_id, zwave_endpoint_id_t endpoint_id, association_group_id_t group_id)
Checks if the desired value of an association group is full.
sl_status_t remove_all_reported_node_id_associations(zwave_node_id_t node_id, zwave_endpoint_id_t endpoint_id, association_group_id_t group_id)
Removes all reported NodeID associations in a group in the Attribute Store.
sl_status_t add_desired_association(zwave_node_id_t node_id, zwave_endpoint_id_t endpoint_id, association_group_id_t group_id, association_t association)
Adds a desired association in a group in the Attribute Store.
sl_status_t remove_all_desired_associations(zwave_node_id_t node_id, zwave_endpoint_id_t endpoint_id, association_group_id_t group_id)
Removes all desired association in a group in the Attribute Store. It will set the attribute to an AS...
attribute_store_node_t get_group_content_node(zwave_node_id_t node_id, zwave_endpoint_id_t endpoint_id, association_group_id_t group_id)
Finds the Attribute Store Node for the group content.
bool is_association_in_group(zwave_node_id_t node_id, zwave_endpoint_id_t endpoint_id, association_group_id_t group_id, association_t association)
Checks if an association is already part of a group.
sl_status_t remove_all_reported_associations(zwave_node_id_t node_id, zwave_endpoint_id_t endpoint_id, association_group_id_t group_id)
Removes all reported association in a group in the Attribute Store. It will set the attribute to an A...
sl_status_t force_add_desired_association(zwave_node_id_t node_id, zwave_endpoint_id_t endpoint_id, association_group_id_t group_id, association_t new_association)
Adds a desired association in a group in the Attribute Store and remove an existing association if ne...
association_group_count_t get_number_of_groups(zwave_node_id_t node_id, zwave_endpoint_id_t endpoint_id)
Returns how many groups are supported by an endpoint.
sl_status_t remove_reported_association(zwave_node_id_t node_id, zwave_endpoint_id_t endpoint_id, association_group_id_t group_id, association_t association)
Removes a reported association in a group in the Attribute Store.
void remove_desired_node_id_from_all_associations_in_network(zwave_node_id_t node_id)
Attempts to remove a NodeID for all associations groups in the current network.
bool is_reported_group_full(zwave_node_id_t node_id, zwave_endpoint_id_t endpoint_id, association_group_id_t group_id)
Checks if the reported value of an association group is full.
association_group_capacity_t get_group_capacity(zwave_node_id_t node_id, zwave_endpoint_id_t endpoint_id, association_group_id_t group_id)
Checks in the attribute store the maximum number of associations for a group.
void remove_desired_node_id_from_all_associations(zwave_node_id_t node_id_to_remove, zwave_node_id_t node_id, zwave_endpoint_id_t endpoint_id)
Attempts to remove a NodeID for all associations groups for a given NodeID/Ep.
attribute_store_node_t get_group_child_node(zwave_node_id_t node_id, zwave_endpoint_id_t endpoint_id, association_group_id_t group_id, attribute_store_type_t type)
Get the Attribute store node of a certain type under an association Group ID.
void add_desired_association_in_all_groups(zwave_node_id_t node_id, zwave_endpoint_id_t endpoint_id, association_t association)
Attempts to add an Association for all associations groups for a given NodeID/Ep.
void remove_desired_association_in_all_groups(zwave_node_id_t node_id, zwave_endpoint_id_t endpoint_id, association_t association)
Attempts to remove an Association for all associations groups for a given NodeID/Ep.
uint32_t association_group_count_t
Association Group count Type
Definition: zwave_command_class_association_types.h:53
uint32_t association_group_capacity_t
Association Group Capacity Type
Definition: zwave_command_class_association_types.h:51
uint8_t association_group_id_t
Association Group ID Type
Definition: zwave_command_class_association_types.h:49
uint8_t zwave_endpoint_id_t
Z-Wave Endpoint ID type.
Definition: zwave_node_id_definitions.h:125
uint16_t zwave_node_id_t
Z-Wave NodeID type.
Definition: zwave_node_id_definitions.h:84
Association object.
Definition: zwave_command_class_association_types.h:39
const zwave_endpoint_id_t endpoint_id
const zwave_node_id_t node_id