Removed all code that uses OpenGL from Image.
[io/quag.git] / addons / Socket / source / IoEventManager.h
blob3fa4d8d4d63378a12766a73d22dba7e8500681cc
1 /*
2 docCopyright("Steve Dekorte", 2002)
3 docLicense("BSD revised")
4 docDescription("Selects on sockets and checks for timeouts.")
5 */
7 #ifndef IOEVENTMANAGER_DEFINED
8 #define IOEVENTMANAGER_DEFINED 1
10 #include "IoState.h"
11 #include "IoObject.h"
12 #include "IoSocket.h"
13 #include "IoEvent.h"
14 #include "Socket.h"
15 #include <event.h>
17 typedef IoObject IoEventManager;
19 typedef struct
21 void *eventBase;
22 IoMessage *handleEventMessage;
23 List *activeEvents;
24 } IoEventManagerData;
26 IoEventManager *IoEventManager_rawClone(IoEventManager *self);
27 IoEventManager *IoEventManager_proto(void *state);
29 void IoEventManager_mark(IoEventManager *self);
30 void IoEventManager_free(IoEventManager *self);
32 IoObject *IoEventManager_addEvent(IoEventManager *self, IoObject *locals, IoMessage *m);
33 IoObject *IoEventManager_removeEvent(IoEventManager *self, IoObject *locals, IoMessage *m);
35 IoObject *IoEventManager_setListenTimeout(IoEventManager *self, IoObject *locals, IoMessage *m);
36 IoObject *IoEventManager_listen(IoEventManager *self, IoObject *locals, IoMessage *m);
37 IoObject *IoEventManager_listenUntilEvent(IoEventManager *self, IoObject *locals, IoMessage *m);
39 IoObject *IoEventManager_hasActiveEvents(IoEventManager *self, IoObject *locals, IoMessage *m);
40 IoObject *IoEventManager_activeEvents(IoEventManager *self, IoObject *locals, IoMessage *m);
42 #endif