Zigbee Protocol Controller 1.6.0
attribute_resolver_rule.h
Go to the documentation of this file.
1/******************************************************************************
2 * # License
3 * <b>Copyright 2021 Silicon Laboratories Inc. www.silabs.com</b>
4 ******************************************************************************
5 * The licensor of this software is Silicon Laboratories Inc. Your use of this
6 * software is governed by the terms of Silicon Labs Master Software License
7 * Agreement (MSLA) available at
8 * www.silabs.com/about-us/legal/master-software-license-agreement. This
9 * software is distributed to you in Source Code format and is governed by the
10 * sections of the MSLA applicable to Source Code.
11 *
12 *****************************************************************************/
20#ifndef ATTRIBUTE_RESOLVER_RULE_H
21#define ATTRIBUTE_RESOLVER_RULE_H
22
23#include "attribute_store.h"
24#include "attribute_resolver.h"
25#include "clock.h"
26
27#ifdef __cplusplus
28extern "C" {
29#endif
34typedef enum {
57
62typedef enum {
68
73
82
93
104
114
124
137 clock_time_t transmit_time,
139 resolver_rule_type_t rule_type);
140
141#ifdef __cplusplus
142}
143#endif
144
145#endif //ATTRIBUTE_RESOLVER_RULE_H
attribute_resolver_function_t attribute_resolver_set_function(attribute_store_type_t node_type)
Return the set function for a given attribute type.
void attribute_resolver_register_set_rule_listener(resolver_on_set_rule_registered_t function)
Registers a callback/listening function for the known set rules. This function will be invoked for ea...
void on_resolver_send_data_complete(resolver_send_status_t status, clock_time_t transmit_time, attribute_store_node_t node, resolver_rule_type_t rule_type)
Callback function which must be called when frame tranmission is done.
bool attribute_resolver_has_get_rule(attribute_store_type_t node_type)
Returns if the Rule Book can resolve a Get Rule for the attribute type.
resolver_rule_type_t
Status code for the frame transmission.
Definition: attribute_resolver_rule.h:62
@ RESOLVER_SET_RULE
Rule type is a set.
Definition: attribute_resolver_rule.h:64
@ RESOLVER_GET_RULE
Rule type is a get.
Definition: attribute_resolver_rule.h:66
resolver_send_status_t
Status code for the frame transmission.
Definition: attribute_resolver_rule.h:34
@ RESOLVER_SEND_STATUS_OK_EXECUTION_PENDING
Definition: attribute_resolver_rule.h:41
@ RESOLVER_SEND_STATUS_OK
Definition: attribute_resolver_rule.h:37
@ RESOLVER_SEND_STATUS_FAIL
Definition: attribute_resolver_rule.h:44
@ RESOLVER_SEND_STATUS_ALREADY_HANDLED
Definition: attribute_resolver_rule.h:53
@ RESOLVER_SEND_STATUS_OK_EXECUTION_VERIFIED
Definition: attribute_resolver_rule.h:47
@ RESOLVER_SEND_STATUS_ABORTED
The resolution was aborted and we should move on.
Definition: attribute_resolver_rule.h:55
@ RESOLVER_SEND_STATUS_OK_EXECUTION_FAILED
Definition: attribute_resolver_rule.h:50
void(* resolver_on_set_rule_registered_t)(attribute_store_type_t)
Function prototype for getting notified of set rules.
Definition: attribute_resolver_rule.h:72
bool attribute_resolver_has_set_rule(attribute_store_type_t node_type)
Returns if the Rule Book can resolve a Set Rule for the attribute type.
attribute_resolver_function_t attribute_resolver_get_function(attribute_store_type_t node_type)
Return the get function for a given attribute type.
uint32_t attribute_store_type_t
Definition: attribute_store.h:50
uint32_t clock_time_t
Definition: contiki-conf.h:31
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.
Definition: attribute_resolver.h:111
datastore_attribute_id_t attribute_store_node_t
Handle to identify attribute store nodes.
Definition: attribute_store.h:101