Orocos Real-Time Toolkit  2.8.3
Classes | Public Member Functions | List of all members
RTT::internal::SendHandleC Class Reference

A template-less SendHandle manager. More...

#include <rtt/internal/SendHandleC.hpp>

Classes

class  D
 
class  E
 

Public Member Functions

 SendHandleC ()
 The default constructor. More...
 
 SendHandleC (base::DataSourceBase::shared_ptr operation, base::DataSourceBase::shared_ptr handle, OperationInterfacePart *ofp, const std::string &name)
 The constructor from a SendHandle data source and an operation part. More...
 
 SendHandleC (const SendHandleC &other)
 A SendHandleC is copyable by value. More...
 
SendHandleCoperator= (const SendHandleC &other)
 A SendHandleC is assignable. More...
 
 ~SendHandleC ()
 
SendHandleCarg (base::DataSourceBase::shared_ptr a)
 Add a datasource argument to the SendHandle. More...
 
template<class ArgT >
SendHandleCarg (ArgT &a)
 Add an argument by reference to the OperationCaller. More...
 
SendStatus collect ()
 Collect the contained method. More...
 
SendStatus collectIfDone ()
 Collect the contained method. More...
 
void check ()
 Checks if this handle is ready for collecting, will throw if not so. More...
 
bool ready () const
 Returns true if this handle is ready for execution. More...
 
void setAutoCollect (bool on_off)
 When set to 'on', the destruction of this SendHandleC will cause a call to collect() before all data in data sources is destroyed. More...
 
base::DataSourceBase::shared_ptr getSendHandleDataSource ()
 Get the contained data source for send handle. More...
 
OperationInterfacePartgetOrp ()
 Get the contained OperationInterfacePart for SendHandle. More...
 

Detailed Description

A template-less SendHandle manager.

It is created using a SendHandle data source, obtained from a OperationFactoryPart::produceSend(), the part itself and any arguments that must be provided to collect the results.

It is used by OperationCallerC to pass on responsibility to collect results to a separate object.

Definition at line 61 of file SendHandleC.hpp.

Constructor & Destructor Documentation

RTT::internal::SendHandleC::SendHandleC ( )

The default constructor.

Make a copy from another SendHandleC object in order to make it usable.

Definition at line 162 of file SendHandleC.cpp.

RTT::internal::SendHandleC::SendHandleC ( base::DataSourceBase::shared_ptr  operation,
base::DataSourceBase::shared_ptr  handle,
OperationInterfacePart ofp,
const std::string &  name 
)
RTT::internal::SendHandleC::SendHandleC ( const SendHandleC other)

A SendHandleC is copyable by value.

Definition at line 180 of file SendHandleC.cpp.

RTT::internal::SendHandleC::~SendHandleC ( )

Definition at line 199 of file SendHandleC.cpp.

Member Function Documentation

SendHandleC & RTT::internal::SendHandleC::arg ( base::DataSourceBase::shared_ptr  a)
template<class ArgT >
SendHandleC& RTT::internal::SendHandleC::arg ( ArgT &  a)
inline

Add an argument by reference to the OperationCaller.

Parameters
aA value of which the reference is used and re-read each time the method is called. Thus if the contents of the source of a changes, call() will use the new contents.

Definition at line 115 of file SendHandleC.hpp.

void RTT::internal::SendHandleC::check ( )
SendStatus RTT::internal::SendHandleC::collect ( )
SendStatus RTT::internal::SendHandleC::collectIfDone ( )
OperationInterfacePart * RTT::internal::SendHandleC::getOrp ( )

Get the contained OperationInterfacePart for SendHandle.

Definition at line 284 of file SendHandleC.cpp.

References RTT::internal::SendHandleC::E::orp.

DataSourceBase::shared_ptr RTT::internal::SendHandleC::getSendHandleDataSource ( )

Get the contained data source for send handle.

Definition at line 282 of file SendHandleC.cpp.

References RTT::internal::SendHandleC::E::s.

SendHandleC & RTT::internal::SendHandleC::operator= ( const SendHandleC other)
bool RTT::internal::SendHandleC::ready ( ) const

Returns true if this handle is ready for execution.

Definition at line 261 of file SendHandleC.cpp.

References RTT::internal::SendHandleC::E::s.

Referenced by RTT_corba_CSendHandle_i::RTT_corba_CSendHandle_i().

void RTT::internal::SendHandleC::setAutoCollect ( bool  on_off)

When set to 'on', the destruction of this SendHandleC will cause a call to collect() before all data in data sources is destroyed.

This is required for in-process operation calls, since destruction of the data sources would lead to memory corruption of the operation's arguments. When set to 'off', no such collection is done, which is useful in remote/inter-process communication, in which the data lives in a copy in the other process anyway. Since RTT uses this same class for both situations, we need a flag to distinguish.

Defaults to 'on', which is the safe default if unspecified.

Definition at line 266 of file SendHandleC.cpp.

References RTT::internal::SendHandleC::E::mopkeeper.

Referenced by RTT::internal::RemoteOperationCaller< OperationCallerT >::RemoteOperationCaller(), and RTT_corba_COperationInterface_i::sendOperation().


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