static bool createStream(InputPort<T>& input_port, ConnPolicy const& policy) { StreamConnID *sid = new StreamConnID(policy.name_id); RTT::base::ChannelElementBase::shared_ptr outhalf = buildChannelOutput( input_port, sid ); if ( createAndCheckStream(input_port, policy, outhalf, sid) ) return true; input_port.removeConnection(sid); return false; }
virtual void disconnect(bool forward) { InputPort<T>* port = this->port; this->port = 0; if (forward) { if (port) port->removeConnection(cid); } else base::ChannelElement<T>::disconnect(false); }