Rudiments
|
00001 // Copyright (c) 2002 David Muse 00002 // See the COPYING file for more information. 00003 00004 #ifndef RUDIMENTS_SERVERSOCKET_H 00005 #define RUDIMENTS_SERVERSOCKET_H 00006 00007 #include <rudiments/private/serversocketincludes.h> 00008 00009 #ifdef RUDIMENTS_NAMESPACE 00010 namespace rudiments { 00011 #endif 00012 00013 class serversocketprivate; 00014 00017 class RUDIMENTS_DLLSPEC serversocket : public server { 00018 public: 00019 00021 serversocket(); 00022 00025 serversocket(const serversocket &s); 00026 00029 serversocket &operator=(const serversocket &s); 00030 00032 virtual ~serversocket(); 00033 00037 virtual bool supportsBlockingNonBlockingModes(); 00038 00044 virtual bool useNonBlockingMode() const; 00045 00051 virtual bool useBlockingMode() const; 00052 00060 bool lingerOnClose(int32_t timeout); 00061 00068 bool dontLingerOnClose(); 00069 00074 bool reuseAddresses(); 00075 00080 bool dontReuseAddresses(); 00081 00088 virtual bool listen(int32_t backlog); 00089 00090 #include <rudiments/private/serversocket.h> 00091 }; 00092 00093 #ifdef RUDIMENTS_NAMESPACE 00094 } 00095 #endif 00096 00097 #endif