Public Member Functions | Private Member Functions | Private Attributes | List of all members
RTT::scripting::FunctionFactory Class Reference

#include <FunctionFactory.hpp>

Inheritance diagram for RTT::scripting::FunctionFactory:
Inheritance graph
[legend]

Public Member Functions

unsigned int arity () const
 
unsigned int collectArity () const
 
std::string description () const
 
 FunctionFactory (ProgramInterfacePtr func, ExecutionEngine *procs)
 
std::vector< ArgumentDescriptiongetArgumentList () const
 
const types::TypeInfogetArgumentType (unsigned int arg) const
 
const types::TypeInfogetCollectType (unsigned int arg) const
 
std::string getName () const
 
base::DataSourceBase::shared_ptr produce (const std::vector< base::DataSourceBase::shared_ptr > &args, ExecutionEngine *caller) const
 
base::DataSourceBase::shared_ptr produceCollect (const std::vector< base::DataSourceBase::shared_ptr > &args, internal::DataSource< bool >::shared_ptr blocking) const
 
base::DataSourceBase::shared_ptr produceHandle () const
 
base::DataSourceBase::shared_ptr produceSend (const std::vector< base::DataSourceBase::shared_ptr > &args, ExecutionEngine *caller) const
 
std::string resultType () const
 
- Public Member Functions inherited from RTT::OperationInterfacePart
virtual RTT_API boost::shared_ptr< base::DisposableInterfacegetLocalOperation () const
 
virtual RTT_API ~OperationInterfacePart ()
 

Private Member Functions

base::DataSourceBase::shared_ptr produceHelper (const std::vector< base::DataSourceBase::shared_ptr > &args, ExecutionEngine *caller, bool issend) const
 

Private Attributes

ProgramInterfacePtr func
 
ExecutionEngineproc
 

Detailed Description

A Factory which delivers operations which execute a FunctionGraph in an engine..

Definition at line 57 of file FunctionFactory.hpp.

Constructor & Destructor Documentation

RTT::FunctionFactory::FunctionFactory ( ProgramInterfacePtr  func,
ExecutionEngine procs 
)

Definition at line 108 of file FunctionFactory.cpp.

Member Function Documentation

unsigned int RTT::FunctionFactory::arity ( ) const
virtual

Returns the arity (number of arguments) of this operation.

See also
produce, produceSend

Implements RTT::OperationInterfacePart.

Definition at line 133 of file FunctionFactory.cpp.

unsigned int RTT::FunctionFactory::collectArity ( ) const
virtual

Returns the number of collectable arguments of this operation's function. These consist of the return value and the reference arguments.

See also
produceCollect

Implements RTT::OperationInterfacePart.

Definition at line 138 of file FunctionFactory.cpp.

std::string RTT::FunctionFactory::description ( ) const
virtual

Returns the description of this operation.

Returns

Implements RTT::OperationInterfacePart.

Definition at line 119 of file FunctionFactory.cpp.

std::vector< ArgumentDescription > RTT::FunctionFactory::getArgumentList ( ) const
virtual

Get a description of the desired arguments in the ArgumentDescription format.

Implements RTT::OperationInterfacePart.

Definition at line 123 of file FunctionFactory.cpp.

const types::TypeInfo * RTT::FunctionFactory::getArgumentType ( unsigned int  arg) const
virtual

Returns the type information of the n'th argument, with argument zero being the return value.

Parameters
arg0: get return value type, 1..arity(): get n'th argument type.
Returns
A TypeInfo Object or null if
  • is out of range

Implements RTT::OperationInterfacePart.

Definition at line 143 of file FunctionFactory.cpp.

const types::TypeInfo * RTT::FunctionFactory::getCollectType ( unsigned int  arg) const
virtual

Returns the type information of the n'th collectable argument. The numbering of arg starts from 1.

Parameters
arg1..collectArity(): get n'th argument type.
Returns
A TypeInfo Object or null if
  • is out of range

Implements RTT::OperationInterfacePart.

