WPILibC++  2019.1.1-beta-1-20-g746f950
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
Entry Listener Functions

Typedefs

typedef void(* NT_EntryListenerCallback )(void *data, const struct NT_EntryNotification *event)
 Entry listener callback function. More...
 

Functions

NT_EntryListener NT_AddEntryListener (NT_Inst inst, const char *prefix, size_t prefix_len, void *data, NT_EntryListenerCallback callback, unsigned int flags)
 Add a listener for all entries starting with a certain prefix. More...
 
NT_EntryListener NT_AddEntryListenerSingle (NT_Entry entry, void *data, NT_EntryListenerCallback callback, unsigned int flags)
 Add a listener for a single entry. More...
 
NT_EntryListenerPoller NT_CreateEntryListenerPoller (NT_Inst inst)
 Create a entry listener poller. More...
 
void NT_DestroyEntryListenerPoller (NT_EntryListenerPoller poller)
 Destroy a entry listener poller. More...
 
NT_EntryListener NT_AddPolledEntryListener (NT_EntryListenerPoller poller, const char *prefix, size_t prefix_len, unsigned int flags)
 Create a polled entry listener. More...
 
NT_EntryListener NT_AddPolledEntryListenerSingle (NT_EntryListenerPoller poller, NT_Entry entry, unsigned int flags)
 Create a polled entry listener. More...
 
struct NT_EntryNotificationNT_PollEntryListener (NT_EntryListenerPoller poller, size_t *len)
 Get the next entry listener event. More...
 
struct NT_EntryNotificationNT_PollEntryListenerTimeout (NT_EntryListenerPoller poller, size_t *len, double timeout, NT_Bool *timed_out)
 Get the next entry listener event. More...
 
void NT_CancelPollEntryListener (NT_EntryListenerPoller poller)
 Cancel a PollEntryListener call. More...
 
void NT_RemoveEntryListener (NT_EntryListener entry_listener)
 Remove an entry listener. More...
 
NT_Bool NT_WaitForEntryListenerQueue (NT_Inst inst, double timeout)
 Wait for the entry listener queue to be empty. More...
 

Detailed Description

Typedef Documentation

typedef void(* NT_EntryListenerCallback)(void *data, const struct NT_EntryNotification *event)

Entry listener callback function.

Called when a key-value pair is changed.

Parameters
datadata pointer provided to callback creation function
eventevent information

Function Documentation

NT_EntryListener NT_AddEntryListener ( NT_Inst  inst,
const char *  prefix,
size_t  prefix_len,
void *  data,
NT_EntryListenerCallback  callback,
unsigned int  flags 
)

Add a listener for all entries starting with a certain prefix.

Parameters
instinstance handle
prefixUTF-8 string prefix
prefix_lenlength of prefix in bytes
datadata pointer to pass to callback
callbacklistener to add
flagsNT_NotifyKind bitmask
Returns
Listener handle
NT_EntryListener NT_AddEntryListenerSingle ( NT_Entry  entry,
void *  data,
NT_EntryListenerCallback  callback,
unsigned int  flags 
)

Add a listener for a single entry.

Parameters
entryentry handle
datadata pointer to pass to callback
callbacklistener to add
flagsNT_NotifyKind bitmask
Returns
Listener handle
NT_EntryListener NT_AddPolledEntryListener ( NT_EntryListenerPoller  poller,
const char *  prefix,
size_t  prefix_len,
unsigned int  flags 
)

Create a polled entry listener.

The caller is responsible for calling NT_PollEntryListener() to poll.

Parameters
pollerpoller handle
prefixUTF-8 string prefix
flagsNT_NotifyKind bitmask
Returns
Listener handle
NT_EntryListener NT_AddPolledEntryListenerSingle ( NT_EntryListenerPoller  poller,
NT_Entry  entry,
unsigned int  flags 
)

Create a polled entry listener.

The caller is responsible for calling NT_PollEntryListener() to poll.

Parameters
pollerpoller handle
prefixUTF-8 string prefix
flagsNT_NotifyKind bitmask
Returns
Listener handle
void NT_CancelPollEntryListener ( NT_EntryListenerPoller  poller)

Cancel a PollEntryListener call.

This wakes up a call to PollEntryListener for this poller and causes it to immediately return an empty array.

Parameters
pollerpoller handle
NT_EntryListenerPoller NT_CreateEntryListenerPoller ( NT_Inst  inst)

Create a entry listener poller.

A poller provides a single queue of poll events. Events linked to this poller (using NT_AddPolledEntryListener()) will be stored in the queue and must be collected by calling NT_PollEntryListener(). The returned handle must be destroyed with NT_DestroyEntryListenerPoller().

Parameters
instinstance handle
Returns
poller handle
void NT_DestroyEntryListenerPoller ( NT_EntryListenerPoller  poller)

Destroy a entry listener poller.

This will abort any blocked polling call and prevent additional events from being generated for this poller.

Parameters
pollerpoller handle
struct NT_EntryNotification* NT_PollEntryListener ( NT_EntryListenerPoller  poller,
size_t *  len 
)

Get the next entry listener event.

This blocks until the next event occurs.

This is intended to be used with NT_AddPolledEntryListener(void); entry listeners created using NT_AddEntryListener() will not be serviced through this function.

Parameters
pollerpoller handle
lenlength of returned array (output)
Returns
Array of information on the entry listener events. Returns NULL if an erroroccurred (e.g. the instance was invalid or is shutting down).
struct NT_EntryNotification* NT_PollEntryListenerTimeout ( NT_EntryListenerPoller  poller,
size_t *  len,
double  timeout,
NT_Bool timed_out 
)

Get the next entry listener event.

This blocks until the next event occurs or it times out. This is intended to be used with NT_AddPolledEntryListener(); entry listeners created using NT_AddEntryListener() will not be serviced through this function.

Parameters
pollerpoller handle
lenlength of returned array (output)
timeouttimeout, in seconds
timed_outtrue if the timeout period elapsed (output)
Returns
Array of information on the entry listener events. If NULL is returned and timed_out is also false, an error occurred (e.g. the instance was invalid or is shutting down).
void NT_RemoveEntryListener ( NT_EntryListener  entry_listener)

Remove an entry listener.

Parameters
entry_listenerListener handle to remove
NT_Bool NT_WaitForEntryListenerQueue ( NT_Inst  inst,
double  timeout 
)

Wait for the entry listener queue to be empty.

This is primarily useful for deterministic testing. This blocks until either the entry listener queue is empty (e.g. there are no more events that need to be passed along to callbacks or poll queues) or the timeout expires.

Parameters
instinstance handle
timeouttimeout, in seconds. Set to 0 for non-blocking behavior, or a negative value to block indefinitely
Returns
False if timed out, otherwise true.