Orocos Real-Time Toolkit  2.6.0
Public Types | Public Member Functions | Protected Attributes
RTT::base::OperationCallerInterface Struct Reference

The interface class for operation callers. More...

#include <rtt/base/OperationCallerInterface.hpp>

Inheritance diagram for RTT::base::OperationCallerInterface:
RTT::base::DisposableInterface RTT::base::OperationCallerBase< FunctionT > RTT::base::OperationCallerBase< OperationCallerT > RTT::base::OperationCallerBase< F > RTT::internal::LocalOperationCallerImpl< FunctionT > RTT::internal::RemoteOperationCallerImpl< OperationCallerT >

List of all members.

Public Types

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

Public Member Functions

 OperationCallerInterface (OperationCallerInterface const &orig)
virtual bool ready () const =0
 Available such that implementations have a way to expose their ready-ness, ie being able to do the call.
void setOwner (ExecutionEngine *ee)
 Set the ExecutionEngine of the task which owns this method.
void setExecutor (ExecutionEngine *ee)
 Set an executor which will execute this method when it is called or sent.
void setCaller (ExecutionEngine *ee)
 Sets the caller's engine of this operation.
bool setThread (ExecutionThread et, ExecutionEngine *executor)
 Sets the Thread execution policy of this object.
void reportError ()
 Executed when the operation execution resulted in a C++ exception.
bool isSend ()
 Helpful function to tell us if this operations is to be sent or not.
virtual void executeAndDispose ()=0
 Execute functionality and free this object.
virtual void dispose ()=0
 Just free this object without executing it.

Protected Attributes

ExecutionEnginemyengine
ExecutionEnginecaller
ExecutionEngineownerEngine
ExecutionThread met

Detailed Description

The interface class for operation callers.

Definition at line 15 of file OperationCallerInterface.hpp.


Member Function Documentation

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 >.

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 47 of file OperationCallerInterface.cpp.

References RTT::ExecutionEngine::setExceptionTask().

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

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 31 of file OperationCallerInterface.cpp.

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.

Definition at line 24 of file OperationCallerInterface.cpp.

Referenced by setThread().

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.

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 38 of file OperationCallerInterface.cpp.

References setExecutor().

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


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