gwensignal.h
Go to the documentation of this file.
/***************************************************************************
$RCSfile$
-------------------
cvs : $Id: stringlist_p.h 786 2005-07-09 13:38:17Z aquamaniac $
begin : Thu Apr 03 2003
copyright : (C) 2003 by Martin Preuss
email : martin@libchipcard.de
***************************************************************************
* *
* This library is free software; you can redistribute it and/or *
* modify it under the terms of the GNU Lesser General Public *
* License as published by the Free Software Foundation; either *
* version 2.1 of the License, or (at your option) any later version. *
* *
* This library is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
* Lesser General Public License for more details. *
* *
* You should have received a copy of the GNU Lesser General Public *
* License along with this library; if not, write to the Free Software *
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, *
* MA 02111-1307 USA *
* *
***************************************************************************/
#ifndef GWENHYWFAR_SIGNAL_H
#define GWENHYWFAR_SIGNAL_H
#include <gwenhywfar/gwenhywfarapi.h>
#include <gwenhywfar/types.h>
#include <gwenhywfar/list2.h>
#ifdef __cplusplus
extern "C" {
#endif
typedef struct GWEN_SIGNALOBJECT GWEN_SIGNALOBJECT;
typedef struct GWEN_SIGNAL GWEN_SIGNAL;
typedef struct GWEN_SLOT GWEN_SLOT;
typedef int GWENHYWFAR_CB(*GWEN_SLOT_FUNCTION)(GWEN_SLOT *slot, void *userData, void *pArg1, void *pArg2, int iArg3,
int iArg4);
GWENHYWFAR_API
GWEN_SIGNALOBJECT *GWEN_SignalObject_new(void);
GWENHYWFAR_API
void GWEN_SignalObject_free(GWEN_SIGNALOBJECT *so);
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_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);
GWENHYWFAR_API
void GWEN_Signal_free(GWEN_SIGNAL *sig);
GWENHYWFAR_API
GWEN_SIGNALOBJECT *GWEN_Signal_GetSignalObject(const GWEN_SIGNAL *sig);
GWENHYWFAR_API
int GWEN_Signal_Connect(GWEN_SIGNAL *sig, GWEN_SLOT *slot);
GWENHYWFAR_API
int GWEN_Signal_Disconnect(GWEN_SIGNAL *sig, GWEN_SLOT *slot);
GWENHYWFAR_API
int GWEN_Signal_Emit(GWEN_SIGNAL *sig,
void *pArg1, void *pArg2, int iArg3, int iArg4);
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);
GWENHYWFAR_API
void GWEN_Slot_free(GWEN_SLOT *slot);
GWENHYWFAR_API
GWEN_SIGNALOBJECT *GWEN_Slot_GetSignalObject(const GWEN_SLOT *slot);
/* defgroup */
/* defgroup */
#ifdef __cplusplus
} /* extern C */
#endif
#endif
gwenhywfarapi.h
GWENHYWFAR_API
#define GWENHYWFAR_API
Definition gwenhywfarapi.h:67
GWENHYWFAR_CB
#define GWENHYWFAR_CB
Definition gwenhywfarapi.h:89
GWEN_Signal_Connect
GWENHYWFAR_API int GWEN_Signal_Connect(GWEN_SIGNAL *sig, GWEN_SLOT *slot)
GWEN_SignalObject_FindSlot
GWENHYWFAR_API GWEN_SLOT * GWEN_SignalObject_FindSlot(const GWEN_SIGNALOBJECT *so, const char *name, const char *typeOfArg1, const char *typeOfArg2)
GWEN_Signal_new
GWENHYWFAR_API GWEN_SIGNAL * GWEN_Signal_new(GWEN_SIGNALOBJECT *so, const char *derivedType, const char *name, const char *typeOfArg1, const char *typeOfArg2)
GWEN_Signal_Disconnect
GWENHYWFAR_API int GWEN_Signal_Disconnect(GWEN_SIGNAL *sig, GWEN_SLOT *slot)
GWEN_Signal_GetSignalObject
GWENHYWFAR_API GWEN_SIGNALOBJECT * GWEN_Signal_GetSignalObject(const GWEN_SIGNAL *sig)
GWEN_SignalObject_RemoveForDerivedType
GWENHYWFAR_API void GWEN_SignalObject_RemoveForDerivedType(GWEN_SIGNALOBJECT *so, const char *derivedType)
GWEN_Signal_free
GWENHYWFAR_API void GWEN_Signal_free(GWEN_SIGNAL *sig)
GWEN_SignalObject_FindSignal
GWENHYWFAR_API GWEN_SIGNAL * GWEN_SignalObject_FindSignal(const GWEN_SIGNALOBJECT *so, const char *name, const char *typeOfArg1, const char *typeOfArg2)
GWEN_Slot_GetSignalObject
GWENHYWFAR_API GWEN_SIGNALOBJECT * GWEN_Slot_GetSignalObject(const GWEN_SLOT *slot)
GWEN_SIGNALOBJECT
struct GWEN_SIGNALOBJECT GWEN_SIGNALOBJECT
Definition gwensignal.h:65
GWEN_SIGNAL
struct GWEN_SIGNAL GWEN_SIGNAL
Definition gwensignal.h:67
GWEN_SLOT_FUNCTION
int GWENHYWFAR_CB(* GWEN_SLOT_FUNCTION)(GWEN_SLOT *slot, void *userData, void *pArg1, void *pArg2, int iArg3, int iArg4)
Definition gwensignal.h:76
GWEN_SignalObject_free
GWENHYWFAR_API void GWEN_SignalObject_free(GWEN_SIGNALOBJECT *so)
GWEN_SLOT
struct GWEN_SLOT GWEN_SLOT
Definition gwensignal.h:69
GWEN_Slot_new
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)
GWEN_SignalObject_new
GWENHYWFAR_API GWEN_SIGNALOBJECT * GWEN_SignalObject_new(void)
GWEN_Signal_Emit
GWENHYWFAR_API int GWEN_Signal_Emit(GWEN_SIGNAL *sig, void *pArg1, void *pArg2, int iArg3, int iArg4)
GWEN_Slot_free
GWENHYWFAR_API void GWEN_Slot_free(GWEN_SLOT *slot)
list2.h
This file contains some macros concerning lists.
types.h