39 #ifndef FUNCTIONFACTORY_HPP 40 #define FUNCTIONFACTORY_HPP 42 #include "../ArgumentDescription.hpp" 43 #include "../OperationInterface.hpp" 44 #include "../Property.hpp" 51 {
namespace scripting {
67 unsigned int arity()
const;
89 #ifdef ORO_SIGNALLING_OPERATIONS std::string resultType() const
Return the result (return) type of this operation.
const types::TypeInfo * getCollectType(unsigned int arg) const
Returns the type information of the n'th collectable argument.
std::string getName() const
Returns the name of this operation.
unsigned int collectArity() const
Returns the number of collectable arguments of this operation's function.
base::DataSourceBase::shared_ptr produceCollect(const std::vector< base::DataSourceBase::shared_ptr > &args, internal::DataSource< bool >::shared_ptr blocking) const
Create a DataSource for collecting the results of a Send.
boost::shared_ptr< ProgramInterface > ProgramInterfacePtr
An execution engine serialises (executes one after the other) the execution of all commands...
const types::TypeInfo * getArgumentType(unsigned int arg) const
Returns the type information of the n'th argument, with argument zero being the return value...
Based on the software pattern 'command', this interface allows execution of action objects...
base::DataSourceBase::shared_ptr produce(const std::vector< base::DataSourceBase::shared_ptr > &args, ExecutionEngine *caller) const
Create a DataSource for a given callable operation.
std::string description() const
Returns the description of this operation.
A class for representing a user type, and which can build instances of that type. ...
std::vector< ArgumentDescription > getArgumentList() const
Get a description of the desired arguments in the ArgumentDescription format.
This class defines the interface for creating operation objects without using C++ templates...
boost::intrusive_ptr< DataSource< T > > shared_ptr
unsigned int arity() const
Returns the arity (number of arguments) of this operation.
base::DataSourceBase::shared_ptr produceSend(const std::vector< base::DataSourceBase::shared_ptr > &args, ExecutionEngine *caller) const
Create a DataSource for a given send operation.
A Factory which delivers operations which execute a FunctionGraph in an engine.
base::DataSourceBase::shared_ptr produceHandle() const
Create an empty SendHandle object for this operation.
boost::intrusive_ptr< DataSourceBase > shared_ptr
Use this type to store a pointer to a DataSourceBase.
Contains TaskContext, Activity, OperationCaller, Operation, Property, InputPort, OutputPort, Attribute.
The Handle holds the information, and allows manipulation, of a connection between a internal::Signal...
FunctionFactory(ProgramInterfacePtr func, ExecutionEngine *procs)