An Object which manages and maintains a communication connection between Ports. More...
#include <rtt/ConnectionInterface.hpp>
Public Types | |
typedef boost::intrusive_ptr < ConnectionInterface > | shared_ptr |
Public Member Functions | |
virtual DataSourceBase::shared_ptr | getDataSource () const =0 |
Get a Data source representing the current value of this connection. | |
virtual BufferBase::shared_ptr | getBuffer () const =0 |
Returns the buffer and its associated status of this connection, if this connection is buffered. | |
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 const TypeInfo * | getTypeInfo () const =0 |
Get the data type of this port. | |
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 |
An Object which manages and maintains a communication connection between Ports.
It is possible that a PortInterface participates in multiple 'dormant' (ie !connected()) connections while only one connection is connected() at the same time. If one tries to connect() a connection in which one ore more subscribers are already participating in the connection, the connect() method fails.
Definition at line 101 of file ConnectionInterface.hpp.
virtual bool RTT::ConnectionInterface::addPort | ( | PortInterface * | p | ) | [virtual] |
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] |
Connect all readers and writers.
If a reader or writer is already connected to another connection, this method fails.
virtual BufferBase::shared_ptr RTT::ConnectionInterface::getBuffer | ( | ) | const [pure virtual] |
Returns the buffer and its associated status of this connection, if this connection is buffered.
Otherwise, this returns the null pointer.
Implemented in RTT::BufferConnection< T >, and RTT::DataConnection< T >.
std::string RTT::ConnectionInterface::getConnectionName | ( | ) |
Return the name of this connection if available.
virtual DataSourceBase::shared_ptr RTT::ConnectionInterface::getDataSource | ( | ) | const [pure virtual] |
Get a Data source representing the current value of this connection.
This function always returns a meaningful data source.
Implemented in RTT::BufferConnection< T >, and RTT::DataConnection< T >.
PList RTT::ConnectionInterface::getPortList | ( | ) |
Accessibility method to return all the port list associated with this connection.
virtual bool RTT::ConnectionInterface::removePort | ( | PortInterface * | p | ) | [virtual] |
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 | ) |
Set a new name for this connection.
newConnectionName | The new name to be set for this connection. |
void RTT::ConnectionInterface::signal | ( | ) |
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