Rudiments
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 
11 
12 class listenerprivate;
13 
16 class RUDIMENTS_DLLSPEC listener {
17  public:
19  listener();
20 
22  virtual ~listener();
23 
26  void addFileDescriptor(filedescriptor *fd);
27 
44  int32_t waitForNonBlockingRead(int32_t sec, int32_t usec);
45 
63  int32_t waitForNonBlockingWrite(int32_t sec, int32_t usec);
64 
70  listenerlist *getReadyList();
71 
73  void removeFileDescriptor(filedescriptor *fd);
74 
76  void removeAllFileDescriptors();
77 
78 
81  void retryInterruptedWaits();
82 
86  void dontRetryInterruptedWaits();
87 
88  #include <rudiments/private/listener.h>
89 };
90 
91 #endif