Rudiments
/home/dmuse/src/rudiments/include/rudiments/serversocket.h
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