A local connection with a DataObject, which is used to connect multiple Ports to that DataObject. More...
#include <rtt/DataConnection.hpp>
Public Types | |
typedef boost::intrusive_ptr < DataConnection > | shared_ptr |
Public Member Functions | |
DataConnection (DataObjectInterface< T > *doi) | |
Create a Data Connection with initially no readers and no writers. | |
~DataConnection () | |
The cleanup of DataConnection does nothing. | |
virtual DataSourceBase::shared_ptr | getDataSource () const |
Get a Data source representing the current value of this connection. | |
virtual BufferBase::shared_ptr | getBuffer () const |
Returns the buffer and its associated status of this connection, if this connection is buffered. | |
virtual const TypeInfo * | getTypeInfo () const |
Get the data type of this port. | |
void | setImplementation (DataObjectInterface< T > *doi) |
DataObjectInterface< T > * | data () |
const DataObjectInterface< T > * | data () const |
virtual bool | connect () |
Connect all readers and writers. | |
virtual bool | connected () const |
Get Connection status. | |
virtual bool | disconnect () |
Disconnect all readers and writers. | |
virtual bool | addPort (PortInterface *p) |
Add a Port to the connection. | |
virtual bool | removePort (PortInterface *p) |
Remove a Port from the connection. | |
virtual int | serverProtocol () const |
Returns the protocol over which this connection can be accessed. | |
void | signal () |
Signals that a new data sample has been written on this connection. | |
std::string | getConnectionName () |
Return the name of this connection if available. | |
void | setConnectionName (std::string newConnectionName) |
Set a new name for this connection. | |
PList | getPortList () |
Accessibility method to return all the port list associated with this connection. | |
Protected Types | |
typedef std::vector < PortInterface * > | PList |
Protected Member Functions | |
friend | void::intrusive_ptr_add_ref (ConnectionInterface *p) |
friend | void::intrusive_ptr_release (ConnectionInterface *p) |
Protected Attributes | |
OS::AtomicInt | refcount |
PList | ports |
bool | mconnected |
std::string | connectionName |
A local connection with a DataObject, which is used to connect multiple Ports to that DataObject.
Definition at line 55 of file DataConnection.hpp.
RTT::DataConnection< T >::~DataConnection | ( | ) | [inline] |
The cleanup of DataConnection does nothing.
The only cause of deletion is that no Port holds a pointer to this connection (refcount becomes zero), hence, all readers and writers are already disconnected.
Definition at line 78 of file DataConnection.hpp.
virtual bool RTT::ConnectionInterface::addPort | ( | PortInterface * | p | ) | [virtual, inherited] |
Add a Port to the connection.
If this->connected(), also immediately connect p to this connection.
p | A port which wants to read or write data from this connection. |
virtual bool RTT::ConnectionInterface::connect | ( | ) | [virtual, inherited] |
Connect all readers and writers.
If a reader or writer is already connected to another connection, this method fails.
virtual BufferBase::shared_ptr RTT::DataConnection< T >::getBuffer | ( | ) | const [inline, virtual] |
Returns the buffer and its associated status of this connection, if this connection is buffered.
Otherwise, this returns the null pointer.
Implements RTT::ConnectionInterface.
Definition at line 84 of file DataConnection.hpp.
std::string RTT::ConnectionInterface::getConnectionName | ( | ) | [inherited] |
Return the name of this connection if available.
virtual DataSourceBase::shared_ptr RTT::DataConnection< T >::getDataSource | ( | ) | const [inline, virtual] |
Get a Data source representing the current value of this connection.
This function always returns a meaningful data source.
Implements RTT::ConnectionInterface.
Definition at line 80 of file DataConnection.hpp.
PList RTT::ConnectionInterface::getPortList | ( | ) | [inherited] |
Accessibility method to return all the port list associated with this connection.
virtual bool RTT::ConnectionInterface::removePort | ( | PortInterface * | p | ) | [virtual, inherited] |
Remove a Port from the connection.
If this->connected(), also immediately disconnect p from this connection.
p | A port which no longer wants to read or write data from this connection. |
void RTT::ConnectionInterface::setConnectionName | ( | std::string | newConnectionName | ) | [inherited] |
Set a new name for this connection.
newConnectionName | The new name to be set for this connection. |
void RTT::ConnectionInterface::signal | ( | ) | [inherited] |
Signals that a new data sample has been written on this connection.
This is to be called by source ports when new data is written on the connection