Orocos Real-Time Toolkit  2.9.0
Public Types | Public Member Functions | Protected Types | Protected Attributes | List of all members
RTT::internal::LocalOperationCallerImpl< FunctionT > Class Template Referenceabstract

Implements call, send, collect, collectIfDone for all function arities. More...

#include <rtt/internal/LocalOperationCaller.hpp>

Inheritance diagram for RTT::internal::LocalOperationCallerImpl< FunctionT >:
RTT::base::OperationCallerBase< FunctionT > RTT::internal::CollectBase< FunctionT > RTT::internal::BindStorage< FunctionT > RTT::internal::InvokerBase< F > RTT::base::OperationCallerInterface RTT::internal::CollectBaseImpl< int, Ft > RTT::internal::ReturnBaseImpl< int, F > RTT::internal::BindStorageImpl< int, T > RTT::internal::InvokerBaseImpl< boost::function_traits< F >::arity, F > RTT::base::DisposableInterface

Public Types

typedef FunctionT Signature
 
typedef boost::function_traits< Signature >::result_type result_type
 
typedef boost::function_traits< Signature >::result_type result_reference
 
typedef boost::function_traits< Signaturetraits
 
typedef boost::shared_ptr< LocalOperationCallerImplshared_ptr
 

Public Member Functions

 LocalOperationCallerImpl ()
 
virtual bool ready () const
 Available such that implementations have a way to expose their ready-ness, ie being able to do the call. More...
 
virtual bool isError () const
 
void executeAndDispose ()
 Execute functionality and free this object. More...
 
void dispose ()
 As long as dispose (or executeAndDispose() ) is not called, this object will not be destroyed. More...
 
SendHandle< Signaturedo_send (shared_ptr cl)
 
SendHandle< Signaturesend_impl ()
 
template<class T1 >
SendHandle< Signaturesend_impl (T1 a1)
 
template<class T1 , class T2 >
SendHandle< Signaturesend_impl (T1 a1, T2 a2)
 
template<class T1 , class T2 , class T3 >
SendHandle< Signaturesend_impl (T1 a1, T2 a2, T3 a3)
 
template<class T1 , class T2 , class T3 , class T4 >
SendHandle< Signaturesend_impl (T1 a1, T2 a2, T3 a3, T4 a4)
 
template<class T1 , class T2 , class T3 , class T4 , class T5 >
SendHandle< Signaturesend_impl (T1 a1, T2 a2, T3 a3, T4 a4, T5 a5)
 
template<class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
SendHandle< Signaturesend_impl (T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6)
 
template<class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >
SendHandle< Signaturesend_impl (T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7)
 
SendStatus collectIfDone_impl () const
 
template<class T1 >
SendStatus collectIfDone_impl (T1 &a1) const
 
template<class T1 , class T2 >
SendStatus collectIfDone_impl (T1 &a1, T2 &a2) const
 
template<class T1 , class T2 , class T3 >
SendStatus collectIfDone_impl (T1 &a1, T2 &a2, T3 &a3) const
 
template<class T1 , class T2 , class T3 , class T4 >
SendStatus collectIfDone_impl (T1 &a1, T2 &a2, T3 &a3, T4 &a4) const
 
template<class T1 , class T2 , class T3 , class T4 , class T5 >
SendStatus collectIfDone_impl (T1 &a1, T2 &a2, T3 &a3, T4 &a4, T5 &a5) const
 
template<class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
SendStatus collectIfDone_impl (T1 &a1, T2 &a2, T3 &a3, T4 &a4, T5 &a5, T6 &a6) const
 
template<class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >
SendStatus collectIfDone_impl (T1 &a1, T2 &a2, T3 &a3, T4 &a4, T5 &a5, T6 &a6, T7 &a7) const
 
bool checkCaller () const
 
SendStatus collect_impl () const
 
template<class T1 >
SendStatus collect_impl (T1 &a1) const
 
template<class T1 , class T2 >
SendStatus collect_impl (T1 &a1, T2 &a2) const
 
template<class T1 , class T2 , class T3 >
SendStatus collect_impl (T1 &a1, T2 &a2, T3 &a3) const
 
template<class T1 , class T2 , class T3 , class T4 >
SendStatus collect_impl (T1 &a1, T2 &a2, T3 &a3, T4 &a4) const
 
template<class T1 , class T2 , class T3 , class T4 , class T5 >
SendStatus collect_impl (T1 &a1, T2 &a2, T3 &a3, T4 &a4, T5 &a5) const
 
