25 #ifndef RDMNET_EPT_CLIENT_H_
26 #define RDMNET_EPT_CLIENT_H_
28 #include "etcpal/uuid.h"
55 #define RDMNET_EPT_CLIENT_INVALID -1
188 #define RDMNET_EPT_CLIENT_CONFIG_DEFAULT_INIT \
190 {{0}}, {NULL, NULL, NULL, NULL, NULL, NULL, NULL}, NULL, 0, NULL, NULL \
230 uint16_t manufacturer_id,
231 uint16_t protocol_id,
238 const char* status_string);
API definitions used by RDMnet clients (controllers and devices)
Functions and definitions common to all RDMnet API modules.
ept_status_code_t
Definition: common.h:76
rdmnet_disconnect_reason_t
Definition: common.h:85
client_list_action_t
Definition: client.h:50
int rdmnet_client_scope_t
Definition: client.h:41
etcpal_error_t rdmnet_ept_client_request_client_list(rdmnet_ept_client_t client_handle, rdmnet_client_scope_t scope_handle)
Request a client list from a broker.
Definition: ept_client.c:273
void rdmnet_ept_client_config_init(RdmnetEptClientConfig *config)
Initialize an RdmnetEptClientConfig with default values for the optional config options.
Definition: ept_client.c:39
void(* RdmnetEptClientDisconnectedCallback)(rdmnet_ept_client_t client_handle, rdmnet_client_scope_t scope_handle, const RdmnetClientDisconnectedInfo *info, void *context)
An EPT client which was previously connected to a broker has disconnected.
Definition: ept_client.h:88
etcpal_error_t rdmnet_ept_client_create(const RdmnetEptClientConfig *config, rdmnet_ept_client_t *handle)
Create a new instance of RDMnet EPT client functionality.
Definition: ept_client.c:96
struct RdmnetEptClientConfig RdmnetEptClientConfig
void(* RdmnetEptClientDataReceivedCallback)(rdmnet_ept_client_t client_handle, rdmnet_client_scope_t scope_handle, const RdmnetEptData *data, RdmnetSyncEptResponse *response, void *context)
EPT data has been received addressed to an EPT client.
Definition: ept_client.h:116
void(* RdmnetEptClientConnectedCallback)(rdmnet_ept_client_t client_handle, rdmnet_client_scope_t scope_handle, const RdmnetClientConnectedInfo *info, void *context)
An EPT client has successfully connected to a broker.
Definition: ept_client.h:64
etcpal_error_t rdmnet_ept_client_remove_scope(rdmnet_ept_client_t client_handle, rdmnet_client_scope_t scope_handle, rdmnet_disconnect_reason_t disconnect_reason)
Remove a previously-added scope from an EPT client instance.
Definition: ept_client.c:191
etcpal_error_t rdmnet_ept_client_change_scope(rdmnet_ept_client_t client_handle, rdmnet_client_scope_t scope_handle, const RdmnetScopeConfig *new_scope_config, rdmnet_disconnect_reason_t disconnect_reason)
Change the configuration of a scope on an EPT client.
Definition: ept_client.c:218
etcpal_error_t rdmnet_ept_client_destroy(rdmnet_ept_client_t client_handle, rdmnet_disconnect_reason_t disconnect_reason)
Destroy an EPT client instance.
Definition: ept_client.c:117
etcpal_error_t rdmnet_ept_client_send_data(rdmnet_ept_client_t client_handle, rdmnet_client_scope_t scope_handle, const EtcPalUuid *dest_cid, uint16_t manufacturer_id, uint16_t protocol_id, const uint8_t *data, size_t data_len)
Send data from an EPT client on a scope.
Definition: ept_client.c:298
void(* RdmnetEptClientStatusReceivedCallback)(rdmnet_ept_client_t client_handle, rdmnet_client_scope_t scope_handle, const RdmnetEptStatus *status, void *context)
An EPT status message has been received in response to a previously-sent EPT data message.
Definition: ept_client.h:129
void(* RdmnetEptClientClientListUpdateReceivedCallback)(rdmnet_ept_client_t client_handle, rdmnet_client_scope_t scope_handle, client_list_action_t list_action, const RdmnetEptClientList *client_list, void *context)
A client list update has been received from a broker.
Definition: ept_client.h:102
struct RdmnetEptClientCallbacks RdmnetEptClientCallbacks
etcpal_error_t rdmnet_ept_client_add_scope(rdmnet_ept_client_t client_handle, const RdmnetScopeConfig *scope_config, rdmnet_client_scope_t *scope_handle)
Add a new scope to an EPT client instance.
Definition: ept_client.c:142
void rdmnet_ept_client_set_callbacks(RdmnetEptClientConfig *config, RdmnetEptClientConnectedCallback connected, RdmnetEptClientConnectFailedCallback connect_failed, RdmnetEptClientDisconnectedCallback disconnected, RdmnetEptClientClientListUpdateReceivedCallback client_list_update_received, RdmnetEptClientDataReceivedCallback data_received, RdmnetEptClientStatusReceivedCallback status_received, void *context)
Set the callbacks in an RDMnet EPT client configuration structure.
Definition: ept_client.c:61
etcpal_error_t rdmnet_ept_client_send_status(rdmnet_ept_client_t client_handle, rdmnet_client_scope_t scope_handle, const EtcPalUuid *dest_cid, ept_status_code_t status_code, const char *status_string)
Send a status message from an EPT client on a scope.
Definition: ept_client.c:331
etcpal_error_t rdmnet_ept_client_add_default_scope(rdmnet_ept_client_t client_handle, rdmnet_client_scope_t *scope_handle)
Add a new scope representing the default RDMnet scope to an EPT client instance.
Definition: ept_client.c:168
etcpal_error_t rdmnet_ept_client_get_scope(rdmnet_ept_client_t client_handle, rdmnet_client_scope_t scope_handle, char *scope_str_buf, EtcPalSockAddr *static_broker_addr)
Retrieve the scope string of a previously-added scope.
Definition: ept_client.c:247
void(* RdmnetEptClientConnectFailedCallback)(rdmnet_ept_client_t client_handle, rdmnet_client_scope_t scope_handle, const RdmnetClientConnectFailedInfo *info, void *context)
A connection attempt failed between an EPT client and a broker.
Definition: ept_client.h:76
int rdmnet_ept_client_t
Definition: ept_client.h:53
Basic types for parsed RDMnet messages.
Definition: ept_client.h:136
RdmnetEptClientClientListUpdateReceivedCallback client_list_update_received
Definition: ept_client.h:140
RdmnetEptClientDataReceivedCallback data_received
Definition: ept_client.h:141
RdmnetEptClientDisconnectedCallback disconnected
Definition: ept_client.h:139
RdmnetEptClientConnectFailedCallback connect_failed
Definition: ept_client.h:138
RdmnetEptClientStatusReceivedCallback status_received
Definition: ept_client.h:142
void * context
Definition: ept_client.h:143
RdmnetEptClientConnectedCallback connected
Definition: ept_client.h:137
Definition: ept_client.h:148
EtcPalUuid cid
Definition: ept_client.h:154
const char * search_domain
Definition: ept_client.h:176
uint8_t * response_buf
Definition: ept_client.h:170
size_t num_protocols
Definition: ept_client.h:160
RdmnetEptClientCallbacks callbacks
Definition: ept_client.h:156
const RdmnetEptSubProtocol * protocols
Definition: ept_client.h:158
Definition: message.h:415
Definition: message.h:271
Definition: message.h:310
A description of an EPT sub-protocol.
Definition: message.h:380