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

internal::LateConstReferenceDataSource
< T >::shared_ptr 
const_ref_data_source
DataFlowInterfacemsender
PortableServer::ObjectId_var oid
bool pull
internal::LateReferenceDataSource
< T >::shared_ptr 
ref_data_source
base::ChannelElement< T >::value_t sample
bool valid
internal::ValueDataSource< T >
::shared_ptr 
value_data_source
CORBA::Any * write_any

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 93 of file RemoteChannelElement.hpp.

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

Definition at line 113 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 119 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 122 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 185 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 222 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 243 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 286 of file RemoteChannelElement.hpp.

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

Definition at line 200 of file RemoteChannelElement.hpp.

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

CORBA IDL function.

Definition at line 129 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 134 of file RemoteChannelElement.hpp.

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

Implements RTT::corba::CRemoteChannelElement_i.

Definition at line 149 of file RemoteChannelElement.hpp.

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

Definition at line 306 of file RemoteChannelElement.hpp.

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

CORBA IDL function.

Definition at line 340 of file RemoteChannelElement.hpp.


Member Data Documentation

Definition at line 64 of file RemoteChannelElement.hpp.

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

Definition at line 78 of file RemoteChannelElement.hpp.

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

Definition at line 85 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 73 of file RemoteChannelElement.hpp.

Definition at line 63 of file RemoteChannelElement.hpp.

template<typename T>
base::ChannelElement<T>::value_t RTT::corba::RemoteChannelElement< T >::sample [private]

This is used on to read the channel

Definition at line 76 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 69 of file RemoteChannelElement.hpp.

Definition at line 62 of file RemoteChannelElement.hpp.

template<typename T>
CORBA::Any* RTT::corba::RemoteChannelElement< T >::write_any [private]

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

Definition at line 83 of file RemoteChannelElement.hpp.


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


rtt
Author(s): RTT Developers
autogenerated on Thu Jan 2 2014 11:35:43