25#ifndef ZIGPC_DISCOVERY_CALLBACKS_HPP
26#define ZIGPC_DISCOVERY_CALLBACKS_HPP
uint32_t sl_status_t
Definition: sl_status.h:139
#define ZIGBEE_NULL_EUI64_UINT
EUI64 Invalid Identifier (int variant)
Definition: zigpc_common_zigbee.h:52
uint64_t zigbee_eui64_uint_t
Zigbee Device Identifier (stored as integer)
Definition: zigpc_common_zigbee.h:199
zigpc_discovery_status
Discovery status types possible for a device being discovered.
Definition: zigpc_discovery.h:98
void(* zigpc_discovery_status_callback_t)(zigbee_eui64_uint_t eui64, zigpc_discovery_status_t status)
Device discovery callback function that can be registered to be notified of discovery success/failure...
Definition: zigpc_discovery.h:112
Definition: zigpc_discovery_callbacks.hpp:38
void clear(void)
Clear all registered callbacks.
sl_status_t remove(zigbee_eui64_uint_t eui64, const zigpc_discovery_status_callback_t callback)
Remove a registered callback for a specific EUI64 (or WILDCARD_EUI64 for all devices).
constexpr zigbee_eui64_uint_t WILDCARD_EUI64
Wildcard identifier to be used when adding/removing callbacks.
Definition: zigpc_discovery_callbacks.hpp:46
sl_status_t add(zigbee_eui64_uint_t eui64, const zigpc_discovery_status_callback_t callback)
Add a callback to be invoked for a specific EUI64 (or WILDCARD_EUI64 for all devices).
sl_status_t remove_for_device(zigbee_eui64_uint_t eui64)
Remove all registered callbacks for a specific EUI64.
void notify(zigbee_eui64_uint_t eui64, zigpc_discovery_status status)
Invoke registered callbacks the discovery status for the device.