Public Member Functions | Private Attributes
RTT::corba::RemoteChannelElement< T > Class Template Reference

#include <RemoteChannelElement.hpp>

Inheritance diagram for RTT::corba::RemoteChannelElement< T >:
Inheritance graph
[legend]

List of all members.

Public Member Functions

void _add_ref ()
void _remove_ref ()
virtual bool data_sample (typename base::ChannelElement< T >::param_t sample)
void disconnect () ACE_THROW_SPEC((CORBA
void disconnect (bool writer_to_reader) ACE_THROW_SPEC((CORBA
virtual bool inputReady ()
FlowStatus read (typename base::ChannelElement< T >::reference_t sample, bool copy_old_data)
CFlowStatus read (::CORBA::Any_out sample, bool copy_old_data) ACE_THROW_SPEC((CORBA
 RemoteChannelElement (CorbaTypeTransporter const &transport, DataFlowInterface *sender, PortableServer::POA_ptr poa, bool is_pull)
void remoteDisconnect (bool writer_to_reader) ACE_THROW_SPEC((CORBA
CORBA::Boolean remoteSignal () ACE_THROW_SPEC((CORBA
bool signal ()
virtual void transferSamples ()
bool write (typename base::ChannelElement< T >::param_t sample)
bool write (const ::CORBA::Any &sample) ACE_THROW_SPEC((CORBA
 ~RemoteChannelElement ()

Private Attributes

DataFlowInterfacemsender
PortableServer::ObjectId_var oid
bool pull
bool valid

Detailed Description

template<typename T>
class RTT::corba::RemoteChannelElement< T >

Implements the CRemoteChannelElement of the CORBA IDL interface. It converts the C++ calls into CORBA calls and vice versa. A read will cause a call to the remote channel (which is of the same type of this RemoteChannelElement) which returns an Any with the data. A similar mechanism is in place for a write.

Definition at line 58 of file RemoteChannelElement.hpp.


Constructor & Destructor Documentation

template<typename T>
RTT::corba::RemoteChannelElement< T >::RemoteChannelElement ( CorbaTypeTransporter const &  transport,
DataFlowInterface sender,
PortableServer::POA_ptr  poa,
bool  is_pull 
) [inline]

Create a channel element for remote data exchange.

Parameters:
transportThe type specific object that will be used to marshal the data.
poaThe POA that manages the underlying CRemoteChannelElement_i.

Definition at line 82 of file RemoteChannelElement.hpp.

template<typename T>
RTT::corba::RemoteChannelElement< T >::~RemoteChannelElement ( ) [inline]

Definition at line 98 of file RemoteChannelElement.hpp.


Member Function Documentation

template<typename T>
void RTT::corba::RemoteChannelElement< T >::_add_ref ( ) [inline]

Increase the reference count, called from the CORBA side

Definition at line 103 of file RemoteChannelElement.hpp.

template<typename T>
void RTT::corba::RemoteChannelElement< T >::_remove_ref ( ) [inline]

Decrease the reference count, called from the CORBA side

Definition at line 106 of file RemoteChannelElement.hpp.

template<typename T>
virtual bool RTT::corba::RemoteChannelElement< T >::data_sample ( typename base::ChannelElement< T >::param_t  sample) [inline, virtual]

Definition at line 348 of file RemoteChannelElement.hpp.

template<typename T>
void RTT::corba::RemoteChannelElement< T >::disconnect ( ) [inline]

CORBA IDL function.

Definition at line 172 of file RemoteChannelElement.hpp.

template<typename T>
void RTT::corba::RemoteChannelElement< T >::disconnect ( bool  writer_to_reader) [inline, virtual]

CORBA IDL function.

Reimplemented from RTT::base::ChannelElementBase.

Definition at line 209 of file RemoteChannelElement.hpp.

template<typename T>
virtual bool RTT::corba::RemoteChannelElement< T >::inputReady ( ) [inline, virtual]

CORBA IDL function.

Reimplemented from RTT::base::ChannelElementBase.

Definition at line 362 of file RemoteChannelElement.hpp.

template<typename T>
FlowStatus RTT::corba::RemoteChannelElement< T >::read ( typename base::ChannelElement< T >::reference_t  sample,
bool  copy_old_data 
) [inline]

Definition at line 230 of file RemoteChannelElement.hpp.

template<typename T>
CFlowStatus RTT::corba::RemoteChannelElement< T >::read ( ::CORBA::Any_out  sample,
bool  copy_old_data 
) [inline]

CORBA IDL function.

Definition at line 276 of file RemoteChannelElement.hpp.

template<typename T>
void RTT::corba::RemoteChannelElement< T >::remoteDisconnect ( bool  writer_to_reader) [inline]

Definition at line 187 of file RemoteChannelElement.hpp.

template<typename T>
CORBA::Boolean RTT::corba::RemoteChannelElement< T >::remoteSignal ( ) [inline]

CORBA IDL function.

Definition at line 113 of file RemoteChannelElement.hpp.

template<typename T>
bool RTT::corba::RemoteChannelElement< T >::signal ( ) [inline, virtual]

Signals that there is new data available on this channel By default, the channel element forwards the call to its output

Returns:
false if an error occured that requires the channel to be invalidated. In no ways it indicates that the sample has been received by the other side of the channel.

Reimplemented from RTT::base::ChannelElementBase.

Definition at line 118 of file RemoteChannelElement.hpp.

template<typename T>
virtual void RTT::corba::RemoteChannelElement< T >::transferSamples ( ) [inline, virtual]

This is used on to read the channel

Implements RTT::corba::CRemoteChannelElement_i.

Definition at line 133 of file RemoteChannelElement.hpp.

template<typename T>
bool RTT::corba::RemoteChannelElement< T >::write ( typename base::ChannelElement< T >::param_t  sample) [inline]

This is used on the writing side, to avoid allocating an Any for each write

Definition at line 298 of file RemoteChannelElement.hpp.

template<typename T>
bool RTT::corba::RemoteChannelElement< T >::write ( const ::CORBA::Any &  sample) [inline]

CORBA IDL function.

Definition at line 338 of file RemoteChannelElement.hpp.


Member Data Documentation

template<typename T>
DataFlowInterface* RTT::corba::RemoteChannelElement< T >::msender [private]

Definition at line 72 of file RemoteChannelElement.hpp.

template<typename T>
PortableServer::ObjectId_var RTT::corba::RemoteChannelElement< T >::oid [private]

Definition at line 74 of file RemoteChannelElement.hpp.

template<typename T>
bool RTT::corba::RemoteChannelElement< T >::pull [private]

In pull mode, we don't send data, just signal it and remote must read it back.

Definition at line 70 of file RemoteChannelElement.hpp.

template<typename T>
bool RTT::corba::RemoteChannelElement< T >::valid [private]

Becomes false if we couldn't transfer data to remote

Definition at line 66 of file RemoteChannelElement.hpp.


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


rtt
Author(s): RTT Developers
autogenerated on Sat Jun 8 2019 18:46:38