template<class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
SendStatus collect_impl (T1 &a1, T2 &a2, T3 &a3, T4 &a4, T5 &a5, T6 &a6) const
 
template<class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >
SendStatus collect_impl (T1 &a1, T2 &a2, T3 &a3, T4 &a4, T5 &a5, T6 &a6, T7 &a7) const
 
template<class Xignored >
result_type call_impl ()
 Invoke this operator if the method has no arguments. More...
 
template<class T1 >
result_type call_impl (T1 a1)
 Invoke this operator if the method has one argument. More...
 
template<class T1 , class T2 >
result_type call_impl (T1 a1, T2 a2)
 
template<class T1 , class T2 , class T3 >
result_type call_impl (T1 a1, T2 a2, T3 a3)
 
template<class T1 , class T2 , class T3 , class T4 >
result_type call_impl (T1 a1, T2 a2, T3 a3, T4 a4)
 
template<class T1 , class T2 , class T3 , class T4 , class T5 >
result_type call_impl (T1 a1, T2 a2, T3 a3, T4 a4, T5 a5)
 
template<class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
result_type call_impl (T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6)
 
template<class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >
result_type call_impl (T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7)
 
result_type ret_impl () const
 
template<class T1 >
result_type ret_impl (T1 a1) const
 This function has the same signature of call() and returns the stored return value, and tries to return all arguments. More...
 
template<class T1 , class T2 >
result_type ret_impl (T1 a1, T2 a2) const
 
template<class T1 , class T2 , class T3 >
result_type ret_impl (T1 a1, T2 a2, T3 a3) const
 
template<class T1 , class T2 , class T3 , class T4 >
result_type ret_impl (T1 a1, T2 a2, T3 a3, T4 a4) const
 
template<class T1 , class T2 , class T3 , class T4 , class T5 >
result_type ret_impl (T1 a1, T2 a2, T3 a3, T4 a4, T5 a5) const
 
template<class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
result_type ret_impl (T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6) const
 
template<class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >
result_type ret_impl (T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7) const
 
virtual shared_ptr cloneRT () const =0
 
virtual OperationCallerBase< FunctionT > * cloneI (ExecutionEngine *caller) const =0
 Creates a new clone of this method using operator new(). More...
 
virtual void setOwner (ExecutionEngine *ee)
 Set the ExecutionEngine of the task which owns this method. More...
 
virtual void setCaller (ExecutionEngine *ee)
 Sets the caller's engine of this operation. More...
 
bool setThread (ExecutionThread et, ExecutionEngine *executor)
 Sets the Thread execution policy of this object. More...
 
ExecutionThread getThread () const
 
void reportError ()
 Executed when the operation execution resulted in a C++ exception. More...
 
bool isSend ()
 Helpful function to tell us if this operations is to be sent or not. More...
 
ExecutionEnginegetMessageProcessor () const
 

Protected Types

typedef BindStorage< FunctionT > Store
 

Protected Attributes

base::OperationCallerBase< FunctionT >::shared_ptr self
 Used to refcount self as long as dispose() is not called. More...
 
ExecutionEnginemyengine
 
ExecutionEnginecaller
 
ExecutionThread met
 

Detailed Description

template<class FunctionT>
class RTT::internal::LocalOperationCallerImpl< FunctionT >

Implements call, send, collect, collectIfDone for all function arities.

