SRSDK  0.10.39
Loading...
Searching...
No Matches
Event

Event system. More...

Data Structures

struct  leia_event_center
 Event center. More...
 
struct  leia_event
 Event. More...
 
struct  leia_event_component
 Component-specific event. More...
 

Functions

LEIA_NODISCARD LEIASDK_API struct leia_event_listener * leia_event_listener_alloc (struct leia_core_library *)
 
LEIASDK_API void leia_event_listener_set_callback (struct leia_event_listener *, leia_event_listener_callback callback, void *userData)
 callback must be thread-safe.
 
LEIASDK_API void leia_event_listener_free (struct leia_event_listener *)
 
LEIASDK_API void leia_event_center_add_listener (NONOWNING(struct leia_event_listener *) listener)
 Add event listener.
 
LEIASDK_API void leia_event_center_remove_listener (NONOWNING(struct leia_event_listener *) listener)
 Remove event listener.
 
LEIASDK_API enum leia_event_type leia_event_get_type (struct leia_event const *event)
 Get event type.
 
LEIASDK_API struct leia_event_log const * leia_event_get_log (struct leia_event const *event)
 Get log event.
 
LEIASDK_API struct leia_event_error const * leia_event_get_error (struct leia_event const *event)
 Get error event.
 
LEIASDK_API struct leia_event_component const * leia_event_get_component (struct leia_event const *event)
 Get component event.
 
LEIASDK_API enum leia_component_id leia_component_event_get_id (struct leia_event_component const *component)
 Identify the component that produced this event.
 
LEIASDK_API int32_t leia_component_event_get_code (struct leia_event_component const *component)
 Get the component-specific event code (See for example leia_core_event_code)
 
LEIASDK_API void const * leia_component_event_get_payload (struct leia_event_component const *component)
 Get payload.
 

Detailed Description

Event system.

Function Documentation

◆ leia_event_listener_alloc()

LEIA_NODISCARD LEIASDK_API struct leia_event_listener * leia_event_listener_alloc ( struct leia_core_library )

◆ leia_event_listener_set_callback()

LEIASDK_API void leia_event_listener_set_callback ( struct leia_event_listener *  ,
leia_event_listener_callback  callback,
void *  userData 
)

callback must be thread-safe.

◆ leia_event_listener_free()

LEIASDK_API void leia_event_listener_free ( struct leia_event_listener *  )

◆ leia_event_center_add_listener()

LEIASDK_API void leia_event_center_add_listener ( NONOWNING(struct leia_event_listener *)  listener)

Add event listener.

Note
The listener should stay valid until it's not removed.

◆ leia_event_center_remove_listener()

LEIASDK_API void leia_event_center_remove_listener ( NONOWNING(struct leia_event_listener *)  listener)

Remove event listener.

◆ leia_event_get_type()

LEIASDK_API enum leia_event_type leia_event_get_type ( struct leia_event const *  event)

Get event type.

◆ leia_event_get_log()

LEIASDK_API struct leia_event_log const * leia_event_get_log ( struct leia_event const *  event)

Get log event.

◆ leia_event_get_error()

LEIASDK_API struct leia_event_error const * leia_event_get_error ( struct leia_event const *  event)

Get error event.

◆ leia_event_get_component()

LEIASDK_API struct leia_event_component const * leia_event_get_component ( struct leia_event const *  event)

Get component event.

◆ leia_component_event_get_id()

LEIASDK_API enum leia_component_id leia_component_event_get_id ( struct leia_event_component const *  component)

Identify the component that produced this event.

◆ leia_component_event_get_code()

LEIASDK_API int32_t leia_component_event_get_code ( struct leia_event_component const *  component)

Get the component-specific event code (See for example leia_core_event_code)

◆ leia_component_event_get_payload()

LEIASDK_API void const * leia_component_event_get_payload ( struct leia_event_component const *  component)

Get payload.