WvStreams
|
00001 /* -*- Mode: C++ -*- 00002 * Worldvisions Weaver Software: 00003 * Copyright (C) 1997-2002 Net Integration Technologies, Inc. 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