Orocos Real-Time Toolkit
2.5.0
|
A OperationCaller implementation which executes a remote function which is encapsulated in a OperationCallerC and SendHandleC object. More...
#include <rtt/internal/RemoteOperationCaller.hpp>
Public Types | |
typedef OperationCallerT | Signature |
typedef boost::function_traits < OperationCallerT > ::result_type | result_type |
typedef boost::shared_ptr < OperationCallerBase < OperationCallerT > > | shared_ptr |
Use this type for shared pointer storage of an OperationCallerInterface object. | |
typedef boost::shared_ptr < CollectBase < OperationCallerT > > | shared_ptr |
Public Member Functions | |
RemoteOperationCallerImpl () | |
The defaults are reset by the constructor. | |
RemoteOperationCallerImpl (SendHandleC handle) | |
Create from a sendhandle. | |
virtual void | executeAndDispose () |
Execute functionality and free this object. | |
virtual void | dispose () |
Just free this object without executing it. | |
virtual void | setExecutor (ExecutionEngine *ee) |
Set an executor which will execute this method when it is called or sent. | |
virtual void | setCaller (ExecutionEngine *ee) |
Sets the caller's engine of this operation. | |
result_type | call_impl () |
Call this operator if the RemoteOperationCaller takes no arguments. | |
template<class T1 > | |
result_type | call_impl (T1 a1) |
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 , 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) |
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) |
SendHandle< Signature > | send_impl () |
template<class T1 > | |
SendHandle< Signature > | send_impl (T1 a1) |
template<class T1 , class T2 > | |
SendHandle< Signature > | send_impl (T1 a1, T2 a2) |
template<class T1 , class T2 , class T3 > | |
SendHandle< Signature > | send_impl (T1 a1, T2 a2, T3 a3) |
template<class T1 , class T2 , class T3 , class T4 > | |
SendHandle< Signature > | send_impl (T1 a1, T2 a2, T3 a3, T4 a4) |
template<class T1 , class T2 , class T3 , class T4 , class T5 > | |
SendHandle< Signature > | send_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< Signature > | send_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< Signature > | send_impl (T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7) |
SendStatus | collectIfDone_impl () |
template<class T1 > | |
SendStatus | collectIfDone_impl (T1 &a1) |
template<class T1 , class T2 > | |
SendStatus | collectIfDone_impl (T1 &a1, T2 &a2) |
template<class T1 , class T2 , class T3 > | |
SendStatus | collectIfDone_impl (T1 &a1, T2 &a2, T3 &a3) |
template<class T1 , class T2 , class T3 , class T4 > | |
SendStatus | collectIfDone_impl (T1 &a1, T2 &a2, T3 &a3, T4 &a4) |
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) |
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) |
template<class T1 , class T2 , class T3 , class T4 , class T5 > | |
SendStatus | collectIfDone_impl (T1 &a1, T2 &a2, T3 &a3, T4 &a4, T5 &a5) |
SendStatus | collect_impl () |
template<class T1 > | |
SendStatus | collect_impl (T1 &a1) |
template<class T1 , class T2 > | |
SendStatus | collect_impl (T1 &a1, T2 &a2) |
template<class T1 , class T2 , class T3 > | |
SendStatus | collect_impl (T1 &a1, T2 &a2, T3 &a3) |
template<class T1 , class T2 , class T3 , class T4 > | |
SendStatus | collect_impl (T1 &a1, T2 &a2, T3 &a3, T4 &a4) |
template<class T1 , class T2 , class T3 , class T4 , class T5 > | |
SendStatus | collect_impl (T1 &a1, T2 &a2, T3 &a3, T4 &a4, T5 &a5) |
result_type | ret_impl () |
template<class T1 > | |
result_type | ret_impl (T1 a1) |
This function has the same signature of call() and returns the stored return value, and tries to return all arguments. | |
template<class T1 , class T2 > | |
result_type | ret_impl (T1 a1, T2 a2) |
template<class T1 , class T2 , class T3 > | |
result_type | ret_impl (T1 a1, T2 a2, T3 a3) |
template<class T1 , class T2 , class T3 , class T4 > | |
result_type | ret_impl (T1 a1, T2 a2, T3 a3, T4 a4) |
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) |
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) |
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) |
virtual OperationCallerBase < OperationCallerT > * | cloneI (ExecutionEngine *caller) const =0 |
Creates a new clone of this method using operator new(). | |
virtual bool | ready () const =0 |
Available such that implementations have a way to expose their ready-ness, ie being able to do the call. | |
virtual bool | setThread (ExecutionThread et, ExecutionEngine *executor)=0 |
Sets the Thread execution policy of this object. | |
Protected Attributes | |
OperationCallerC | mmeth |
SendHandleC | mhandle |
DataSourceStorage < OperationCallerT > | sendargs |
DataSourceStorage< typename CollectType< OperationCallerT > ::type > | collectargs |
A OperationCaller implementation which executes a remote function which is encapsulated in a OperationCallerC and SendHandleC object.
Used as implementation class for RemoteOperationCaller.
OperationCallerT | The function signature of the method. For example, bool( int, Frame, double) |
Definition at line 71 of file RemoteOperationCaller.hpp.
result_type RTT::internal::RemoteOperationCallerImpl< OperationCallerT >::call_impl | ( | ) | [inline] |
Call this operator if the RemoteOperationCaller takes no arguments.
Definition at line 113 of file RemoteOperationCaller.hpp.
References RTT::internal::OperationCallerC::call().
virtual OperationCallerBase<OperationCallerT >* RTT::base::OperationCallerBase< OperationCallerT >::cloneI | ( | ExecutionEngine * | caller | ) | const [pure virtual, inherited] |
Creates a new clone of this method using operator new().
caller | The ExecutionEngine of the task that wishes to call this method. |
virtual void RTT::internal::RemoteOperationCallerImpl< OperationCallerT >::executeAndDispose | ( | ) | [inline, virtual] |
Execute functionality and free this object.
You may no longer use this object after calling this method.
Implements RTT::base::DisposableInterface.
Definition at line 98 of file RemoteOperationCaller.hpp.
virtual void RTT::internal::RemoteOperationCallerImpl< OperationCallerT >::setCaller | ( | ExecutionEngine * | ee | ) | [inline, virtual] |
Sets the caller's engine of this operation.
This object will be used to test if asynchronous messaging is required.
ee | The ExecutionEngine of the component that is calling this operation. |
Implements RTT::base::OperationCallerInterface.
Definition at line 104 of file RemoteOperationCaller.hpp.
virtual void RTT::internal::RemoteOperationCallerImpl< OperationCallerT >::setExecutor | ( | ExecutionEngine * | ee | ) | [inline, virtual] |
Set an executor which will execute this method when it is called or sent.
If ee is set to 0, the method will be executed in the client's thread or the GlobalExecutionEngine.
ee | The ExecutionEngine of the component that is executing this operation. |
Implements RTT::base::OperationCallerInterface.
Definition at line 101 of file RemoteOperationCaller.hpp.
virtual bool RTT::base::OperationCallerInterface::setThread | ( | ExecutionThread | et, |
ExecutionEngine * | executor | ||
) | [pure virtual, inherited] |
Sets the Thread execution policy of this object.
et | OwnThread or ClientThread. |
executor | The engine of the component owning this operation. In case it is not yet owned by a component, executor may be null. |
Implemented in RTT::internal::LocalOperationCallerImpl< FunctionT >.
Referenced by RTT::Service::setOperationThread().