Rudiments
|
00001 // Copyright (c) 2002 David Muse 00002 // See the COPYING file for more information. 00003 00004 #ifndef RUDIMENTS_INETSERVERSOCKET_H 00005 #define RUDIMENTS_INETSERVERSOCKET_H 00006 00007 #include <rudiments/private/inetserversocketincludes.h> 00008 00009 #ifdef RUDIMENTS_NAMESPACE 00010 namespace rudiments { 00011 #endif 00012 00013 class inetserversocketprivate; 00014 00025 class RUDIMENTS_DLLSPEC inetserversocket : public serversocket, private inetsocketutil { 00026 public: 00027 00029 inetserversocket(); 00030 00033 inetserversocket(const inetserversocket &i); 00034 00037 inetserversocket &operator=(const inetserversocket &i); 00038 00040 virtual ~inetserversocket(); 00041 00060 bool listen(const char *address, 00061 uint16_t port, 00062 int32_t backlog); 00063 00064 00065 00070 bool initialize(const char *address, uint16_t port); 00071 00075 bool bind(); 00076 00082 bool listen(int32_t backlog); 00083 00089 filedescriptor *accept(); 00090 00095 uint16_t getPort(); 00096 00097 #include <rudiments/private/inetserversocket.h> 00098 }; 00099 00100 #ifdef RUDIMENTS_NAMESPACE 00101 } 00102 #endif 00103 00104 #endif