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