Modules | |
| Signals | |
| Signals. | |
SignalObject | |
| GWENHYWFAR_API GWEN_SIGNAL * | GWEN_SignalObject_FindSignal (const GWEN_SIGNALOBJECT *so, const char *name, const char *typeOfArg1, const char *typeOfArg2) |
| GWENHYWFAR_API GWEN_SLOT * | GWEN_SignalObject_FindSlot (const GWEN_SIGNALOBJECT *so, const char *name, const char *typeOfArg1, const char *typeOfArg2) |
| GWENHYWFAR_API void | GWEN_SignalObject_free (GWEN_SIGNALOBJECT *so) |
| GWENHYWFAR_API GWEN_SIGNALOBJECT * | GWEN_SignalObject_new () |
| GWENHYWFAR_API void | GWEN_SignalObject_RemoveForDerivedType (GWEN_SIGNALOBJECT *so, const char *derivedType) |
Typedefs | |
| typedef struct GWEN_SIGNAL | GWEN_SIGNAL |
| typedef struct GWEN_SIGNALOBJECT | GWEN_SIGNALOBJECT |
| typedef struct GWEN_SLOT | GWEN_SLOT |
| typedef int(* | GWEN_SLOT_FUNCTION )(GWEN_SLOT *slot, void *userData, void *pArg1, void *pArg2, int iArg3, int iArg4) |
This module introduces a simple signal-slot framework. Signals have a fixed list of arguments:
The central object in this framework is GWEN_SIGNALOBJECT. It holds a list of signals and slots for a given object.
| typedef struct GWEN_SIGNAL GWEN_SIGNAL |
Definition at line 67 of file gwensignal.h.
| typedef struct GWEN_SIGNALOBJECT GWEN_SIGNALOBJECT |
Definition at line 65 of file gwensignal.h.
Definition at line 69 of file gwensignal.h.
| typedef int(* GWEN_SLOT_FUNCTION)(GWEN_SLOT *slot, void *userData, void *pArg1, void *pArg2, int iArg3, int iArg4) |
This is the prototype for the slot function. If there is a problem in the function it should return 1, otherwise 0.
Definition at line 76 of file gwensignal.h.
| GWENHYWFAR_API GWEN_SIGNAL* GWEN_SignalObject_FindSignal | ( | const GWEN_SIGNALOBJECT * | so, | |
| const char * | name, | |||
| const char * | typeOfArg1, | |||
| const char * | typeOfArg2 | |||
| ) |
Definition at line 110 of file gwensignal.c.
References GWEN_SignalObject__findSignal(), and GWEN_SignalObject_MkTypeId().
| GWENHYWFAR_API GWEN_SLOT* GWEN_SignalObject_FindSlot | ( | const GWEN_SIGNALOBJECT * | so, | |
| const char * | name, | |||
| const char * | typeOfArg1, | |||
| const char * | typeOfArg2 | |||
| ) |
Definition at line 162 of file gwensignal.c.
References GWEN_SignalObject__findSlot(), and GWEN_SignalObject_MkTypeId().
| GWENHYWFAR_API void GWEN_SignalObject_free | ( | GWEN_SIGNALOBJECT * | so | ) |
Definition at line 58 of file gwensignal.c.
References GWEN_FREE_OBJECT, GWEN_Signal_List2_freeAll(), and GWEN_Slot_List2_freeAll().
| GWENHYWFAR_API GWEN_SIGNALOBJECT* GWEN_SignalObject_new | ( | ) |
| GWENHYWFAR_API void GWEN_SignalObject_RemoveForDerivedType | ( | GWEN_SIGNALOBJECT * | so, | |
| const char * | derivedType | |||
| ) |
This function removes all signals and slots for the given derived type. This function can be used from within the FREEDATA function of the GWEN_INHERIT framework.
Definition at line 213 of file gwensignal.c.
References GWEN_Signal_free(), GWEN_SignalObject_MkTypeId(), and GWEN_Slot_free().
1.5.6