Orocos Real-Time Toolkit  2.5.0
Public Types | Public Member Functions
RTT::base::OperationCallerBase< F > Struct Template Reference

The base class for all method implementations. More...

#include <rtt/base/OperationCallerBase.hpp>

Inheritance diagram for RTT::base::OperationCallerBase< F >:
RTT::internal::InvokerBase< F > RTT::base::OperationCallerInterface RTT::base::DisposableInterface

List of all members.

Public Types

typedef boost::shared_ptr
< OperationCallerBase< F > > 
shared_ptr
 Use this type for shared pointer storage of an OperationCallerInterface object.

Public Member Functions

virtual OperationCallerBase< F > * 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 void setExecutor (ExecutionEngine *ee)=0
 Set an executor which will execute this method when it is called or sent.
virtual void setCaller (ExecutionEngine *ee)=0
 Sets the caller's engine of this operation.
virtual bool setThread (ExecutionThread et, ExecutionEngine *executor)=0
 Sets the Thread execution policy of this object.
virtual void executeAndDispose ()=0
 Execute functionality and free this object.
virtual void dispose ()=0
 Just free this object without executing it.

Detailed Description

template<class F>
struct RTT::base::OperationCallerBase< F >

The base class for all method implementations.

Both local and remote method implementations must inherit from this class.

Definition at line 56 of file OperationCallerBase.hpp.


Member Function Documentation

template<class F>
virtual OperationCallerBase<F>* RTT::base::OperationCallerBase< F >::cloneI ( ExecutionEngine caller) const [pure virtual]

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.
virtual void RTT::base::DisposableInterface::executeAndDispose ( ) [pure virtual, inherited]

Execute functionality and free this object.

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

Implemented in RTT::internal::LocalOperationCallerImpl< FunctionT >, and RTT::internal::RemoteOperationCallerImpl< OperationCallerT >.

virtual void RTT::base::OperationCallerInterface::setCaller ( ExecutionEngine ee) [pure virtual, inherited]

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.

Implemented in RTT::internal::RemoteOperationCallerImpl< OperationCallerT >, and RTT::internal::LocalOperationCallerImpl< FunctionT >.

virtual void RTT::base::OperationCallerInterface::setExecutor ( ExecutionEngine ee) [pure virtual, inherited]

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.

Parameters:
eeThe ExecutionEngine of the component that is executing this operation.

Implemented in RTT::internal::RemoteOperationCallerImpl< OperationCallerT >, and RTT::internal::LocalOperationCallerImpl< FunctionT >.

virtual bool RTT::base::OperationCallerInterface::setThread ( ExecutionThread  et,
ExecutionEngine executor 
) [pure virtual, 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.

Implemented in RTT::internal::LocalOperationCallerImpl< FunctionT >.

Referenced by RTT::Service::setOperationThread().


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