28#ifndef SACN_SOURCE_DETECTOR_H_
29#define SACN_SOURCE_DETECTOR_H_
33#include "etcpal/error.h"
34#include "etcpal/inet.h"
35#include "etcpal/log.h"
36#include "etcpal/netint.h"
37#include "etcpal/uuid.h"
146#define SACN_SOURCE_DETECTOR_INFINITE 0
167 const char* name,
const uint16_t* sourced_universes,
168 size_t num_sourced_universes,
void* context);
179 const char* name,
void* context);
231#define SACN_SOURCE_DETECTOR_CONFIG_DEFAULT_INIT \
233 {NULL, NULL, NULL, NULL}, SACN_SOURCE_DETECTOR_INFINITE, SACN_SOURCE_DETECTOR_INFINITE, kSacnIpV4AndIpV6 \
Common definitions for sACN.
sacn_ip_support_t
Definition common.h:71
uint16_t sacn_remote_source_t
Definition common.h:58
void(* SacnSourceDetectorSourceExpiredCallback)(sacn_remote_source_t handle, const EtcPalUuid *cid, const char *name, void *context)
Notify that a source is no longer transmitting Universe Discovery messages.
Definition source_detector.h:178
void(* SacnSourceDetectorSourceUpdatedCallback)(sacn_remote_source_t handle, const EtcPalUuid *cid, const char *name, const uint16_t *sourced_universes, size_t num_sourced_universes, void *context)
Notify that a source is new or has changed.
Definition source_detector.h:166
void sacn_source_detector_destroy()
Destroy the sACN Source Detector.
Definition source_detector.c:126
etcpal_error_t sacn_source_detector_reset_networking(const SacnNetintConfig *sys_netint_config)
Updates the source detector system network interfaces. Also resets the underlying network sockets for...
Definition source_detector.c:167
struct SacnSourceDetectorCallbacks SacnSourceDetectorCallbacks
etcpal_error_t sacn_source_detector_create(const SacnSourceDetectorConfig *config, const SacnNetintConfig *netint_config)
Create the sACN Source Detector.
Definition source_detector.c:85
void sacn_source_detector_config_init(SacnSourceDetectorConfig *config)
Initialize an sACN Source Detector Config struct to default values.
Definition source_detector.c:61
struct SacnSourceDetectorConfig SacnSourceDetectorConfig
void(* SacnSourceDetectorLimitExceededCallback)(void *context)
Notify that the module has run out of memory to track universes or sources.
Definition source_detector.h:197
size_t sacn_source_detector_get_network_interfaces(EtcPalMcastNetintId *netints, size_t netints_size)
Obtain the source detector's network interfaces.
Definition source_detector.c:214
Definition source_detector.h:201
SacnSourceDetectorLimitExceededCallback limit_exceeded
Definition source_detector.h:204
SacnSourceDetectorSourceExpiredCallback source_expired
Definition source_detector.h:203
void * context
Definition source_detector.h:205
SacnSourceDetectorSourceUpdatedCallback source_updated
Definition source_detector.h:202
Definition source_detector.h:210
int universes_per_source_max
Definition source_detector.h:224
int source_count_max
Definition source_detector.h:219
sacn_ip_support_t ip_supported
Definition source_detector.h:227
SacnSourceDetectorCallbacks callbacks
Definition source_detector.h:212