00001
00002
00003
00004
00005
00006 #ifndef __WVUNIXLISTENER_H
00007 #define __WVUNIXLISTENER_H
00008
00009 #include "wvlistener.h"
00010 #include "wvaddr.h"
00011
00012 #ifndef _WIN32
00013
00015 class WvUnixListener : public WvListener
00016 {
00017 public:
00018 WvUnixListener(const WvUnixAddr &_addr, int create_mode);
00019 virtual ~WvUnixListener();
00020 virtual void close();
00021
00028 IWvStream *accept();
00029
00031 virtual const WvUnixAddr *src() const;
00032
00033 protected:
00034 WvUnixAddr addr;
00035 bool bound_okay;
00036
00037 void accept_callback(WvIStreamList *list,
00038 wv::function<void(IWvStream*)> cb,
00039 IWvStream *_connection);
00040
00041 public:
00042 const char *wstype() const { return "WvUnixListener"; }
00043 };
00044
00045 #endif // _WIN32
00046
00047 #endif // __WVUNIXLISTENER_H