diff options
author | Vegard Storheil Eriksen <zyp@jvnv.net> | 2010-12-25 12:54:59 +0100 |
---|---|---|
committer | Vegard Storheil Eriksen <zyp@jvnv.net> | 2010-12-25 12:54:59 +0100 |
commit | fae209a9e93400c3a2072befda9c820634cf9278 (patch) | |
tree | 2d69e2c75fff0e08468c168f773abbc939a2ff03 /src/tcpserver.h | |
parent | 94a1189d757f0269ac081ad2d750152e30564986 (diff) |
Diffstat (limited to 'src/tcpserver.h')
-rw-r--r-- | src/tcpserver.h | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/src/tcpserver.h b/src/tcpserver.h new file mode 100644 index 0000000..47c5056 --- /dev/null +++ b/src/tcpserver.h @@ -0,0 +1,27 @@ +#ifndef TCPSERVER_H +#define TCPSERVER_H + +#include <boost/asio.hpp> +#include <boost/function.hpp> + +#include "connection.h" + +class TCPServer { + private: + boost::asio::ip::tcp::acceptor acceptor_; + + boost::function<void (Connection::p)> connect_callback; + + //! Listen for incoming connection. + void listen(); + + //! Handle new connection. + void handle_connection(Connection::p connection, const boost::system::error_code& error); + + public: + TCPServer(boost::asio::io_service& io_service); + + void get_connection(boost::function<void (Connection::p)> f); +}; + +#endif |