Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028 #ifndef GWENHYWFAR_SIGNAL_H
00029 #define GWENHYWFAR_SIGNAL_H
00030
00031 #include <gwenhywfar/gwenhywfarapi.h>
00032 #include <gwenhywfar/types.h>
00033 #include <gwenhywfar/list2.h>
00034
00035
00036 #ifdef __cplusplus
00037 extern "C" {
00038 #endif
00039
00064
00065 typedef struct GWEN_SIGNALOBJECT GWEN_SIGNALOBJECT;
00066
00067 typedef struct GWEN_SIGNAL GWEN_SIGNAL;
00068
00069 typedef struct GWEN_SLOT GWEN_SLOT;
00070
00071
00076 typedef int (*GWEN_SLOT_FUNCTION)(GWEN_SLOT *slot,
00077 void *userData,
00078 void *pArg1,
00079 void *pArg2,
00080 int iArg3,
00081 int iArg4);
00082
00083
00088 GWENHYWFAR_API
00089 GWEN_SIGNALOBJECT *GWEN_SignalObject_new(void);
00090
00091 GWENHYWFAR_API
00092 void GWEN_SignalObject_free(GWEN_SIGNALOBJECT *so);
00093
00094 GWENHYWFAR_API
00095 GWEN_SIGNAL *GWEN_SignalObject_FindSignal(const GWEN_SIGNALOBJECT *so,
00096 const char *name,
00097 const char *typeOfArg1,
00098 const char *typeOfArg2);
00099
00100 GWENHYWFAR_API
00101 GWEN_SLOT *GWEN_SignalObject_FindSlot(const GWEN_SIGNALOBJECT *so,
00102 const char *name,
00103 const char *typeOfArg1,
00104 const char *typeOfArg2);
00105
00111 GWENHYWFAR_API
00112 void GWEN_SignalObject_RemoveForDerivedType(GWEN_SIGNALOBJECT *so,
00113 const char *derivedType);
00114
00115
00122
00123 GWENHYWFAR_API
00124 GWEN_SIGNAL *GWEN_Signal_new(GWEN_SIGNALOBJECT *so,
00125 const char *derivedType,
00126 const char *name,
00127 const char *typeOfArg1,
00128 const char *typeOfArg2);
00129
00130 GWENHYWFAR_API
00131 void GWEN_Signal_free(GWEN_SIGNAL *sig);
00132
00133
00134 GWENHYWFAR_API
00135 GWEN_SIGNALOBJECT *GWEN_Signal_GetSignalObject(const GWEN_SIGNAL *sig);
00136
00137
00138 GWENHYWFAR_API
00139 int GWEN_Signal_Connect(GWEN_SIGNAL *sig, GWEN_SLOT *slot);
00140
00141 GWENHYWFAR_API
00142 int GWEN_Signal_Disconnect(GWEN_SIGNAL *sig, GWEN_SLOT *slot);
00143
00151 GWENHYWFAR_API
00152 int GWEN_Signal_Emit(GWEN_SIGNAL *sig,
00153 void *pArg1, void *pArg2, int iArg3, int iArg4);
00163
00164 GWENHYWFAR_API
00165 GWEN_SLOT *GWEN_Slot_new(GWEN_SIGNALOBJECT *so,
00166 const char *derivedType,
00167 const char *name,
00168 const char *typeOfArg1,
00169 const char *typeOfArg2,
00170 GWEN_SLOT_FUNCTION fn,
00171 void *userData);
00172
00173 GWENHYWFAR_API
00174 void GWEN_Slot_free(GWEN_SLOT *slot);
00175
00176 GWENHYWFAR_API
00177 GWEN_SIGNALOBJECT *GWEN_Slot_GetSignalObject(const GWEN_SLOT *slot);
00178
00179
00181
00182
00184
00185
00186
00187 #ifdef __cplusplus
00188 }
00189 #endif
00190
00191
00192 #endif
00193