RTT::detail::TypeTransporter Class Reference

This interface defines the function a transport protocol must support in order to allow Orocos components to remotely communicate data. More...

#include <rtt/TypeTransporter.hpp>

Inheritance diagram for RTT::detail::TypeTransporter:
RTT::detail::CorbaTemplateProtocol< T >

List of all members.

Public Member Functions

virtual void * createBlob (DataSourceBase::shared_ptr source) const =0
 Create an transportable object for a protocol which contains the value of source.
virtual bool updateBlob (const void *blob, DataSourceBase::shared_ptr target) const =0
 Update target with the contents of blob which is an object of a protocol.
virtual DataSourceBaseproxy (void *data) const =0
 Create a DataSource which is a proxy for a remote server object.
virtual void * server (DataSourceBase::shared_ptr source, bool assignable, void *arg) const =0
 Create a server for a DataSource, which can be picked up by a proxy.
virtual void * method (DataSourceBase::shared_ptr source, MethodC *orig, void *arg) const =0
 Create a server for a local method.
virtual DataSourceBasedataProxy (PortInterface *data) const =0
 Returns a new DataObject<T> object mirroring a remote data object server.
virtual DataSourceBasedataProxy (void *data) const =0
virtual void * dataServer (DataSourceBase::shared_ptr source, void *arg) const =0
virtual BufferBasebufferProxy (PortInterface *data) const =0
 Returns a new BufferInterface<T> object mirroring a remote buffer object server.
virtual BufferBasebufferProxy (void *data) const =0
virtual void * bufferServer (BufferBase::shared_ptr source, void *arg) const =0
virtual DataSourceBasenarrowDataSource (DataSourceBase *dsb)=0
 Narrows a remote data source object or proxy to this type.
virtual DataSourceBasenarrowAssignableDataSource (DataSourceBase *dsb)=0
 Narrows a remote assignable data source object or proxy to this type.

Detailed Description

This interface defines the function a transport protocol must support in order to allow Orocos components to remotely communicate data.

Warning:
This class requires that you cast objects to (void*). If your objects use virtual inheritance, you must cast to and from the same type and not to a sub- or super-class. If you fail to do so, you'll get immediate hard to debug crashes, as objects appear to be corrupted.

Definition at line 62 of file TypeTransporter.hpp.


Member Function Documentation

virtual BufferBase* RTT::detail::TypeTransporter::bufferProxy ( PortInterface data  )  const [pure virtual]

Returns a new BufferInterface<T> object mirroring a remote buffer object server.

Used to setup a Corba Data Flow.

Implemented in RTT::detail::CorbaTemplateProtocol< T >.

virtual DataSourceBase* RTT::detail::TypeTransporter::dataProxy ( PortInterface data  )  const [pure virtual]

Returns a new DataObject<T> object mirroring a remote data object server.

Used to setup a Corba Data Flow.

Implemented in RTT::detail::CorbaTemplateProtocol< T >.

virtual void* RTT::detail::TypeTransporter::method ( DataSourceBase::shared_ptr  source,
MethodC orig,
void *  arg 
) const [pure virtual]

Create a server for a local method.

Used to export local methods to a network.

Implemented in RTT::detail::CorbaTemplateProtocol< T >.

virtual DataSourceBase* RTT::detail::TypeTransporter::narrowAssignableDataSource ( DataSourceBase dsb  )  [pure virtual]

Narrows a remote assignable data source object or proxy to this type.

Used internally to determine the type of a remote object.

Returns:
0 if dsb is not of this type.

Implemented in RTT::detail::CorbaTemplateProtocol< T >.

Referenced by RTT::AssignableDataSource< T >::narrow().

virtual DataSourceBase* RTT::detail::TypeTransporter::narrowDataSource ( DataSourceBase dsb  )  [pure virtual]

Narrows a remote data source object or proxy to this type.

Used internally to determine the type of a remote object.

Returns:
0 if dsb is not of this type.

Implemented in RTT::detail::CorbaTemplateProtocol< T >.

Referenced by RTT::DataSource< T >::narrow().

virtual DataSourceBase* RTT::detail::TypeTransporter::proxy ( void *  data  )  const [pure virtual]

Create a DataSource which is a proxy for a remote server object.

Used to read/write remote attributes, properties and general data over a network.

Implemented in RTT::detail::CorbaTemplateProtocol< T >.

virtual void* RTT::detail::TypeTransporter::server ( DataSourceBase::shared_ptr  source,
bool  assignable,
void *  arg 
) const [pure virtual]

Create a server for a DataSource, which can be picked up by a proxy.

Used to export local data to a network.

Implemented in RTT::detail::CorbaTemplateProtocol< T >.

Referenced by RTT::AssignableDataSource< T >::server().


The documentation for this class was generated from the following file:
Generated on Thu Dec 23 13:22:47 2010 for Orocos Real-Time Toolkit by  doxygen 1.6.3