Rudiments
serversocket.h
1 // Copyright (c) 2002 David Muse
2 // See the COPYING file for more information.
3 
4 #ifndef RUDIMENTS_SERVERSOCKET_H
5 #define RUDIMENTS_SERVERSOCKET_H
6 
7 #include <rudiments/private/serversocketincludes.h>
8 
9 #ifdef RUDIMENTS_NAMESPACE
10 namespace rudiments {
11 #endif
12 
13 class serversocketprivate;
14 
17 class RUDIMENTS_DLLSPEC serversocket : public server {
18  public:
19 
21  serversocket();
22 
25  serversocket(const serversocket &s);
26 
29  serversocket &operator=(const serversocket &s);
30 
32  virtual ~serversocket();
33 
37  virtual bool supportsBlockingNonBlockingModes();
38 
44  virtual bool useNonBlockingMode() const;
45 
51  virtual bool useBlockingMode() const;
52 
60  bool lingerOnClose(int32_t timeout);
61 
68  bool dontLingerOnClose();
69 
74  bool reuseAddresses();
75 
80  bool dontReuseAddresses();
81 
88  virtual bool listen(int32_t backlog);
89 
90  #include <rudiments/private/serversocket.h>
91 };
92 
93 #ifdef RUDIMENTS_NAMESPACE
94 }
95 #endif
96 
97 #endif