39 #ifndef ORO_CHANNEL_BASE_HPP 40 #define ORO_CHANNEL_BASE_HPP 42 #include "../os/oro_arch.h" 44 #include <boost/intrusive_ptr.hpp> 45 #include <boost/call_traits.hpp> 49 #include "../internal/rtt-internal-fwd.hpp" 51 namespace RTT {
namespace base {
63 typedef boost::intrusive_ptr<ChannelElementBase>
shared_ptr;
134 void setOutput(shared_ptr output);
141 virtual bool signal();
150 virtual bool inputReady();
158 virtual void clear();
164 virtual void disconnect(
bool forward);
188 virtual bool isRemoteElement()
const;
200 virtual std::string getRemoteURI()
const;
207 virtual std::string getLocalURI()
const;
216 virtual std::string getElementName()
const;
void RTT_API intrusive_ptr_add_ref(ChannelElementBase *e)
boost::intrusive_ptr< ChannelElementBase > shared_ptr
void RTT_API intrusive_ptr_release(ChannelElementBase *e)
This class is used in places where a permanent representation of a reference to a connection is neede...
An object oriented wrapper around a non recursive mutex.
Contains TaskContext, Activity, OperationCaller, Operation, Property, InputPort, OutputPort, Attribute.
In the data flow implementation, a channel is created by chaining ChannelElementBase objects...
The base class of every data flow port.
Structure that contains an int for atomic operations.