Gooey GUI Library
Loading...
Searching...
No Matches
gooey_signals.h
Go to the documentation of this file.
1#ifndef GOOEY_SIGNALS_H
2#define GOOEY_SIGNALS_H
3
4
5/* ============ Signaling system ==============*/
6
16typedef void (*GooeySignal_CallbackFunction)(void *context, void *data);
17
30
37typedef struct
38{
41
51
64
74void GooeySignal_Emit(GooeySignal *signal, void *data);
75
85
86#endif /* GOOEY_SIGNALS_H */
void(* GooeySignal_CallbackFunction)(void *context, void *data)
Callback function type for signal events.
Definition gooey_signals.h:16
void GooeySignal_Link(GooeySignal *signal, GooeySignal_CallbackFunction callback, void *context)
Links a callback function to a signal.
GooeySignal GooeySignal_Create(void)
Creates a new signal object.
void GooeySignal_Emit(GooeySignal *signal, void *data)
Emits a signal.
void GooeySignal_UnLinkAll(GooeySignal *signal)
Unlinks all callbacks from a signal.
A slot representing a linked callback in the signal system.
Definition gooey_signals.h:25
GooeySignal_CallbackFunction callback
Definition gooey_signals.h:26
struct GooeySignal_Slot * next
Definition gooey_signals.h:28
void * context
Definition gooey_signals.h:27
A signal that can emit events to all linked slots.
Definition gooey_signals.h:38
GooeySignal_Slot * slots
Definition gooey_signals.h:39