Orocos Real-Time Toolkit
2.9.0
|
The base class for all method implementations. More...
#include <rtt/base/OperationCallerBase.hpp>
Public Types | |
typedef boost::shared_ptr< OperationCallerBase< F > > | shared_ptr |
Public Member Functions | |
virtual | ~OperationCallerBase () |
virtual OperationCallerBase< F > * | cloneI (ExecutionEngine *caller) const =0 |
Creates a new clone of this method using operator new(). More... | |
virtual bool | ready () const =0 |
Available such that implementations have a way to expose their ready-ness, ie being able to do the call. 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... | |
ExecutionEngine * | getMessageProcessor () const |
virtual void | executeAndDispose ()=0 |
Execute functionality and free this object. More... | |
virtual void | dispose ()=0 |
Just free this object without executing it. More... | |
Protected Attributes | |
ExecutionEngine * | myengine |
ExecutionEngine * | caller |
ExecutionThread | met |
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.
typedef boost::shared_ptr<OperationCallerBase<F> > RTT::base::OperationCallerBase< F >::shared_ptr |
Definition at line 60 of file OperationCallerBase.hpp.
|
inlinevirtual |
Definition at line 61 of file OperationCallerBase.hpp.
|
pure virtual |
Creates a new clone of this method using operator new().
caller | The ExecutionEngine of the task that wishes to call this method. |
Referenced by RTT::base::OperationCallerBase< FunctionT >::~OperationCallerBase().
|
pure virtualinherited |
Just free this object without executing it.
Implemented in RTT::internal::FusedMSignal< Signature >, RTT::scripting::CallFunction, RTT::RemoveMsg, RTT::internal::LocalOperationCallerImpl< FunctionT >, and RTT::internal::RemoteOperationCallerImpl< OperationCallerT >.
Referenced by RTT::ExecutionEngine::~ExecutionEngine().
|
pure virtualinherited |
Execute functionality and free this object.
You may no longer use this object after calling this method.
Implemented in RTT::internal::FusedMSignal< Signature >, RTT::scripting::CallFunction, RTT::RemoveMsg, RTT::internal::LocalOperationCallerImpl< FunctionT >, and RTT::internal::RemoteOperationCallerImpl< OperationCallerT >.
Referenced by RTT::ExecutionEngine::processMessages().
|
inherited |
Definition at line 42 of file OperationCallerInterface.cpp.
References RTT::internal::GlobalEngine::Instance(), RTT::base::OperationCallerInterface::met, RTT::base::OperationCallerInterface::myengine, and RTT::OwnThread.
Referenced by RTT::internal::LocalOperationCallerImpl< FunctionT >::do_send().
|
inlineinherited |
Definition at line 67 of file OperationCallerInterface.hpp.
|
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().
|
pure virtualinherited |
Available such that implementations have a way to expose their ready-ness, ie being able to do the call.
Implemented in RTT::internal::LocalOperationCallerImpl< FunctionT >.
|
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().
|
virtualinherited |
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. |
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().
|
virtualinherited |
Set the ExecutionEngine of the task which owns this method.
ee | The 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().
|
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. |
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().
|
protectedinherited |
Definition at line 87 of file OperationCallerInterface.hpp.
Referenced by RTT::internal::LocalOperationCallerImpl< FunctionT >::checkCaller(), RTT::internal::RemoteOperationCaller< OperationCallerT >::cloneI(), RTT::internal::LocalOperationCallerImpl< FunctionT >::collect_impl(), RTT::internal::LocalOperationCallerImpl< FunctionT >::executeAndDispose(), RTT::internal::RemoteOperationCaller< OperationCallerT >::RemoteOperationCaller(), RTT::base::OperationCallerInterface::setCaller(), and RTT::base::OperationCallerBase< FunctionT >::~OperationCallerBase().
|
protectedinherited |
Definition at line 88 of file OperationCallerInterface.hpp.
Referenced by RTT::base::OperationCallerInterface::getMessageProcessor(), RTT::base::OperationCallerInterface::isSend(), and RTT::base::OperationCallerInterface::setThread().
|
protectedinherited |