#include <Operation.hpp>
Public Member Functions | |
Operation< Signature > & | arg (const std::string &name, const std::string &description) |
Operation & | calls (boost::function< Signature > func, ExecutionThread et=ClientThread, ExecutionEngine *ownerEngine=NULL) |
template<class Function , class Object > | |
Operation & | calls (Function func, Object o, ExecutionThread et=ClientThread, ExecutionEngine *ownerEngine=NULL) |
Operation< Signature > & | doc (const std::string &description) |
virtual base::DisposableInterface::shared_ptr | getImplementation () |
virtual const base::DisposableInterface::shared_ptr | getImplementation () const |
virtual base::OperationCallerBase < Signature >::shared_ptr | getOperationCaller () |
virtual const base::OperationCallerBase < Signature >::shared_ptr | getOperationCaller () const |
Operation (const std::string &name) | |
Operation (const std::string &name, boost::function< Signature > func, ExecutionThread et=ClientThread, ExecutionEngine *ownerEngine=NULL) | |
template<class Function , class Object > | |
Operation (const std::string &name, Function func, Object o, ExecutionThread et=ClientThread, ExecutionEngine *ownerEngine=NULL) | |
~Operation () | |
Private Member Functions | |
virtual void | ownerUpdated () |
Private Attributes | |
internal::LocalOperationCaller < Signature >::shared_ptr | impl |
The operation ties a C or C++ function into a component interface. An operation consists of a name and a Signature.
For example, if you want his operation to call a function: bool foo(int a, double b) { return a < b; } Then the function Signature looks like: 'bool(int,double)' which is the signature type of 'bool foo(int a, double b)'. So a function signature is written as the function declaration, but without the function and argument names.
Signature | A template parameter that contains the function signature type of the function this operation object will call. |
Definition at line 71 of file Operation.hpp.
RTT::Operation< Signature >::Operation | ( | const std::string & | name | ) | [inline] |
Create an operation object with a name. The resulting object will not call any function but can be used to attach Signal handlers to (using signals() ) or set the function to call later on with calls().
name | The name of this instance. |
Definition at line 83 of file Operation.hpp.
RTT::Operation< Signature >::Operation | ( | const std::string & | name, |
boost::function< Signature > | func, | ||
ExecutionThread | et = ClientThread , |
||
ExecutionEngine * | ownerEngine = NULL |
||
) | [inline] |
Create an operation object with a name and function to execute.
name | The name of this instance. |
func | The function to execute, for example &foo. |
et | The thread that should execute the function when the operation is invoked. |
ownerEngine | the execution engine of the owner of this operation if any. Will be automatically set when you use Service::addOperation(). |
Definition at line 98 of file Operation.hpp.
RTT::Operation< Signature >::Operation | ( | const std::string & | name, |
Function | func, | ||
Object | o, | ||
ExecutionThread | et = ClientThread , |
||
ExecutionEngine * | ownerEngine = NULL |
||
) | [inline] |
Create an operation object with a name and class member function to execute.
name | The name of this instance. |
func | The function to execute, for example &Bar::foo |
o | The object that has this function, for example &bar |
et | The thread that should execute the function when the operation is invoked. |
ownerEngine | the execution engine of the owner of this operation if any. Will be automatically set when you use Service::addOperation(). |
Definition at line 113 of file Operation.hpp.
RTT::Operation< Signature >::~Operation | ( | ) | [inline] |
Definition at line 119 of file Operation.hpp.
Operation<Signature>& RTT::Operation< Signature >::arg | ( | const std::string & | name, |
const std::string & | description | ||
) | [inline] |
Document an argument of this operation. Each time arg() is called, it documents the next argument.
name | A single word (identifier) denoting the name of this argument |
description | A descriptive line of text for this argument |
Definition at line 137 of file Operation.hpp.
Operation& RTT::Operation< Signature >::calls | ( | boost::function< Signature > | func, |
ExecutionThread | et = ClientThread , |
||
ExecutionEngine * | ownerEngine = NULL |
||
) | [inline] |
Indicate that this operation calls a given function. This will replace any previously registered function present in this operation.
func | The function to call when the operation is invoked |
et | The thread that should execute the function when the operation is invoked. |
ownerEngine | the execution engine of the owner of this operation if any. |
Definition at line 147 of file Operation.hpp.
Operation& RTT::Operation< Signature >::calls | ( | Function | func, |
Object | o, | ||
ExecutionThread | et = ClientThread , |
||
ExecutionEngine * | ownerEngine = NULL |
||
) | [inline] |
Indicate that this operation calls a given class member function. This will replace any previously registered function present in this operation.
func | The function to call when the operation is invoked, for example &Bar::foo |
o | The object that has this function, for example &bar |
et | The thread that should execute the function when the operation is invoked. |
ownerEngine | the execution engine of the owner of this operation if any. |
Definition at line 168 of file Operation.hpp.
Operation<Signature>& RTT::Operation< Signature >::doc | ( | const std::string & | description | ) | [inline] |
Document this operation.
description | A descriptive line of text. |
Definition at line 128 of file Operation.hpp.
virtual base::DisposableInterface::shared_ptr RTT::Operation< Signature >::getImplementation | ( | ) | [inline, virtual] |
Returns the implementation object of this operation.
Implements RTT::base::OperationBase.
Definition at line 226 of file Operation.hpp.
virtual const base::DisposableInterface::shared_ptr RTT::Operation< Signature >::getImplementation | ( | ) | const [inline, virtual] |
Implements RTT::base::OperationBase.
Definition at line 227 of file Operation.hpp.
virtual base::OperationCallerBase<Signature>::shared_ptr RTT::Operation< Signature >::getOperationCaller | ( | ) | [inline, virtual] |
Definition at line 229 of file Operation.hpp.
virtual const base::OperationCallerBase<Signature>::shared_ptr RTT::Operation< Signature >::getOperationCaller | ( | ) | const [inline, virtual] |
Definition at line 230 of file Operation.hpp.
virtual void RTT::Operation< Signature >::ownerUpdated | ( | ) | [inline, private, virtual] |
Implements RTT::base::OperationBase.
Definition at line 243 of file Operation.hpp.
internal::LocalOperationCaller<Signature>::shared_ptr RTT::Operation< Signature >::impl [private] |
Definition at line 242 of file Operation.hpp.