Orocos Real-Time Toolkit  2.6.0
Public Types | Public Member Functions
RTT::corba::CDataFlowInterface Interface Reference

An interface to access the dataflow of a CControlTask object. More...

import "rtt/transports/corba/DataFlow.idl";

Inheritance diagram for RTT::corba::CDataFlowInterface:
RTT::corba::CService

List of all members.

Public Types

typedef sequence< string > CPortNames
typedef sequence
< CPortDescription > 
CPortDescriptions

Public Member Functions

CPortNames getPorts ()
 Returns the names of the ports of this component.
CPortDescriptions getPortDescriptions ()
 Returns the names of the ports of this component.
CPortType getPortType (in string port_name) raises (CNoSuchPortException)
 Returns the type of the given port.
string getDataType (in string port_name) raises (CNoSuchPortException)
 Returns the data type for the given port.
boolean isConnected (in string port_name) raises (CNoSuchPortException)
 Check if the given port is already connected to something.
void disconnectPort (in string port_name) raises (CNoSuchPortException)
 Disconnects this port from all connections it is part of.
CChannelElement buildChannelOutput (in string input_port, inout CConnPolicy policy) raises (CNoCorbaTransport,CNoSuchPortException)
 Use this to write to an input port with the given policy.
CChannelElement buildChannelInput (in string output_port, inout CConnPolicy policy) raises (CNoCorbaTransport,CNoSuchPortException)
 Use this to read from an output port with the given policy.
boolean createConnection (in string local_port, in CDataFlowInterface remote_ports, in string remote_port, inout CConnPolicy policy) raises (CNoSuchPortException)
 Connect the given named port to the given remote port.
boolean removeConnection (in string local_port, in CDataFlowInterface remote_ports, in string remote_port) raises (CNoSuchPortException)
 Removes the specified connection created with createConnection.
boolean createStream (in string local_port, inout CConnPolicy policy) raises (CNoSuchPortException)
 Create an out-of-band data stream with a given policy.
void removeStream (in string local_port, in string stream_name) raises (CNoSuchPortException)
 Removes a stream added with createStream.
boolean channelReady (in string input_port, in CChannelElement channel) raises (CNoSuchPortException)
 Checks if the connection channel elements are ready for a given input port.

Detailed Description

An interface to access the dataflow of a CControlTask object.

Data ports are exported as assignable expressions (Set/Get). Buffer ports are exported as buffer channels.

Definition at line 119 of file DataFlow.idl.


Member Function Documentation

CChannelElement RTT::corba::CDataFlowInterface::buildChannelInput ( in string  output_port,
inout CConnPolicy  policy 
) raises (CNoCorbaTransport,CNoSuchPortException)

Use this to read from an output port with the given policy.

Some protocols may adjust the policy, or pass additional information into the policy, such as the name of the newly created connection.

CChannelElement RTT::corba::CDataFlowInterface::buildChannelOutput ( in string  input_port,
inout CConnPolicy  policy 
) raises (CNoCorbaTransport,CNoSuchPortException)

Use this to write to an input port with the given policy.

Some protocols may adjust the policy, or pass additional information into the policy, such as the name of the newly created connection.

The returned channel element will not be functional until channelReady() has been called for it

boolean RTT::corba::CDataFlowInterface::channelReady ( in string  input_port,
in CChannelElement  channel 
) raises (CNoSuchPortException)

Checks if the connection channel elements are ready for a given input port.

This is typically called by the createConnection setup logic to see if the input side agrees with the connection and can use it. For example, the input port can use this opportunity to check the

Exceptions:
CNoSuchPortExceptionif input_port is not an input port or not present in this interface.
Returns:
false if the connection could not be used.
boolean RTT::corba::CDataFlowInterface::createConnection ( in string  local_port,
in CDataFlowInterface  remote_ports,
in string  remote_port,
inout CConnPolicy  policy 
) raises (CNoSuchPortException)

Connect the given named port to the given remote port.

Use this method to connect two Orocos data flow ports.

The local port needs to be the output, while the remote port is the input. In case you only want to write a port without using this function, use buildChannelOutput. For only reading a port, use buildChannelInput.

This method combines both buildChannelOutput() and buildChannelInput() and is generally better in setting up and checking a data flow connection between two ports than the separate methods.

This method will call the remote_ports interface back to orchestrate the connection building.

See also:
removeConnection() to remove this connection again.
boolean RTT::corba::CDataFlowInterface::createStream ( in string  local_port,
inout CConnPolicy  policy 
) raises (CNoSuchPortException)

Create an out-of-band data stream with a given policy.

You may specify a name_id in the policy object, or if left empty, a name will be chosen for you.

Disconnects this port from all connections it is part of.

See also:
CChannelElement::disconnect() to disconnect a single Channel.
void RTT::corba::CDataFlowInterface::removeStream ( in string  local_port,
in string  stream_name 
) raises (CNoSuchPortException)

Removes a stream added with createStream.

Parameters:
local_portThe port to remove the stream from.
stream_nameThe name_id returned in the CConnPolicy object after the call to createStream.

The documentation for this interface was generated from the following file: