Bytemaster's Boost Libraries
|
00001 #ifndef _BOOST_RPC_DETAIL_SERVER_BASE_HPP_ 00002 #define _BOOST_RPC_DETAIL_SERVER_BASE_HPP_ 00003 #include <boost/asio.hpp> 00004 #include <boost/enable_shared_from_this.hpp> 00005 #include <boost/function.hpp> 00006 00007 namespace boost { namespace cmt { namespace asio { 00008 typedef boost::asio::ip::tcp::socket tcp_socket; 00009 typedef boost::shared_ptr<tcp_socket> tcp_socket_ptr; 00010 00026 class acceptor : public boost::enable_shared_from_this<acceptor> { 00027 public: 00028 typedef boost::shared_ptr<acceptor> ptr; 00029 typedef boost::function<void(const tcp_socket_ptr,boost::system::error_code)> handler; 00030 00031 acceptor(); 00032 ~acceptor(); 00033 00034 void listen( uint16_t port, const handler& on_con ); 00035 00036 private: 00037 class acceptor_private* my; 00038 }; 00039 00040 } } } // boost::cmt::asio 00041 00042 #endif // _BOOST_RPC_DETAIL_SERVER_BASE_HPP_