48 #include <boost/bind.hpp> 49 #include <boost/scoped_ptr.hpp> 50 #include "../base/PortInterface.hpp" 51 #include "../os/MutexLock.hpp" 52 #include "../base/InputPortInterface.hpp" 53 #include "../Logger.hpp" 58 using namespace detail;
75 boost::scoped_ptr<ConnID> conn_id( port->
getPortID() );
88 Connections::iterator next =
connections.erase(descriptor);
92 bool is_forward =
true;
93 if ( dynamic_cast<InputPortInterface*>(
mport) )
119 boost::scoped_ptr<ConnID> conn_id( port->
getPortID() );
120 for(Connections::const_iterator conn_it =
connections.begin(); conn_it !=
connections.end(); ++conn_it ) {
121 if (conn_it->get<0>() && conn_id->isSameID(*conn_it->get<0>()))
return true;
149 if (conn_it->get<0>() && conn_id->
isSameID(*conn_it->get<0>())) {
164 if (conn_it->get<1>() && channel == conn_it->get<1>()) {
virtual bool isSameID(ConnID const &id) const =0
Connections::iterator eraseConnection(const Connections::iterator &descriptor, bool disconnect)
boost::intrusive_ptr< SharedConnectionBase > shared_ptr
bool removeConnection(ConnID *port_id, bool disconnect=true)
bool connectedTo(base::PortInterface *port)
const std::string & getName() const
internal::SharedConnectionBase::shared_ptr shared_connection
virtual ChannelElementBase * getEndpoint() const =0
ConnectionManager(base::PortInterface *port)
virtual void disconnect(bool forward)
base::PortInterface * mport
boost::tuple< boost::shared_ptr< ConnID >, base::ChannelElementBase::shared_ptr, ConnPolicy > ChannelDescriptor
boost::intrusive_ptr< ChannelElementBase > shared_ptr
bool addConnection(ConnID *port_id, base::ChannelElementBase::shared_ptr channel, ConnPolicy policy)
virtual internal::ConnID * getPortID() const
Contains TaskContext, Activity, OperationCaller, Operation, Property, InputPort, OutputPort, Attribute.
std::list< ChannelDescriptor > connections
static Logger::LogFunction endlog()