Orocos Real-Time Toolkit  2.8.3
Public Types | Public Member Functions | List of all members
RTT::internal::RemoteOperationCaller< OperationCallerT > Class Template Reference

A OperationCaller implementation which delegates C++ to datasource conversions when C++ code tries to call remote operations, only available in an OperationInterfacePart, and not through an OperationBase. More...

#include <rtt/internal/RemoteOperationCaller.hpp>

Inheritance diagram for RTT::internal::RemoteOperationCaller< OperationCallerT >:
RTT::internal::Invoker< OperationCallerT, RemoteOperationCallerImpl< OperationCallerT > > RTT::internal::InvokerImpl< int, F, BaseImpl >

Public Types

typedef OperationCallerT Signature
 

Public Member Functions

 RemoteOperationCaller (OperationInterfacePart *of, std::string name, ExecutionEngine *caller=0)
 Create a RemoteOperationCaller object which executes a remote method. More...
 
 RemoteOperationCaller (const SendHandleC &sh)
 
virtual bool ready () const
 
virtual void setCaller (ExecutionEngine *caller)
 
virtual base::OperationCallerBase< OperationCallerT > * cloneI (ExecutionEngine *caller) const
 

Detailed Description

template<class OperationCallerT>
class RTT::internal::RemoteOperationCaller< OperationCallerT >

A OperationCaller implementation which delegates C++ to datasource conversions when C++ code tries to call remote operations, only available in an OperationInterfacePart, and not through an OperationBase.

The datasources created as such are not subject to copy/clone semantics since they only serve as proxies to C++ arguments on the stack, when the OperationCaller object is invoked. A OperationCallerC object is used to keep track of all involved objects, and a SendHandleC object is used to track the results of asynchronous calls.

Parameters
OperationCallerTThe function signature of the remote operation. For example, bool( int, Frame, double)

Definition at line 404 of file RemoteOperationCaller.hpp.

Member Typedef Documentation

template<class OperationCallerT>
typedef OperationCallerT RTT::internal::RemoteOperationCaller< OperationCallerT >::Signature

Definition at line 408 of file RemoteOperationCaller.hpp.

Constructor & Destructor Documentation

template<class OperationCallerT>
RTT::internal::RemoteOperationCaller< OperationCallerT >::RemoteOperationCaller ( OperationInterfacePart of,
std::string  name,
ExecutionEngine caller = 0 
)
inline

Create a RemoteOperationCaller object which executes a remote method.

Parameters
ofThe OperationFactory for methods.
nameThe name of this method.
callerThe caller's engine of this operation. Will be reset if this RemoteOperationCaller is assigned to an OperationCaller.

Definition at line 418 of file RemoteOperationCaller.hpp.

References RTT::base::OperationCallerInterface::caller, RTT::internal::RemoteOperationCallerImpl< OperationCallerT >::mmeth, RTT::internal::RemoteOperationCallerImpl< OperationCallerT >::sendargs, and RTT::base::OperationCallerInterface::setCaller().

template<class OperationCallerT>
RTT::internal::RemoteOperationCaller< OperationCallerT >::RemoteOperationCaller ( const SendHandleC sh)
inline

Member Function Documentation

template<class OperationCallerT>
virtual base::OperationCallerBase<OperationCallerT>* RTT::internal::RemoteOperationCaller< OperationCallerT >::cloneI ( ExecutionEngine caller) const
inlinevirtual
template<class OperationCallerT>
virtual bool RTT::internal::RemoteOperationCaller< OperationCallerT >::ready ( ) const
inlinevirtual
template<class OperationCallerT>
virtual void RTT::internal::RemoteOperationCaller< OperationCallerT >::setCaller ( ExecutionEngine caller)
inlinevirtual

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