Rudiments

- Main Page
- Classes

listener.h
1 // Copyright (c) 2002 David Muse
2 // See the COPYING file for more information.
3
4 #ifndef RUDIMENTS_LISTENER_H
5 #define RUDIMENTS_LISTENER_H
6
7 #include <rudiments/private/listenerincludes.h>
8
9 typedef singlylinkedlistnode<filedescriptor *> listenerlistnode;
10 typedef singlylinkedlist<filedescriptor *> listenerlist;
11
12 class listenerprivate;
13
16 class RUDIMENTS_DLLSPEC listener {
17 public:
19 listener();
20
22 virtual ~listener();
23
28 void addFileDescriptor(filedescriptor *fd);
29
33 void addReadFileDescriptor(filedescriptor *fd);
34
38 void addWriteFileDescriptor(filedescriptor *fd);
39
41 void removeFileDescriptor(filedescriptor *fd);
42
44 void removeAllFileDescriptors();
45
46
54 int32_t listen();
55
73 int32_t listen(int32_t sec, int32_t usec);
74
75
78 listenerlist *getReadReadyList();
79
82 listenerlist *getWriteReadyList();
83
84
87 void retryInterruptedWaits();
88
92 void dontRetryInterruptedWaits();
93
94 #include <rudiments/private/listener.h>
95 };
96
97 #endif
singlylinkedlist
Definition: singlylinkedlist.h:64
listener
Definition: listener.h:16
singlylinkedlistnode
Definition: singlylinkedlist.h:12
filedescriptor
Definition: filedescriptor.h:14