Bytemaster's Boost Libraries
/Users/dlarimer/dev/libs/cmt/include/boost/cmt/asio/acceptor.hpp
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_
 All Classes Namespaces Files Functions Variables Typedefs Defines