gwenhywfar  5.11.1beta
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,
77  int iArg4);
78 
79 
86 
89 
92  const char *name,
93  const char *typeOfArg1,
94  const char *typeOfArg2);
95 
98  const char *name,
99  const char *typeOfArg1,
100  const char *typeOfArg2);
101 
109  const char *derivedType);
110 
111 
118 
121  const char *derivedType,
122  const char *name,
123  const char *typeOfArg1,
124  const char *typeOfArg2);
125 
128 
129 
132 
133 
136 
139 
149  void *pArg1, void *pArg2, int iArg3, int iArg4);
159 
162  const char *derivedType,
163  const char *name,
164  const char *typeOfArg1,
165  const char *typeOfArg2,
167  void *userData);
168 
171 
174 
175  /* defgroup */
177 
178  /* defgroup */
180 
181 
182 
183 #ifdef __cplusplus
184 } /* extern C */
185 #endif
186 
187 
188 #endif
189 
#define GWENHYWFAR_API
Definition: gwenhywfarapi.h:67
#define GWENHYWFAR_CB
Definition: gwenhywfarapi.h:89
GWENHYWFAR_API int GWEN_Signal_Connect(GWEN_SIGNAL *sig, GWEN_SLOT *slot)
GWENHYWFAR_API GWEN_SIGNAL * GWEN_Signal_new(GWEN_SIGNALOBJECT *so, const char *derivedType, 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_SignalObject_RemoveForDerivedType(GWEN_SIGNALOBJECT *so, const char *derivedType)
GWENHYWFAR_API GWEN_SIGNALOBJECT * GWEN_SignalObject_new(void)
GWENHYWFAR_API void GWEN_Signal_free(GWEN_SIGNAL *sig)
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_SIGNALOBJECT GWEN_SIGNALOBJECT
Definition: gwensignal.h:65
struct GWEN_SIGNAL GWEN_SIGNAL
Definition: gwensignal.h:67
int GWENHYWFAR_CB(* GWEN_SLOT_FUNCTION)(GWEN_SLOT *slot, void *userData, void *pArg1, void *pArg2, int iArg3, int iArg4)
Definition: gwensignal.h:76
GWENHYWFAR_API GWEN_SIGNALOBJECT * GWEN_Signal_GetSignalObject(const GWEN_SIGNAL *sig)
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)
struct GWEN_SLOT GWEN_SLOT
Definition: gwensignal.h:69
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_Emit(GWEN_SIGNAL *sig, void *pArg1, void *pArg2, int iArg3, int iArg4)
GWENHYWFAR_API GWEN_SIGNALOBJECT * GWEN_Slot_GetSignalObject(const GWEN_SLOT *slot)
GWENHYWFAR_API void GWEN_Slot_free(GWEN_SLOT *slot)
This file contains some macros concerning lists.