14#ifndef ATTRIBUTE_STORE_NODE_H
15#define ATTRIBUTE_STORE_NODE_H
A node in the attribute store tree.
Definition: attribute_store_node.h:40
attribute_store_node(attribute_store_node *_parent_node, attribute_store_type_t _type, attribute_store_node_t _id)
Node class constructor.
std::vector< uint8_t > desired_value
Desired value for the node attribute.
Definition: attribute_store_node.h:53
void remove_child_link(attribute_store_node *_child_node)
Removes a child from the list of children for the current node.
attribute_store_type_t type
Definition: attribute_store_node.h:44
void log()
Logs the content of the a Node using Unify Logging system.
void log(uint8_t indent)
Logs the content of the a Node using Unify Logging system, indicating an indent to use for the curren...
std::vector< attribute_store_node * > child_nodes
Pointers to child nodes. There will be 0 to N child nodes.
Definition: attribute_store_node.h:59
attribute_store_node * find_id(attribute_store_node_t _id)
Finds if this node or one of its children have a given public interface ID.
std::vector< uint8_t > reported_value
Reported value for the node attribute.
Definition: attribute_store_node.h:55
attribute_store_node * parent_node
Pointer to the parent node in the tree.
Definition: attribute_store_node.h:57
attribute_store_node * add_child(attribute_store_type_t _type, attribute_store_node_t _id)
Add a child for the current node.
bool undergoing_deletion
Node is being deleted.
Definition: attribute_store_node.h:61
attribute_store_node_t id
Definition: attribute_store_node.h:47
~attribute_store_node()
Node class destructor.
void log_children(uint8_t indent)
Logs the content of the a Node and all its children using Unify Logging system.