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
1.6.3