QSC Post Quantum Cryptographic Library 1.0.0.6c (A6)
A post quantum secure library written in Ansi C
 
Loading...
Searching...
No Matches
event.h File Reference

Event function definitions. More...

#include "common.h"
#include <stdarg.h>

Go to the source code of this file.

Data Structures

struct  qsc_event_handler
 The event handler structure. More...
 

Macros

#define QSC_EVENT_NAME_SIZE   32ULL
 The character length of the event name.
 

Typedefs

typedef void(* qsc_event_callback) (size_t,...)
 The event callback variadic prototype.
 

Functions

QSC_EXPORT_API int32_t qsc_event_register (const char name[QSC_EVENT_NAME_SIZE], qsc_event_callback callback)
 Register an event and its callback.
 
QSC_EXPORT_API void qsc_event_clear_listener (const char name[QSC_EVENT_NAME_SIZE])
 Clear a listener for a specified event.
 
QSC_EXPORT_API qsc_event_callback qsc_event_get_callback (const char name[QSC_EVENT_NAME_SIZE])
 Retrieve a callback function by event name.
 
QSC_EXPORT_API void qsc_event_destroy_listeners (void)
 Destroy all event listeners.
 

Detailed Description

Event function definitions.

This file defines the API for registering, retrieving, and clearing event callbacks. It supports grouping events by name and provides search hints for advanced documentation navigation. Functions in this module allow for dynamic management of event listeners, making it easier to integrate event-driven programming features into applications.

// Example usage:
// Register an event callback for "my_event"
qsc_event_register("my_event", my_callback_function);
QSC_EXPORT_API int32_t qsc_event_register(const char name[QSC_EVENT_NAME_SIZE], qsc_event_callback callback)
Register an event and its callback.
Definition event.c:17

Reference Links:

Typedef Documentation

◆ qsc_event_callback

typedef void(* qsc_event_callback) (size_t,...)

The event callback variadic prototype.

This callback function takes a size_t indicating the number of arguments, followed by a variable list of arguments.

See also
qsc_event_handler

Function Documentation

◆ qsc_event_clear_listener()

QSC_EXPORT_API void qsc_event_clear_listener ( const char name[QSC_EVENT_NAME_SIZE])

Clear a listener for a specified event.

Clears the listener associated with the specified event name.

Parameters
name[const char[QSC_EVENT_NAME_SIZE]] The name of the event.

◆ qsc_event_destroy_listeners()

QSC_EXPORT_API void qsc_event_destroy_listeners ( void )

Destroy all event listeners.

Destroys the event handler state and frees all associated resources.

◆ qsc_event_get_callback()

QSC_EXPORT_API qsc_event_callback qsc_event_get_callback ( const char name[QSC_EVENT_NAME_SIZE])

Retrieve a callback function by event name.

Retrieves the callback function registered with the specified event name.

Parameters
name[const char[QSC_EVENT_NAME_SIZE]] The name of the event.
Returns
[qsc_event_callback] Returns the callback function if found.
See also
qsc_event_register()

◆ qsc_event_register()

QSC_EXPORT_API int32_t qsc_event_register ( const char name[QSC_EVENT_NAME_SIZE],
qsc_event_callback callback )

Register an event and its callback.

Registers an event with the specified name and callback function.

Parameters
name[const char[QSC_EVENT_NAME_SIZE]] The name of the event.
callback[qsc_event_callback] The callback function.
Returns
[int32_t] Returns 0 for success.
See also
qsc_event_clear_listener(), qsc_event_get_callback()