WvStreams
wvtcplistener.h
00001 /* -*- Mode: C++ -*-
00002  * Worldvisions Weaver Software:
00003  *   Copyright (C) 1997-2002 Net Integration Technologies, Inc.
00004  *
00005  * WvStream-based TCP connection and server classes.
00006  */ 
00007 #ifndef __WVTCPLISTENER_H
00008 #define __WVTCPLISTENER_H
00009 
00010 #include "wvlistener.h"
00011 #include "wvaddr.h"
00012 
00013 class WvIStreamList;
00014 
00016 class WvTCPListener : public WvListener
00017 {
00018 public:
00023     WvTCPListener(const WvIPPortAddr &_listenport);
00024 
00025     virtual ~WvTCPListener();
00026     
00033     virtual IWvStream *accept();
00034     
00036     virtual const WvIPPortAddr *src() const;
00037     
00038 protected:
00039     WvIPPortAddr listenport;
00040     void accept_callback(WvIStreamList *list,
00041                          wv::function<void(IWvStream*)> cb,
00042                          IWvStream *_connection);
00043 
00044 public:
00045     const char *wstype() const { return "WvTCPListener"; }
00046 };
00047 
00048 
00049 #endif // __WVTCP_H