$search

RTT::Operation< Signature > Class Template Reference
[Operation Interface]

#include <Operation.hpp>

Inheritance diagram for RTT::Operation< Signature >:
Inheritance graph
[legend]

List of all members.

Public Member Functions

Operation< Signature > & arg (const std::string &name, const std::string &description)
template<class Function , class Object >
Operationcalls (Function func, Object o, ExecutionThread et=ClientThread, ExecutionEngine *ownerEngine=NULL)
Operationcalls (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

Detailed Description

template<class Signature>
class RTT::Operation< Signature >

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.

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


Constructor & Destructor Documentation

template<class Signature>
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().

Parameters:
name The name of this instance.

Definition at line 56 of file Operation.hpp.

template<class Signature>
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.

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

template<class Signature>
template<class Function , class Object >
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.

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

template<class Signature>
RTT::Operation< Signature >::~Operation (  )  [inline]

Definition at line 92 of file Operation.hpp.


Member Function Documentation

template<class Signature>
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.

Parameters:
name A single word (identifier) denoting the name of this argument
description A descriptive line of text for this argument
Returns:
A reference to this object.

Definition at line 110 of file Operation.hpp.

template<class Signature>
template<class Function , class Object >
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.

Parameters:
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.
Returns:
A reference to this object.

Definition at line 141 of file Operation.hpp.

template<class Signature>
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.

Parameters:
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.
Returns:
A reference to this object.

Definition at line 120 of file Operation.hpp.

template<class Signature>
Operation<Signature>& RTT::Operation< Signature >::doc ( const std::string &  description  )  [inline]

Document this operation.

Parameters:
description A descriptive line of text.
Returns:
A reference to this object.

Definition at line 101 of file Operation.hpp.

template<class Signature>
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.

template<class Signature>
virtual base::DisposableInterface::shared_ptr RTT::Operation< Signature >::getImplementation (  )  [inline, virtual]

Returns the implementation object of this operation.

Returns:

Implements RTT::base::OperationBase.

Definition at line 181 of file Operation.hpp.

template<class Signature>
virtual const base::OperationCallerBase<Signature>::shared_ptr RTT::Operation< Signature >::getOperationCaller (  )  const [inline, virtual]

Definition at line 185 of file Operation.hpp.

template<class Signature>
virtual base::OperationCallerBase<Signature>::shared_ptr RTT::Operation< Signature >::getOperationCaller (  )  [inline, virtual]

Definition at line 184 of file Operation.hpp.

template<class Signature>
virtual void RTT::Operation< Signature >::ownerUpdated (  )  [inline, private, virtual]

Implements RTT::base::OperationBase.

Definition at line 198 of file Operation.hpp.


Member Data Documentation

template<class Signature>
internal::LocalOperationCaller<Signature>::shared_ptr RTT::Operation< Signature >::impl [private]

Definition at line 197 of file Operation.hpp.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines


rtt
Author(s): RTT Developers
autogenerated on Fri Mar 1 16:27:39 2013