-
Notifications
You must be signed in to change notification settings - Fork 0
/
event-emitter.h
61 lines (52 loc) · 1.49 KB
/
event-emitter.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
typedef struct client node_c;
typedef struct event node_e;
typedef struct center Centro;
typedef struct centerList node_center;
typedef struct senderList node_s;
typedef struct delayedList delayed;
struct client {
void *client;
void (*f) (void *);
struct client *next;
};
struct event {
char name[100];
node_s *senders;
node_c *clients;
node_center *centers;
struct event *next;
};
struct center {
char name[100];
node_e *events;
struct center *next;
};
struct centerList{
Centro *center;
struct centerList *next;
};
struct senderList {
void *sender;
node_c *clients;
struct senderList *next;
};
struct delayedList {
char *center;
char *event;
void *sender;
void *args;
int ms;
struct delayedList *next;
};
void newCenter(char *name);
void observeCenterFromCenter (char *centerA, char *centerB, char *event);
void observeCenterFromClient(char *centerA, void *client, void *sender, char *event, void (* methodToCall)(void *));
void removeObserver(char *center, void *client, char *event);
void removeObservers(char *center, void *client);
void removeAllObservers(void * client);
void removeObserverFromCenter(char *centerA, char *centerB, char *event);
void removeObserversFromCenter(char * centerA, char * centerB);
void removeCenter (char *center);
void post(char *center, char *event, void *sender, void *params);
void postDelayed(char *center, char *event, void *sender, void *params, int miliseconds);
void imprimirCentros(void);