Zigbee Protocol Controller 1.6.0
attribute_resolver.h File Reference
#include "sl_status.h"
#include "attribute_store.h"
#include "clock.h"
#include <stdbool.h>

Go to the source code of this file.

Classes

struct  attribute_resolver_config_t
 

Macros

#define MAX_FRAME_LEN   255
 

Typedefs

typedef void(* attribute_resolver_callback_t) (attribute_store_node_t node)
 A callback type for notifying about resolver events. More...
 
typedef sl_status_t(* attribute_resolver_function_t) (attribute_store_node_t node, uint8_t *frame, uint16_t *frame_len)
 Generator function for building PAN frames. More...
 

Functions

sl_status_t attribute_resolver_init (attribute_resolver_config_t resolver_config)
 Initialize the attribute resolver. This function will clear the rulebook and reset the resolver state. More...
 
int attribute_resolver_teardown ()
 Teardown the attribute resolver. More...
 
sl_status_t attribute_resolver_register_rule (attribute_store_type_t node_type, attribute_resolver_function_t set_func, attribute_resolver_function_t get_func)
 Register an attribute rule. More...
 
sl_status_t attribute_resolver_set_attribute_depth (attribute_store_type_t node_type, int depth)
 Set the relative depth of an attribute in the attribute tree. More...
 
void attribute_resolver_pause_node_resolution (attribute_store_node_t node)
 Pause the resolution on a given node. More...
 
void attribute_resolver_resume_node_resolution (attribute_store_node_t node)
 Resume the resolution on a given node. More...
 
void attribute_resolver_set_resolution_listener (attribute_store_node_t node, attribute_resolver_callback_t callback)
 Register a listener to be called when a node and all its children has been resolved. More...
 
void attribute_resolver_clear_resolution_listener (attribute_store_node_t node, attribute_resolver_callback_t callback)
 Clear a node resolve listener. More...
 
void attribute_resolver_set_resolution_give_up_listener (attribute_store_type_t node_type, attribute_resolver_callback_t callback)
 Registers a listener that will be informed if we give up trying to perform a Get resolution on a node. More...
 
void attribute_resolver_set_resolution_resumption_listener (attribute_store_node_t node, attribute_resolver_callback_t callback)
 Sets a listener for unpausing nodes. More...
 
void attribute_resolver_clear_resolution_resumption_listener (attribute_store_node_t node, attribute_resolver_callback_t callback)
 Sets a listener for unpausing nodes. More...
 
sl_status_t attribute_resolver_restart_set_resolution (attribute_store_node_t node)
 Instructs the resolver to try to resolve a set rule that was pending. More...
 
sl_status_t attribute_resolver_restart_get_resolution (attribute_store_node_t node)
 Instructs the resolver to try to resolve a get rule that was pending. More...
 
attribute_resolver_config_t attribute_resolver_get_config ()
 returns the current configuration for the attribute resolver More...
 
bool attribute_resolver_node_or_child_needs_resolution (attribute_store_node_t node)
 Verifies if the provided node, or any of its child needs resolution. More...
 
bool is_node_or_parent_paused (attribute_store_node_t node)
 This function traverses attribute store to check if any parent of the attribute node is paused or not. More...
 
bool is_node_pending_set_resolution (attribute_store_node_t node)
 Returns true if a node is pending a set resolution. i.e. command has been sent and we are waiting for a state update in the attribute store. More...
 
void attribute_resolver_state_log ()
 Log the state of the Attribute Resolver using Unify Logging system. More...