Rudiments
/home/dmuse/src/rudiments/include/rudiments/unixserversocket.h
00001 // Copyright (c) 2002 David Muse
00002 // See the COPYING file for more information.
00003 
00004 #ifndef RUDIMENTS_UNIXSERVERSOCKET_H
00005 #define RUDIMENTS_UNIXSERVERSOCKET_H
00006 
00007 #include <rudiments/private/unixserversocketincludes.h>
00008 
00009 #ifdef RUDIMENTS_NAMESPACE
00010 namespace rudiments {
00011 #endif
00012 
00013 class unixserversocketprivate;
00014 
00032 class RUDIMENTS_DLLSPEC unixserversocket : public serversocket, private unixsocketutil {
00033         public:
00034 
00036                 unixserversocket();
00037 
00040                 unixserversocket(const unixserversocket &u);
00041 
00044                 unixserversocket        &operator=(const unixserversocket &u);
00045 
00047                 virtual         ~unixserversocket();
00048 
00060                 bool    listen(const char *filename,
00061                                         mode_t mask,
00062                                         int32_t backlog);
00063 
00064 
00065 
00072                 bool    initialize(const char *filename, mode_t mask);
00073 
00077                 bool    bind();
00078 
00084                 bool    listen(int32_t backlog);
00085 
00086 
00092                 filedescriptor  *accept();
00093 
00094         #include <rudiments/private/unixserversocket.h>
00095 };
00096 
00097 #ifdef RUDIMENTS_NAMESPACE
00098 }
00099 #endif
00100 
00101 #endif