MP-Gadget
5.0.1.dev1-76bc7d4726-dirty
libgadget
utils
event.h
Go to the documentation of this file.
1
#ifndef _EVENT_H_
2
#define _EVENT_H_
3
4
5
typedef
struct
EventHandler
EventHandler
;
6
7
typedef
struct
EventSpec
EventSpec
;
8
typedef
struct
{
9
int
unused
;
10
}
EIBase
;
11
12
typedef
int (*
eventfunc
) (
EIBase
* event,
void
* userdata);
13
14
struct
EventHandler
15
{
16
eventfunc
func
;
17
void
*
userdata
;
18
};
19
20
#define MAXEH 8
21
22
struct
EventSpec
23
{
24
char
name
[32];
25
int
used
;
26
EventHandler
h
[
MAXEH
];
27
};
28
29
int
30
event_listen
(
EventSpec
* e,
eventfunc
func,
void
* userdata);
31
32
int
33
event_unlisten
(
EventSpec
* e,
eventfunc
func,
void
* userdata);
34
35
int
36
event_emit
(
EventSpec
* eh,
EIBase
* event);
37
38
/* A new particle is formed by spliting an existing particle. */
39
extern
EventSpec
EventSlotsFork
;
40
/* GC is done, things may have been violated. */
41
extern
EventSpec
EventSlotsAfterGC
;
42
43
#endif
EventSlotsAfterGC
EventSpec EventSlotsAfterGC
Definition:
event.c:55
event_emit
int event_emit(EventSpec *eh, EIBase *event)
Definition:
event.c:44
event_listen
int event_listen(EventSpec *e, eventfunc func, void *userdata)
Definition:
event.c:6
eventfunc
int(* eventfunc)(EIBase *event, void *userdata)
Definition:
event.h:12
EventSlotsFork
EventSpec EventSlotsFork
Definition:
event.c:54
MAXEH
#define MAXEH
Definition:
event.h:20
event_unlisten
int event_unlisten(EventSpec *e, eventfunc func, void *userdata)
Definition:
event.c:26
EIBase
Definition:
event.h:8
EIBase::unused
int unused
Definition:
event.h:9
EventHandler
Definition:
event.h:15
EventHandler::func
eventfunc func
Definition:
event.h:16
EventHandler::userdata
void * userdata
Definition:
event.h:17
EventSpec
Definition:
event.h:23
EventSpec::used
int used
Definition:
event.h:25
EventSpec::h
EventHandler h[MAXEH]
Definition:
event.h:26
EventSpec::name
char name[32]
Definition:
event.h:24
Generated by
1.9.1