WriteDataPort Class Template Reference
[Data Transfer Ports]

#include <rtt/DataPort.hpp>

Inheritance diagram for WriteDataPort:

Inheritance graph
[legend]
List of all members.

Detailed Description

template<class T>
class RTT::WriteDataPort< T >

A Port to a writable Data Connection.

Use connection() to access the data object. If the port is not connected, connection() returns null.

Parameters:
T The type of the data of the Data Object.


Public Types

typedef T DataType
enum  PortType { ReadPort, WritePort, ReadWritePort }
 This enum classifies if a port is inbound outbound or both.

Public Member Functions

 WriteDataPort (const std::string &name, const DataType &initial_value=DataType())
 Construct an unconnected Port to a writable DataObject.
WriteDataPortoperator= (DataObjectInterface< T > *impl)
 Provide a new implementation for the connection of this port.
void Set (const T &data)
 Write data to the connection of this port.
virtual PortType getPortType () const
 Get the PortType of this port.
bool connect (typename DataConnectionInterface< T >::shared_ptr conn)
 Connect an existing data object connection to this Port.
virtual ConnectionInterface::shared_ptr connection () const
 Returns the connection in which this Port currently participates.
bool connected () const
 Inspect if this Port is currently connected with another Port.
bool connectTo (ConnectionInterface::shared_ptr other)
 Connect this port to a Connection.
void disconnect ()
 No longer participate in a connection.
DataObjectInterface< T > * data ()
 Get the data object to write to.
const DataObjectInterface<
T > * 
data () const
 Get the data object to read from.
virtual PortInterfaceclone () const
 Create a clone of this port with the same name.
virtual PortInterfaceantiClone () const
 Create the anti-clone (inverse port) of this port with the same name A port for reading will return a new port for writing and vice versa.
ConnectionInterface::shared_ptr createConnection (PortInterface *other, ConnectionTypes::ConnectionType con_type=ConnectionTypes::lockfree)
 Create a connection object from this port to another port.
ConnectionInterface::shared_ptr createConnection (ConnectionTypes::ConnectionType con_type)
 Create a new connection object to which this port is subscribed.
virtual TaskObjectcreatePortObject ()
 Create accessor Object for this Port, for addition to a TaskContext Object interface.
const std::string & getName () const
 Get the name of this Port.
bool setName (const std::string &name)
 Change the name of this unconnected Port.
bool ready () const
 Returns true if this Port is ready to be used.
virtual bool connectTo (PortInterface *other)
 Connect to another Port and create a new connection if necessary.

Protected Attributes

DataConnectionInterface< T
>::shared_ptr 
mconn
 The connection to write to.
DataType minitial_value
std::string portname


Constructor & Destructor Documentation

WriteDataPort ( const std::string &  name,
const DataType &  initial_value = DataType() 
) [inline]

Construct an unconnected Port to a writable DataObject.

Parameters:
name The name of this port.
initial_value The initial value of this port's connection when the connection is created. If this port is connected to an existing connection, this value is ignored.


Member Function Documentation

WriteDataPort< T > & operator= ( DataObjectInterface< T > *  impl  ) 

Provide a new implementation for the connection of this port.

If this port is not connected, a new connection is created.

Reimplemented in DataPort.

void Set ( const T &  data  )  [inline]

Write data to the connection of this port.

If the port is not connected, this methods sets the initial value of the connection to data.

Parameters:
data The data to write to this port.

Reimplemented in DataPort.

virtual ConnectionInterface::shared_ptr connection (  )  const [inline, virtual]

Returns the connection in which this Port currently participates.

It is possible that this port is part of a dormant connection, ( the connection object is not in the connected() state), in that case this method will return null, until the dormant connection becomes connected().

Return values:
null if not connected to another Port.

Implements PortInterface.

Reimplemented in DataPort.

bool connectTo ( ConnectionInterface::shared_ptr  other  )  [inline, virtual]

Connect this port to a Connection.

If the connection is in the connected() state, this port will participate in that connection, otherwise, the port will become connected once conn becomes connected().

Returns:
true if connection was possible, false otherwise.

Implements PortInterface.

Reimplemented in DataPort.

DataObjectInterface<T>* data (  )  [inline]

Get the data object to write to.

The Task may use this to write to a Data Object connected to this port.

Returns:
0 if !connected(), the data object otherwise.

Reimplemented in DataPort.

const DataObjectInterface<T>* data (  )  const [inline]

Get the data object to read from.

The Task may use this to read from a Data Object connected to this port.

Returns:
0 if !connected(), the data object otherwise.

Reimplemented in DataPort.

bool setName ( const std::string &  name  )  [inherited]

Change the name of this unconnected Port.

One can only change the name when it is not yet connected.

Return values:
true if !this->connected(), the name has changed.
false if this->connected(), the name has not been changed.

bool ready (  )  const [inherited]

Returns true if this Port is ready to be used.

Identical to connected().

virtual bool connectTo ( PortInterface other  )  [virtual, inherited]

Connect to another Port and create a new connection if necessary.


The documentation for this class was generated from the following file:
Generated on Fri May 11 11:19:36 2007 for Orocos by  doxygen 1.5.1