gwenhywfar  4.12.0beta
gwensignal.h
Go to the documentation of this file.
1 /***************************************************************************
2  $RCSfile$
3  -------------------
4  cvs : $Id: stringlist_p.h 786 2005-07-09 13:38:17Z aquamaniac $
5  begin : Thu Apr 03 2003
6  copyright : (C) 2003 by Martin Preuss
7  email : martin@libchipcard.de
8 
9  ***************************************************************************
10  * *
11  * This library is free software; you can redistribute it and/or *
12  * modify it under the terms of the GNU Lesser General Public *
13  * License as published by the Free Software Foundation; either *
14  * version 2.1 of the License, or (at your option) any later version. *
15  * *
16  * This library is distributed in the hope that it will be useful, *
17  * but WITHOUT ANY WARRANTY; without even the implied warranty of *
18  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
19  * Lesser General Public License for more details. *
20  * *
21  * You should have received a copy of the GNU Lesser General Public *
22  * License along with this library; if not, write to the Free Software *
23  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, *
24  * MA 02111-1307 USA *
25  * *
26  ***************************************************************************/
27 
28 #ifndef GWENHYWFAR_SIGNAL_H
29 #define GWENHYWFAR_SIGNAL_H
30 
32 #include <gwenhywfar/types.h>
33 #include <gwenhywfar/list2.h>
34 
35 
36 #ifdef __cplusplus
37 extern "C" {
38 #endif
39 
64 
66 
67 typedef struct GWEN_SIGNAL GWEN_SIGNAL;
68 
69 typedef struct GWEN_SLOT GWEN_SLOT;
70 
71 
76 typedef int GWENHYWFAR_CB (*GWEN_SLOT_FUNCTION)(GWEN_SLOT *slot, void *userData, void *pArg1, void *pArg2, int iArg3, int iArg4);
77 
78 
85 
88 
91  const char *name,
92  const char *typeOfArg1,
93  const char *typeOfArg2);
94 
97  const char *name,
98  const char *typeOfArg1,
99  const char *typeOfArg2);
100 
108  const char *derivedType);
109 
110 
117 
120  const char *derivedType,
121  const char *name,
122  const char *typeOfArg1,
123  const char *typeOfArg2);
124 
126 void GWEN_Signal_free(GWEN_SIGNAL *sig);
127 
128 
131 
132 
134 int GWEN_Signal_Connect(GWEN_SIGNAL *sig, GWEN_SLOT *slot);
135 
138 
148  void *pArg1, void *pArg2, int iArg3, int iArg4);
158 
161  const char *derivedType,
162  const char *name,
163  const char *typeOfArg1,
164  const char *typeOfArg2,
166  void *userData);
167 
169 void GWEN_Slot_free(GWEN_SLOT *slot);
170 
173 
174  /* defgroup */
176 
177  /* defgroup */
179 
180 
181 
182 #ifdef __cplusplus
183 } /* extern C */
184 #endif
185 
186 
187 #endif
188 
struct GWEN_SIGNALOBJECT GWEN_SIGNALOBJECT
Definition: gwensignal.h:65
GWENHYWFAR_API int GWEN_Signal_Connect(GWEN_SIGNAL *sig, GWEN_SLOT *slot)
GWENHYWFAR_API void GWEN_Signal_free(GWEN_SIGNAL *sig)
GWENHYWFAR_API GWEN_SIGNAL * GWEN_SignalObject_FindSignal(const GWEN_SIGNALOBJECT *so, const char *name, const char *typeOfArg1, const char *typeOfArg2)
GWENHYWFAR_API int GWEN_Signal_Disconnect(GWEN_SIGNAL *sig, GWEN_SLOT *slot)
GWENHYWFAR_API void GWEN_Slot_free(GWEN_SLOT *slot)
GWENHYWFAR_API GWEN_SIGNALOBJECT * GWEN_SignalObject_new(void)
GWENHYWFAR_API GWEN_SIGNALOBJECT * GWEN_Slot_GetSignalObject(const GWEN_SLOT *slot)
int GWENHYWFAR_CB(* GWEN_SLOT_FUNCTION)(GWEN_SLOT *slot, void *userData, void *pArg1, void *pArg2, int iArg3, int iArg4)
Definition: gwensignal.h:76
#define GWENHYWFAR_CB
Definition: gwenhywfarapi.h:89
GWENHYWFAR_API GWEN_SLOT * GWEN_Slot_new(GWEN_SIGNALOBJECT *so, const char *derivedType, const char *name, const char *typeOfArg1, const char *typeOfArg2, GWEN_SLOT_FUNCTION fn, void *userData)
struct GWEN_SIGNAL GWEN_SIGNAL
Definition: gwensignal.h:67
GWENHYWFAR_API void GWEN_SignalObject_free(GWEN_SIGNALOBJECT *so)
GWENHYWFAR_API GWEN_SLOT * GWEN_SignalObject_FindSlot(const GWEN_SIGNALOBJECT *so, const char *name, const char *typeOfArg1, const char *typeOfArg2)
#define GWENHYWFAR_API
Definition: gwenhywfarapi.h:67
This file contains some macros concerning lists.
GWENHYWFAR_API GWEN_SIGNALOBJECT * GWEN_Signal_GetSignalObject(const GWEN_SIGNAL *sig)
GWENHYWFAR_API int GWEN_Signal_Emit(GWEN_SIGNAL *sig, void *pArg1, void *pArg2, int iArg3, int iArg4)
struct GWEN_SLOT GWEN_SLOT
Definition: gwensignal.h:69
GWENHYWFAR_API void GWEN_SignalObject_RemoveForDerivedType(GWEN_SIGNALOBJECT *so, const char *derivedType)
GWENHYWFAR_API GWEN_SIGNAL * GWEN_Signal_new(GWEN_SIGNALOBJECT *so, const char *derivedType, const char *name, const char *typeOfArg1, const char *typeOfArg2)