You can pass arguments by (const) value and by (const) reference. Passing pointers is 'accidentally' supported in-process, it will not work with out-of-process calls. The send takes all arguments (C++ doesn't know pure out args), the collect() only takes the return value and the 'reference' arguments (if any)

If this object is disposed, the collection of results is no longer possible and this will generate a SendFailure at caller side.

Definition at line 77 of file LocalOperationCaller.hpp.

Member Typedef Documentation

template<class FunctionT>
typedef boost::function_traits<Signature>::result_type RTT::internal::LocalOperationCallerImpl< FunctionT >::result_reference

Definition at line 86 of file LocalOperationCaller.hpp.

template<class FunctionT>
typedef boost::function_traits<Signature>::result_type RTT::internal::LocalOperationCallerImpl< FunctionT >::result_type

Definition at line 85 of file LocalOperationCaller.hpp.

template<class FunctionT>
typedef boost::shared_ptr<LocalOperationCallerImpl> RTT::internal::LocalOperationCallerImpl< FunctionT >::shared_ptr

Definition at line 89 of file LocalOperationCaller.hpp.

template<class FunctionT>
typedef FunctionT RTT::internal::LocalOperationCallerImpl< FunctionT >::Signature

Definition at line 84 of file LocalOperationCaller.hpp.

template<class FunctionT>
typedef BindStorage<FunctionT> RTT::internal::LocalOperationCallerImpl< FunctionT >::Store
protected

Definition at line 621 of file LocalOperationCaller.hpp.

template<class FunctionT>
typedef boost::function_traits<Signature> RTT::internal::LocalOperationCallerImpl< FunctionT >::traits

Definition at line 87 of file LocalOperationCaller.hpp.

Constructor & Destructor Documentation

template<class FunctionT>
RTT::internal::LocalOperationCallerImpl< FunctionT >::LocalOperationCallerImpl ( )
inline

Definition at line 83 of file LocalOperationCaller.hpp.

Member Function Documentation

template<class FunctionT>
template<class Xignored >
result_type RTT::internal::LocalOperationCallerImpl< FunctionT >::call_impl ( )
inline
template<class FunctionT>
template<class T1 >
result_type RTT::internal::LocalOperationCallerImpl< FunctionT >::call_impl ( T1  a1)
inline
template<class FunctionT>
template<class T1 , class T2 >
result_type RTT::internal::LocalOperationCallerImpl< FunctionT >::call_impl ( T1  a1,
T2  a2 
)
inline
template<class FunctionT>
template<class T1 , class T2 , class T3 >
result_type RTT::internal::LocalOperationCallerImpl< FunctionT >::call_impl ( T1  a1,
T2  a2,
T3  a3 
)
inline
template<class FunctionT>
template<class T1 , class T2 , class T3 , class T4 >
result_type RTT::internal::LocalOperationCallerImpl< FunctionT >::call_impl ( T1  a1,
T2  a2,
T3  a3,
T4  a4 
)
inline
template<class FunctionT>
template<class T1 , class T2 , class T3 , class T4 , class T5 >
result_type RTT::internal::LocalOperationCallerImpl< FunctionT >::call_impl ( T1  a1,
T2  a2,
T3  a3,
T4  a4,
T5  a5 
)
inline
template<class FunctionT>
template<class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
result_type RTT::internal::LocalOperationCallerImpl< FunctionT >::call_impl ( T1  a1,
T2  a2,
T3  a3,
T4  a4,
T5  a5,
T6  a6 
)
inline
template<class FunctionT>
template<class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >
result_type RTT::internal::LocalOperationCallerImpl< FunctionT >::call_impl ( T1  a1,
T2  a2,
T3  a3,
T4  a4,
T5  a5,
T6  a6,
T7  a7 
)
inline
template<class FunctionT>
bool RTT::internal::LocalOperationCallerImpl< FunctionT >::checkCaller ( ) const
inline
virtual OperationCallerBase<FunctionT >* RTT::base::OperationCallerBase< FunctionT >::cloneI ( ExecutionEngine caller) const
pure virtualinherited

Creates a new clone of this method using operator new().

Parameters
callerThe ExecutionEngine of the task that wishes to call this method.
Returns
a clone.
template<class FunctionT>
virtual shared_ptr RTT::internal::LocalOperationCallerImpl< FunctionT >::cloneRT ( ) const
pure virtual
template<class FunctionT>
SendStatus RTT::internal::LocalOperationCallerImpl< FunctionT >::collect_impl ( ) const
inline
template<class FunctionT>
template<class T1 >
SendStatus RTT::internal::LocalOperationCallerImpl< FunctionT >::collect_impl ( T1 &  a1) const
inline
template<class FunctionT>
template<class T1 , class T2 >
SendStatus RTT::internal::LocalOperationCallerImpl< FunctionT >::collect_impl ( T1 &  a1,
T2 &  a2 
) const
inline
template<class FunctionT>
template<class T1 , class T2 , class T3 >
SendStatus RTT::internal::LocalOperationCallerImpl< FunctionT >::collect_impl ( T1 &  a1,
T2 &  a2,
T3 &  a3 
) const
inline
template<class FunctionT>
template<class T1 , class T2 , class T3 , class T4 >
SendStatus RTT::internal::LocalOperationCallerImpl< FunctionT >::collect_impl ( T1 &  a1,
T2 &  a2,
T3 &  a3,
T4 &  a4 
) const
inline
template<class FunctionT>
template<class T1 , class T2 , class T3 , class T4 , class T5 >
SendStatus RTT::internal::LocalOperationCallerImpl< FunctionT >::collect_impl ( T1 &  a1,
T2 &  a2,
T3 &  a3,
T4 &  a4,
T5 &  a5 
) const
inline
template<class FunctionT>
template<class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
SendStatus RTT::internal::LocalOperationCallerImpl< FunctionT >::collect_impl ( T1 &  a1,
T2 &  a2,
T3 &  a3,
T4 &  a4,
T5 &  a5,
T6 &  a6 
) const
inline
template<class FunctionT>
template<class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >
SendStatus RTT::internal::LocalOperationCallerImpl< FunctionT >::collect_impl ( T1 &  a1,
T2 &  a2,
T3 &  a3,
T4 &  a4,
T5 &  a5,
T6 &  a6,
T7 &  a7 
) const
inline
template<class FunctionT>
SendStatus RTT::internal::LocalOperationCallerImpl< FunctionT >::collectIfDone_impl ( ) const
inline
template<class FunctionT>
template<class T1 >
SendStatus RTT::internal::LocalOperationCallerImpl< FunctionT >::collectIfDone_impl ( T1 &  a1) const
inline

Definition at line 215 of file LocalOperationCaller.hpp.

References RTT::SendNotReady, and RTT::SendSuccess.

template<class FunctionT>
template<class T1 , class T2 >
SendStatus RTT::internal::LocalOperationCallerImpl< FunctionT >::collectIfDone_impl ( T1 &  a1,
T2 &  a2 
) const
inline

Definition at line 225 of file LocalOperationCaller.hpp.

References RTT::SendNotReady, and RTT::SendSuccess.

template<class FunctionT>
template<class T1 , class T2 , class T3 >
SendStatus RTT::internal::LocalOperationCallerImpl< FunctionT >::collectIfDone_impl ( T1 &  a1,
T2 &  a2,
T3 &  a3 
) const
inline

Definition at line 235 of file LocalOperationCaller.hpp.

References RTT::SendNotReady, and RTT::SendSuccess.

template<class FunctionT>
template<class T1 , class T2 , class T3 , class T4 >
SendStatus RTT::internal::LocalOperationCallerImpl< FunctionT >::collectIfDone_impl ( T1 &  a1,
T2 &  a2,
T3 &  a3,
T4 &  a4 
) const
inline

Definition at line 245 of file LocalOperationCaller.hpp.

References RTT::SendNotReady, and RTT::SendSuccess.

template<class FunctionT>
template<class T1 , class T2 , class T3 , class T4 , class T5 >
SendStatus RTT::internal::LocalOperationCallerImpl< FunctionT >::collectIfDone_impl ( T1 &  a1,
T2 &  a2,
T3 &  a3,
T4 &  a4,
T5 &  a5 
) const
inline

Definition at line 255 of file LocalOperationCaller.hpp.

References RTT::SendNotReady, and RTT::SendSuccess.

template<class FunctionT>
template<class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
SendStatus RTT::internal::LocalOperationCallerImpl< FunctionT >::collectIfDone_impl ( T1 &  a1,
T2 &  a2,
T3 &  a3,
T4 &  a4,
T5 &  a5,
T6 &  a6 
) const
inline

Definition at line 265 of file LocalOperationCaller.hpp.

References RTT::SendNotReady, and RTT::SendSuccess.

template<class FunctionT>
template<class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >
SendStatus RTT::internal::LocalOperationCallerImpl< FunctionT >::collectIfDone_impl ( T1 &  a1,
T2 &  a2,
T3 &  a3,
T4 &  a4,
T5 &  a5,
T6 &  a6,
T7 &  a7 
) const
inline

Definition at line 275 of file LocalOperationCaller.hpp.

References RTT::SendNotReady, and RTT::SendSuccess.

template<class FunctionT>
void RTT::internal::LocalOperationCallerImpl< FunctionT >::dispose ( )
inlinevirtual

As long as dispose (or executeAndDispose() ) is not called, this object will not be destroyed.

Implements RTT::base::DisposableInterface.

Definition at line 126 of file LocalOperationCaller.hpp.

Referenced by RTT::internal::LocalOperationCallerImpl< FunctionT >::executeAndDispose().

template<class FunctionT>
SendHandle<Signature> RTT::internal::LocalOperationCallerImpl< FunctionT >::do_send ( shared_ptr  cl)
inline
template<class FunctionT>
void RTT::internal::LocalOperationCallerImpl< FunctionT >::executeAndDispose ( )
inlinevirtual

Execute functionality and free this object.

You may no longer use this object after calling this method.

Implements RTT::base::DisposableInterface.

Definition at line 99 of file LocalOperationCaller.hpp.

References RTT::base::OperationCallerInterface::caller, RTT::internal::LocalOperationCallerImpl< FunctionT >::dispose(), RTT::ExecutionEngine::process(), and RTT::base::OperationCallerInterface::reportError().

ExecutionEngine * OperationCallerInterface::getMessageProcessor ( ) const
inherited
ExecutionThread RTT::base::OperationCallerInterface::getThread ( ) const
inlineinherited

Definition at line 67 of file OperationCallerInterface.hpp.

template<class FunctionT>
virtual bool RTT::internal::LocalOperationCallerImpl< FunctionT >::isError ( ) const
inlinevirtual

Definition at line 95 of file LocalOperationCaller.hpp.

bool OperationCallerInterface::isSend ( )
inherited

Helpful function to tell us if this operations is to be sent or not.

Sending is only required if the operation is OwnThread and in a different thread than the caller.

Definition at line 34 of file OperationCallerInterface.cpp.

References RTT::ClientThread, RTT::ExecutionEngine::isSelf(), RTT::base::OperationCallerInterface::met, and RTT::base::OperationCallerInterface::myengine.

Referenced by RTT::internal::LocalOperationCallerImpl< FunctionT >::call_impl().

template<class FunctionT>
virtual bool RTT::internal::LocalOperationCallerImpl< FunctionT >::ready ( ) const
inlinevirtual

Available such that implementations have a way to expose their ready-ness, ie being able to do the call.

Implements RTT::base::OperationCallerInterface.

Definition at line 91 of file LocalOperationCaller.hpp.

void OperationCallerInterface::reportError ( )
inherited

Executed when the operation execution resulted in a C++ exception.

Must report the error to the ExecutionEngine of the owner of this operation.

Definition at line 52 of file OperationCallerInterface.cpp.

References RTT::base::OperationCallerInterface::myengine, and RTT::ExecutionEngine::setExceptionTask().

Referenced by RTT::internal::FusedMCallDataSource< Signature >::evaluate(), and RTT::internal::LocalOperationCallerImpl< FunctionT >::executeAndDispose().

template<class FunctionT>
result_type RTT::internal::LocalOperationCallerImpl< FunctionT >::ret_impl ( ) const
inline

Definition at line 531 of file LocalOperationCaller.hpp.

template<class FunctionT>
template<class T1 >
result_type RTT::internal::LocalOperationCallerImpl< FunctionT >::ret_impl ( T1  a1) const
inline

This function has the same signature of call() and returns the stored return value, and tries to return all arguments.

Definition at line 543 of file LocalOperationCaller.hpp.

template<class FunctionT>
template<class T1 , class T2 >
result_type RTT::internal::LocalOperationCallerImpl< FunctionT >::ret_impl ( T1  a1,
T2  a2 
) const
inline

Definition at line 554 of file LocalOperationCaller.hpp.

template<class FunctionT>
template<class T1 , class T2 , class T3 >
result_type RTT::internal::LocalOperationCallerImpl< FunctionT >::ret_impl ( T1  a1,
T2  a2,
T3  a3 
) const
inline

Definition at line 565 of file LocalOperationCaller.hpp.

template<class FunctionT>
template<class T1 , class T2 , class T3 , class T4 >
result_type RTT::internal::LocalOperationCallerImpl< FunctionT >::ret_impl ( T1  a1,
T2  a2,
T3  a3,
T4  a4 
) const
inline

Definition at line 576 of file LocalOperationCaller.hpp.

template<class FunctionT>
template<class T1 , class T2 , class T3 , class T4 , class T5 >
result_type RTT::internal::LocalOperationCallerImpl< FunctionT >::ret_impl ( T1  a1,
T2  a2,
T3  a3,
T4  a4,
T5  a5 
) const
inline

Definition at line 587 of file LocalOperationCaller.hpp.

template<class FunctionT>
template<class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
result_type RTT::internal::LocalOperationCallerImpl< FunctionT >::ret_impl ( T1  a1,
T2  a2,
T3  a3,
T4  a4,
T5  a5,
T6  a6 
) const
inline

Definition at line 598 of file LocalOperationCaller.hpp.

template<class FunctionT>
template<class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >
result_type RTT::internal::LocalOperationCallerImpl< FunctionT >::ret_impl ( T1  a1,
T2  a2,
T3  a3,
T4  a4,
T5  a5,
T6  a6,
T7  a7 
) const
inline
template<class FunctionT>
SendHandle<Signature> RTT::internal::LocalOperationCallerImpl< FunctionT >::send_impl ( )
inline
template<class FunctionT>
template<class T1 >
SendHandle<Signature> RTT::internal::LocalOperationCallerImpl< FunctionT >::send_impl ( T1  a1)
inline
template<class FunctionT>
template<class T1 , class T2 >
SendHandle<Signature> RTT::internal::LocalOperationCallerImpl< FunctionT >::send_impl ( T1  a1,
T2  a2 
)
inline
template<class FunctionT>
template<class T1 , class T2 , class T3 >
SendHandle<Signature> RTT::internal::LocalOperationCallerImpl< FunctionT >::send_impl ( T1  a1,
T2  a2,
T3  a3 
)
inline
template<class FunctionT>
template<class T1 , class T2 , class T3 , class T4 >
SendHandle<Signature> RTT::internal::LocalOperationCallerImpl< FunctionT >::send_impl ( T1  a1,
T2  a2,
T3  a3,
T4  a4 
)
inline
template<class FunctionT>
template<class T1 , class T2 , class T3 , class T4 , class T5 >
SendHandle<Signature> RTT::internal::LocalOperationCallerImpl< FunctionT >::send_impl ( T1  a1,
T2  a2,
T3  a3,
T4  a4,
T5  a5 
)
inline
template<class FunctionT>
template<class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
SendHandle<Signature> RTT::internal::LocalOperationCallerImpl< FunctionT >::send_impl ( T1  a1,
T2  a2,
T3  a3,
T4  a4,
T5  a5,
T6  a6 
)
inline
template<class FunctionT>
template<class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >
SendHandle<Signature> RTT::internal::LocalOperationCallerImpl< FunctionT >::send_impl ( T1  a1,
T2  a2,
T3  a3,
T4  a4,
T5  a5,
T6  a6,
T7  a7 
)
inline
void OperationCallerInterface::setCaller ( ExecutionEngine ee)
virtualinherited

Sets the caller's engine of this operation.

This object will be used to test if asynchronous messaging is required.

Parameters
eeThe ExecutionEngine of the component that is calling this operation.

Definition at line 24 of file OperationCallerInterface.cpp.

References RTT::base::OperationCallerInterface::caller.

Referenced by RTT::internal::LocalOperationCaller< bool(std::string) >::LocalOperationCaller(), RTT::internal::RemoteOperationCaller< OperationCallerT >::RemoteOperationCaller(), and RTT::internal::RemoteOperationCaller< OperationCallerT >::setCaller().

void OperationCallerInterface::setOwner ( ExecutionEngine ee)
virtualinherited

Set the ExecutionEngine of the task which owns this method.

Parameters
eeThe ExecutionEngine of the component that owns this operation.

Definition at line 20 of file OperationCallerInterface.cpp.

References RTT::base::OperationCallerInterface::myengine.

Referenced by RTT::internal::LocalOperationCaller< bool(std::string) >::LocalOperationCaller(), and RTT::base::OperationCallerInterface::setThread().

bool OperationCallerInterface::setThread ( ExecutionThread  et,
ExecutionEngine executor 
)
inherited

Sets the Thread execution policy of this object.

Parameters
etOwnThread or ClientThread.
executorThe engine of the component owning this operation. In case it is not yet owned by a component, executor may be null.
Returns
false if it may not be modified.

Definition at line 28 of file OperationCallerInterface.cpp.

References RTT::base::OperationCallerInterface::met, and RTT::base::OperationCallerInterface::setOwner().

Referenced by RTT::internal::LocalOperationCaller< bool(std::string) >::LocalOperationCaller(), and RTT::Service::setOperationThread().

Member Data Documentation

ExecutionEngine* RTT::base::OperationCallerInterface::caller
protectedinherited
ExecutionThread RTT::base::OperationCallerInterface::met
protectedinherited
ExecutionEngine* RTT::base::OperationCallerInterface::myengine
protectedinherited
template<class FunctionT>
base::OperationCallerBase<FunctionT>::shared_ptr RTT::internal::LocalOperationCallerImpl< FunctionT >::self
protected

Used to refcount self as long as dispose() is not called.

This refcount is real-time since both shared_ptr and object were allocated with the rt_allocator class.

Definition at line 627 of file LocalOperationCaller.hpp.


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