59QSC_CPLUSPLUS_ENABLED_START
86#define QSC_EVENT_NAME_SIZE 32UL
92#define QSC_EVENT_MAX_LISTENERS 16384
196QSC_CPLUSPLUS_ENABLED_END
Asynchronous Thread and Mutex Management Functions.
void(* qsc_event_callback)(size_t,...)
The event callback variadic prototype.
Definition event.h:103
QSC_EXPORT_API qsc_event_callback qsc_event_get_callback(event_state *ctx, const char name[QSC_EVENT_NAME_SIZE])
Retrieve a callback function by event name.
Definition event.c:61
QSC_EXPORT_API bool qsc_event_listener_name_exists(const event_state *ctx, const char name[QSC_EVENT_NAME_SIZE])
Initialize the event state.
Definition event.c:108
#define QSC_EVENT_NAME_SIZE
The character length of the event name.
Definition event.h:86
QSC_EXPORT_API void qsc_event_initialize(event_state *ctx)
Initialize the event state.
Definition event.c:95
QSC_EXPORT_API void qsc_event_clear_listener(event_state *ctx, const char name[QSC_EVENT_NAME_SIZE])
Clear a listener for a specified event.
Definition event.c:5
QSC_EXPORT_API void qsc_event_dispose(event_state *ctx)
Destroy all event listeners.
Definition event.c:41
QSC_EXPORT_API int32_t qsc_event_register(event_state *ctx, const char name[QSC_EVENT_NAME_SIZE], qsc_event_callback callback)
Register an event and its callback.
Definition event.c:129
Contains common definitions for the Quantum Secure Cryptographic (QSC) library.
#define QSC_EXPORT_API
API export macro for Microsoft compilers when importing from a DLL.
Definition qsccommon.h:605
The event state context.
Definition event.h:124
qsc_event_handler * listeners
Definition event.h:125
qsc_mutex opmtx
Definition event.h:127
size_t lcount
Definition event.h:126
bool initialized
Definition event.h:128
The event handler structure.
Definition event.h:114
qsc_event_callback callback
Definition event.h:115
char name[QSC_EVENT_NAME_SIZE]
Definition event.h:116