1#ifndef CNSDK_LEIA_CORE_CXX_EVENT_CENTER_HPP
2#define CNSDK_LEIA_CORE_CXX_EVENT_CENTER_HPP
31 *
this = std::move(other);
35 std::swap(_listener, other._listener);
38 explicit operator bool()
const
40 return _listener !=
nullptr;
45 leia_event_center_add_listener(_listener);
49 leia_event_center_remove_listener(_listener);
53 leia_event_listener* _listener;
64 return leia_event_get_type(_ptr);
75 return leia_component_event_get_id(_ptr);
79 return leia_component_event_get_code(_ptr);
83 return leia_component_event_get_payload(_ptr);
86 explicit operator bool()
const
88 return _ptr !=
nullptr;
96 return {leia_event_get_component(_ptr)};
102 return leia_event_get_error(_ptr);
108 return leia_event_get_log(_ptr);
Definition eventCenter.hpp:67
int32_t GetCode() const
Definition eventCenter.hpp:77
Component(leia_event_component const *ptr)
Definition eventCenter.hpp:69
leia_component_id GetId() const
Definition eventCenter.hpp:73
void const * GetPayload() const
Definition eventCenter.hpp:81
Definition eventCenter.hpp:56
Event(leia_event const *ptr)
Definition eventCenter.hpp:58
leia_event_type GetType() const
Definition eventCenter.hpp:62
Log const * GetLog() const
Definition eventCenter.hpp:106
Error const * GetError() const
Definition eventCenter.hpp:100
Component GetComponent() const
Definition eventCenter.hpp:94
Definition eventCenter.hpp:10
void Register()
Definition eventCenter.hpp:43
EventListener()
Definition eventCenter.hpp:12
void Unregister()
Definition eventCenter.hpp:47
EventListener & operator=(EventListener &&other)
Definition eventCenter.hpp:33
EventListener(EventListener &&other)
Definition eventCenter.hpp:29
EventListener(EventListener const &)=delete
EventListener(CoreLibrary const &coreLib, EventListenerCallback callback, void *userData)
Definition eventCenter.hpp:15
~EventListener()
Definition eventCenter.hpp:19
EventListener & operator=(EventListener const &)=delete
void(* leia_event_listener_callback)(void *userData, struct leia_event const *)
Definition eventCenter.types.h:50
leia_component_id
Definition eventCenter.types.h:25
leia_event_type
Definition eventCenter.types.h:13
LEIA_NODISCARD LEIASDK_API struct leia_event_listener * leia_event_listener_alloc(struct leia_core_library *)
LEIASDK_API void leia_event_listener_free(struct leia_event_listener *)
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_callback EventListenerCallback
Definition eventCenter.hpp:8
Component-specific event.
Definition eventCenter.h:46
Definition eventCenter.types.h:33
Definition eventCenter.types.h:20
Event.
Definition eventCenter.h:41