Z-Wave Protocol Controller Reference
zpc_attribute_resolver_callbacks.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 *****************************************************************************/
13
24#ifndef ZPC_ATTRIBUTE_RESOLVER_CALLBACKS_H
25#define ZPC_ATTRIBUTE_RESOLVER_CALLBACKS_H
26
27#include "attribute_store.h"
28#include "attribute_resolver_rule.h"
30#include "zwave_tx.h"
31
36typedef struct resolution_map {
37 attribute_store_node_t node;
38 resolver_rule_type_t rule_type;
40
41#ifdef __cplusplus
42extern "C" {
43#endif
44
50
63 const zwapi_tx_report_t *tx_info,
64 void *user);
65
77void on_resolver_zwave_supervision_complete(uint8_t supervision_status,
78 const zwapi_tx_report_t *tx_info,
79 void *user);
80
88void add_node_in_resolution_list(attribute_store_node_t new_node,
89 resolver_rule_type_t rule_type);
90
99bool is_node_in_resolution_list(attribute_store_node_t node);
100
106void remove_node_from_resolution_list(attribute_store_node_t node);
107
115
125 attribute_store_node_t node, zwave_tx_session_id_t tx_session_id);
126
127#ifdef __cplusplus
128}
129#endif
130
131#endif //ZPC_ATTRIBUTE_RESOLVER_CALLBACKS_H
uint32_t sl_status_t
Definition: sl_status.h:139
sl_status_t attribute_resolver_associate_node_with_tx_sessions_id(attribute_store_node_t node, zwave_tx_session_id_t tx_session_id)
Links a TX Session ID with a node under resolution.
struct resolution_map resolution_map_t
Struct keeping track of a node resolved as well as the rule type being executed.
void remove_node_from_resolution_list(attribute_store_node_t node)
Functions that removes a node from the resolution list.
void on_resolver_zwave_supervision_complete(uint8_t supervision_status, const zwapi_tx_report_t *tx_info, void *user)
Send_data callback for transmissions that used Supervision encapsulation.
bool is_node_in_resolution_list(attribute_store_node_t node)
Helper function verifying if we are currently waiting for a send data callback for a given node resol...
void attribute_resolver_callbacks_reset()
Initializes the resources to keep track of ongoing resolutions and process send_data callbacks.
void on_resolver_zwave_send_data_complete(uint8_t status, const zwapi_tx_report_t *tx_info, void *user)
Send_data callback for transmissions that did not use Supervision encapsulation.
sl_status_t attribute_resolver_abort_pending_resolution(attribute_store_node_t node)
Aborts that removes a node from the resolution list.
void add_node_in_resolution_list(attribute_store_node_t new_node, resolver_rule_type_t rule_type)
Functions that adds a new node in the resolution list.
void * zwave_tx_session_id_t
Handle that can be used for aborting ongoing transmissions or identifying TX Queue elements.
Definition: zwave_tx_definitions.h:77
Struct keeping track of a node resolved as well as the rule type being executed.
Definition: zpc_attribute_resolver_callbacks.h:36
attribute_store_node_t node
Definition: zpc_attribute_resolver_callbacks.h:37
resolver_rule_type_t rule_type
Definition: zpc_attribute_resolver_callbacks.h:38
Detailed report and data about Z-Wave transmissions.
Definition: zwapi_protocol_transport.h:225
Z-Wave API for transport application layer interface.