$search

RTT::corba::RemoteInputPort Class Reference

#include <RemotePorts.hpp>

Inheritance diagram for RTT::corba::RemoteInputPort:
Inheritance graph
[legend]

List of all members.

Public Member Functions

base::PortInterfaceantiClone () const
base::ChannelElementBase::shared_ptr buildRemoteChannelOutput (base::OutputPortInterface &output_port, types::TypeInfo const *type, base::InputPortInterface &reader_, ConnPolicy const &policy)
virtual bool channelReady (base::ChannelElementBase::shared_ptr channel)
base::PortInterfaceclone () const
base::DataSourceBasegetDataSource ()
 RemoteInputPort (types::TypeInfo const *type_info, CDataFlowInterface_ptr dataflow, std::string const &name, PortableServer::POA_ptr poa)

Protected Member Functions

virtual bool addConnection (internal::ConnID *port_id, base::ChannelElementBase::shared_ptr channel_input, ConnPolicy const &policy)

Private Types

typedef std::map
< base::ChannelElementBase
*, RTT::corba::CChannelElement_var > 
ChannelMap

Private Attributes

ChannelMap channel_map

Detailed Description

Proxy for a remote input port. Since it inherits from ConnFactory, it also allows for building an output endpoint. You can not access its datasource.

Definition at line 123 of file RemotePorts.hpp.


Member Typedef Documentation

typedef std::map<base::ChannelElementBase*,RTT::corba::CChannelElement_var> RTT::corba::RemoteInputPort::ChannelMap [private]

Definition at line 126 of file RemotePorts.hpp.


Constructor & Destructor Documentation

RTT::corba::RemoteInputPort::RemoteInputPort ( types::TypeInfo const *  type_info,
CDataFlowInterface_ptr  dataflow,
std::string const &  name,
PortableServer::POA_ptr  poa 
)

Member Function Documentation

virtual bool RTT::corba::RemoteInputPort::addConnection ( internal::ConnID port_id,
base::ChannelElementBase::shared_ptr  channel_input,
ConnPolicy const &  policy 
) [inline, protected, virtual]

The ConnectionFactory calls this. Overload to do nothing when dealing with remote ports.

Parameters:
port_id 
channel_input 
policy 
Returns:

Reimplemented from RTT::corba::RemotePort< base::InputPortInterface >.

Definition at line 136 of file RemotePorts.hpp.

base::PortInterface* RTT::corba::RemoteInputPort::antiClone (  )  const [virtual]

Create a local clone of this port with the same name. If this port is a local port, this is an object of the inverse direction (read for write and write for read), and same name. If this object is a remote port, then it is a local port of the inverse direction and with the same name.

Implements RTT::base::PortInterface.

base::ChannelElementBase::shared_ptr RTT::corba::RemoteInputPort::buildRemoteChannelOutput ( base::OutputPortInterface output_port,
types::TypeInfo const *  type,
base::InputPortInterface reader_,
ConnPolicy const &  policy 
) [virtual]

This method will do more than just building the output half, it will create the two crucial ChannelElements on both sides of the CORBA connection to marshal/demarshal the channel data. The policy is used to determine if storage must be allocated remotely or (has been allocated) locally. reader_ is ignored and must be this.

Parameters:
output_port The local port that will be sending data to the remote channel.
type The type of data to transport
reader_ Ignored. Must be this.
policy The policy for the ConnFactory.
Returns:
The local endpoint for the output.

Reimplemented from RTT::base::InputPortInterface.

virtual bool RTT::corba::RemoteInputPort::channelReady ( base::ChannelElementBase::shared_ptr  channel  )  [virtual]

For remote input port objects, this is forwarded to the other end over the Data Flow Interface. The given channel must be the output endpoint of a connection, which was built using buildRemoteChannelOutput. So channel->getOutputEndpoint() == channel

Returns:

Reimplemented from RTT::base::InputPortInterface.

base::PortInterface* RTT::corba::RemoteInputPort::clone (  )  const [virtual]

Create a local clone of this port with the same name. If this port is a local port, this is an object of the same type and same name. If this object is a remote port, then it is a local port of the same type and same name.

Implements RTT::base::PortInterface.

base::DataSourceBase* RTT::corba::RemoteInputPort::getDataSource (  )  [virtual]

Returns a DataSourceBase interface to read this port. The returned data source is always a new object.

Implements RTT::base::InputPortInterface.


Member Data Documentation

Definition at line 127 of file RemotePorts.hpp.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines


rtt
Author(s): RTT Developers
autogenerated on Fri Mar 1 16:27:43 2013