Definition at line 157 of file FunctionFactory.cpp.

std::string RTT::FunctionFactory::getName ( ) const
virtual

Returns the name of this operation.

Returns

Implements RTT::OperationInterfacePart.

Definition at line 115 of file FunctionFactory.cpp.

DataSourceBase::shared_ptr RTT::FunctionFactory::produce ( const std::vector< base::DataSourceBase::shared_ptr > &  args,
ExecutionEngine caller 
) const
virtual

Create a DataSource for a given callable operation.

Parameters
argsThe arguments for the target object's function. The number of arguments must be identical to this->arity()
callerThe Engine that will receive notifications when the method has been executed, in case it runs in the owner's thread. Normally, this is the engine of the caller's TaskContext.
Returns
a DataSource which will return the result of this operation.
Exceptions
wrong_number_of_args_exception
wrong_types_of_args_exception
name_not_found_exception

Implements RTT::OperationInterfacePart.

Definition at line 163 of file FunctionFactory.cpp.

base::DataSourceBase::shared_ptr RTT::FunctionFactory::produceCollect ( const std::vector< base::DataSourceBase::shared_ptr > &  args,
internal::DataSource< bool >::shared_ptr  blocking 
) const
virtual

Create a DataSource for collecting the results of a Send.

Parameters
argsA vector of data sources of which the first element contains a properly initialised sendhandle and the remainder of the elements contains datasources for collecting the return value and reference arguments. The total number of items in args must be collectArity() + 1
blockingSet to true to do a blocking collect, false for a polling version.
Returns
A DataSource which collects the results when evaluated and which returns the SendStatus.
Exceptions
wrong_number_of_args_exception
wrong_types_of_args_exception
name_not_found_exception
no_asynchronous_operation_exception

Implements RTT::OperationInterfacePart.

Definition at line 241 of file FunctionFactory.cpp.

base::DataSourceBase::shared_ptr RTT::FunctionFactory::produceHandle ( ) const
virtual

Create an empty SendHandle object for this operation.

Returns
a DataSource which contains an empty SendHandle.
Exceptions
wrong_number_of_args_exception
wrong_types_of_args_exception
name_not_found_exception
no_asynchronous_operation_exception

Implements RTT::OperationInterfacePart.

Definition at line 234 of file FunctionFactory.cpp.

DataSourceBase::shared_ptr RTT::FunctionFactory::produceHelper ( const std::vector< base::DataSourceBase::shared_ptr > &  args,
ExecutionEngine caller,
bool  issend 
) const
private

Definition at line 171 of file FunctionFactory.cpp.

base::DataSourceBase::shared_ptr RTT::FunctionFactory::produceSend ( const std::vector< base::DataSourceBase::shared_ptr > &  args,
ExecutionEngine caller 
) const
virtual

Create a DataSource for a given send operation.

Parameters
argsThe arguments for the target object's function. The number of arguments must be identical to this->arity()
callerThe Engine that will receive notifications when the method has been executed. Normally, this is the engine of the caller's TaskContext.
Returns
a DataSource which contains the SendHandle of this operation.
See also
produceHandle
Exceptions
wrong_number_of_args_exception
wrong_types_of_args_exception
name_not_found_exception
no_asynchronous_operation_exception

Implements RTT::OperationInterfacePart.

Definition at line 237 of file FunctionFactory.cpp.

std::string RTT::FunctionFactory::resultType ( ) const
virtual

Return the result (return) type of this operation.

Implements RTT::OperationInterfacePart.

Definition at line 111 of file FunctionFactory.cpp.

Member Data Documentation

ProgramInterfacePtr RTT::scripting::FunctionFactory::func
private

Definition at line 60 of file FunctionFactory.hpp.

ExecutionEngine* RTT::scripting::FunctionFactory::proc
private

Definition at line 61 of file FunctionFactory.hpp.


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


rtt
Author(s): RTT Developers
autogenerated on Fri Oct 25 2019 03:59:47