MACE  1.0.0
 All Classes Namespaces Files Functions Variables Enumerations Defines
libs/rpc/include/mace/rpc/raw/tcp/connection.hpp
00001 #ifndef _MACE_RPC_RAW_TCP_CONNECTION_HPP_
00002 #define _MACE_RPC_RAW_TCP_CONNECTION_HPP_
00003 #include <mace/rpc/raw/tcp/detail/connection.hpp>
00004 #include <mace/rpc/tcp/connection.hpp>
00005 
00006 namespace mace { namespace rpc { namespace raw { namespace tcp {
00007 
00008     template<typename IODelegate>
00009     class connection : public mace::rpc::tcp::connection<IODelegate> {
00010       public:
00011         typedef boost::shared_ptr<connection> ptr;
00012 
00013         connection()
00014         :rpc::tcp::connection<IODelegate>( new mace::rpc::raw::tcp::detail::connection() ) {}
00015 
00016         connection( const boost::asio::ip::tcp::endpoint& ep )
00017         :rpc::tcp::connection<IODelegate>( new mace::rpc::raw::tcp::detail::connection(ep) ){}
00018 
00019         connection( const mace::cmt::asio::tcp::socket::ptr& sock )
00020         :rpc::tcp::connection<IODelegate>( new mace::rpc::raw::tcp::detail::connection(sock) ) {}
00021     };
00022 
00023 } } } } // mace::rpc::raw::tcp
00024 
00025 #endif // _MACE_RPC_RAW_TCP_CONNECTION_HPP_