#include <ChannelElementBase.hpp>
Classes | |
struct | Output |
Public Types | |
typedef std::list< Output > | Outputs |
typedef boost::intrusive_ptr< MultipleOutputsChannelElementBase > | shared_ptr |
Public Types inherited from RTT::base::ChannelElementBase | |
typedef boost::intrusive_ptr< ChannelElementBase > | shared_ptr |
Public Member Functions | |
virtual bool | channelReady (ChannelElementBase::shared_ptr const &caller, ConnPolicy const &policy, internal::ConnID *conn_id=0) |
virtual bool | connected () |
virtual bool | disconnect (ChannelElementBase::shared_ptr const &channel, bool forward=false) |
MultipleOutputsChannelElementBase () | |
virtual bool | signal () |
Public Member Functions inherited from RTT::base::ChannelElementBase | |
ChannelElementBase () | |
virtual void | clear () |
virtual bool | connectFrom (ChannelElementBase::shared_ptr const &input) |
virtual bool | connectTo (ChannelElementBase::shared_ptr const &output, bool mandatory=true) |
virtual void | disconnect (bool forward) |
virtual const ConnPolicy * | getConnPolicy () const |
virtual std::string | getElementName () const |
shared_ptr | getInput () |
virtual shared_ptr | getInputEndPoint () |
virtual std::string | getLocalURI () const |
shared_ptr | getOutput () |
virtual shared_ptr | getOutputEndPoint () |
virtual PortInterface * | getPort () const |
virtual std::string | getRemoteURI () const |
virtual bool | inputReady (ChannelElementBase::shared_ptr const &caller) |
virtual bool | isRemoteElement () const |
template<typename T > | |
ChannelElement< T > * | narrow () |
RTT_DEPRECATED void | setInput (const ChannelElementBase::shared_ptr &input) |
RTT_DEPRECATED void | setOutput (const ChannelElementBase::shared_ptr &output) |
virtual bool | signalFrom (ChannelElementBase *) |
virtual | ~ChannelElementBase () |
Protected Member Functions | |
virtual bool | addOutput (ChannelElementBase::shared_ptr const &output, bool mandatory=true) |
void | removeDisconnectedOutputs () |
virtual void | removeOutput (ChannelElementBase::shared_ptr const &output) |
Protected Member Functions inherited from RTT::base::ChannelElementBase | |
virtual bool | addInput (shared_ptr const &input) |
void | deref () |
void | ref () |
virtual void | removeInput (shared_ptr const &input) |
Protected Attributes | |
Outputs | outputs |
RTT::os::SharedMutex | outputs_lock |
Protected Attributes inherited from RTT::base::ChannelElementBase | |
shared_ptr | input |
RTT::os::SharedMutex | input_lock |
shared_ptr | output |
RTT::os::SharedMutex | output_lock |
Additional Inherited Members | |
Static Public Member Functions inherited from RTT::base::ChannelElementBase | |
template<typename T > | |
static ChannelElement< T > * | narrow (ChannelElementBase *e) |
ChannelElementBase variant with multiple output channels.
Definition at line 392 of file ChannelElementBase.hpp.
typedef std::list<Output> RTT::base::MultipleOutputsChannelElementBase::Outputs |
Definition at line 403 of file ChannelElementBase.hpp.
typedef boost::intrusive_ptr<MultipleOutputsChannelElementBase> RTT::base::MultipleOutputsChannelElementBase::shared_ptr |
Definition at line 395 of file ChannelElementBase.hpp.
MultipleOutputsChannelElementBase::MultipleOutputsChannelElementBase | ( | ) |
Definition at line 321 of file ChannelInterface.cpp.
|
protectedvirtual |
Sets the new output channel element of this element or adds a channel to the outputs list.
output | the next element in chain. |
mandatory | whether the added output is mandatory for a write to succeed |
Reimplemented from RTT::base::ChannelElementBase.
Definition at line 335 of file ChannelInterface.cpp.
|
virtual |
Overridden implementation of ChannelElementBase::channelReady() which forwards the signal to all outputs.
Reimplemented from RTT::base::ChannelElementBase.
Definition at line 365 of file ChannelInterface.cpp.
|
virtual |
Returns true, if this channel element has at least one output, independent of whether is has an input connection or not.
Reimplemented from RTT::base::ChannelElementBase.
Reimplemented in RTT::base::MultipleInputsMultipleOutputsChannelElementBase.
Definition at line 350 of file ChannelInterface.cpp.
|
virtual |
Overridden implementation of ChannelElementBase::disconnect(forward, channel).
Reimplemented from RTT::base::ChannelElementBase.
Reimplemented in RTT::base::MultipleInputsMultipleOutputsChannelElementBase, RTT::internal::ConnInputEndpoint< T >, RTT::internal::ConnInputEndpoint< double >, RTT::internal::ConnInputEndpoint< int >, and RTT::internal::ConnInputEndpoint< bool >.
Definition at line 374 of file ChannelInterface.cpp.
|
protected |
Iterate over all output channels and remove the ones that have been marked as disconnected (after a failed write() or data_sample() call).
Definition at line 419 of file ChannelInterface.cpp.
|
protectedvirtual |
Remove an output from the outputs list.
output | the element to be removed |
Reimplemented from RTT::base::ChannelElementBase.
Definition at line 345 of file ChannelInterface.cpp.
|
virtual |
Overridden implementation of ChannelElementBase::signal() which forwards the signal to all outputs.
Reimplemented from RTT::base::ChannelElementBase.
Definition at line 356 of file ChannelInterface.cpp.
|
protected |
Definition at line 406 of file ChannelElementBase.hpp.
|
mutableprotected |
Definition at line 407 of file ChannelElementBase.hpp.