$search
#include <Operation.hpp>
Public Member Functions | |
Operation< Signature > & | arg (const std::string &name, const std::string &description) |
template<class Function , class Object > | |
Operation & | calls (Function func, Object o, ExecutionThread et=ClientThread, ExecutionEngine *ownerEngine=NULL) |
Operation & | calls (boost::function< Signature > func, ExecutionThread et=ClientThread, ExecutionEngine *ownerEngine=NULL) |
Operation< Signature > & | doc (const std::string &description) |
virtual const base::DisposableInterface::shared_ptr | getImplementation () const |
virtual base::DisposableInterface::shared_ptr | getImplementation () |
virtual const base::OperationCallerBase < Signature >::shared_ptr | getOperationCaller () const |
virtual base::OperationCallerBase < Signature >::shared_ptr | getOperationCaller () |
template<class Function , class Object > | |
Operation (const std::string &name, Function func, Object o, ExecutionThread et=ClientThread, ExecutionEngine *ee=NULL) | |
Operation (const std::string &name, boost::function< Signature > func, ExecutionThread et=ClientThread, ExecutionEngine *ee=NULL) | |
Operation (const std::string &name) | |
~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 65 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 56 of file Operation.hpp.
RTT::Operation< Signature >::Operation | ( | const std::string & | name, | |
boost::function< Signature > | func, | |||
ExecutionThread | et = ClientThread , |
|||
ExecutionEngine * | ee = 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. |
Definition at line 71 of file Operation.hpp.
RTT::Operation< Signature >::Operation | ( | const std::string & | name, | |
Function | func, | |||
Object | o, | |||
ExecutionThread | et = ClientThread , |
|||
ExecutionEngine * | ee = 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. |
Definition at line 86 of file Operation.hpp.
RTT::Operation< Signature >::~Operation | ( | ) | [inline] |
Definition at line 92 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 110 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 141 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 120 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 101 of file Operation.hpp.
virtual const base::DisposableInterface::shared_ptr RTT::Operation< Signature >::getImplementation | ( | ) | const [inline, virtual] |
Implements RTT::base::OperationBase.
Definition at line 182 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 181 of file Operation.hpp.
virtual const base::OperationCallerBase<Signature>::shared_ptr RTT::Operation< Signature >::getOperationCaller | ( | ) | const [inline, virtual] |
Definition at line 185 of file Operation.hpp.
virtual base::OperationCallerBase<Signature>::shared_ptr RTT::Operation< Signature >::getOperationCaller | ( | ) | [inline, virtual] |
Definition at line 184 of file Operation.hpp.
virtual void RTT::Operation< Signature >::ownerUpdated | ( | ) | [inline, private, virtual] |
Implements RTT::base::OperationBase.
Definition at line 198 of file Operation.hpp.
internal::LocalOperationCaller<Signature>::shared_ptr RTT::Operation< Signature >::impl [private] |
Definition at line 197 of file Operation.hpp.