00001 #ifndef TRANSPORT_PEER_HPP_ 00002 #define TRANSPORT_PEER_HPP_ 00003 00004 #include "transport_protocol.hpp" 00005 #include "ariba/utility/addressing/endpoint_set.hpp" 00006 00007 // namespace ariba::transport 00008 namespace ariba { 00009 namespace transport { 00010 00011 using namespace ariba::addressing; 00012 00013 class tcpip; 00014 class rfcomm; 00015 00021 00022 00023 class transport_peer : public transport_protocol { 00024 public: 00025 transport_peer( endpoint_set& local_set ); 00026 virtual ~transport_peer(); 00027 virtual void start(); 00028 virtual void stop(); 00029 virtual void send( const address_v* remote, const uint8_t* data, size_t size ); 00030 virtual void send( const endpoint_set& endpoints, const uint8_t* data, size_t size ); 00031 virtual void terminate( const address_v* remote ); 00032 virtual void register_listener( transport_listener* listener ); 00033 00034 private: 00035 endpoint_set& local; 00036 tcpip* tcp; 00037 rfcomm* rfc; 00038 }; 00039 00040 }} // namespace ariba::transport 00041 00042 #endif /* TRANSPORT_PEER_HPP_ */