RTT::OperationInterfacePart Class Reference

#include <OperationInterfacePart.hpp>

Inheritance diagram for RTT::OperationInterfacePart:
Inheritance graph
[legend]

List of all members.

Public Member Functions

virtual unsigned int arity () const =0
virtual unsigned int arity () const =0
virtual unsigned int collectArity () const =0
virtual unsigned int collectArity () const =0
virtual std::string description () const =0
virtual std::string description () const =0
virtual std::vector
< ArgumentDescription
getArgumentList () const =0
virtual std::vector
< ArgumentDescription
getArgumentList () const =0
virtual const types::TypeInfogetArgumentType (unsigned int arg) const =0
virtual const types::TypeInfogetArgumentType (unsigned int arg) const =0
virtual const types::TypeInfogetCollectType (unsigned int arg) const =0
virtual const types::TypeInfogetCollectType (unsigned int arg) const =0
virtual RTT_API
boost::shared_ptr
< base::DisposableInterface
getLocalOperation () const
virtual RTT_API
boost::shared_ptr
< base::DisposableInterface
getLocalOperation () const
virtual std::string getName () const =0
virtual std::string getName () const =0
virtual
base::DataSourceBase::shared_ptr 
produce (const std::vector< base::DataSourceBase::shared_ptr > &args, ExecutionEngine *caller) const =0
virtual
base::DataSourceBase::shared_ptr 
produce (const std::vector< base::DataSourceBase::shared_ptr > &args, ExecutionEngine *caller) const =0
virtual
base::DataSourceBase::shared_ptr 
produceCollect (const std::vector< base::DataSourceBase::shared_ptr > &args, internal::DataSource< bool >::shared_ptr blocking) const =0
virtual
base::DataSourceBase::shared_ptr 
produceCollect (const std::vector< base::DataSourceBase::shared_ptr > &args, internal::DataSource< bool >::shared_ptr blocking) const =0
virtual
base::DataSourceBase::shared_ptr 
produceHandle () const =0
virtual
base::DataSourceBase::shared_ptr 
produceHandle () const =0
virtual
base::DataSourceBase::shared_ptr 
produceSend (const std::vector< base::DataSourceBase::shared_ptr > &args, ExecutionEngine *caller) const =0
virtual
base::DataSourceBase::shared_ptr 
produceSend (const std::vector< base::DataSourceBase::shared_ptr > &args, ExecutionEngine *caller) const =0
virtual Handle produceSignal (base::ActionInterface *func, const std::vector< base::DataSourceBase::shared_ptr > &args) const =0
virtual Handle produceSignal (base::ActionInterface *func, const std::vector< base::DataSourceBase::shared_ptr > &args) const =0
virtual std::string resultType () const =0
virtual std::string resultType () const =0
virtual RTT_API ~OperationInterfacePart ()
virtual RTT_API ~OperationInterfacePart ()

Detailed Description

This class defines the interface for creating operation objects without using C++ templates.

The OperationInterface offers the same interface as this class, but with operation names as first argument of each function.

It is most used in conjunction with the OperationCallerC/SendHandleC classes to create objects that manage calling/sending methods and collecting results of method invocations.

A Part must be interpreted as one single operation of an OperationInterface.

This class serves as a base class for the template based classes that implement the produce and query logic for a given operation.

Definition at line 69 of file install/include/rtt/OperationInterfacePart.hpp.


Constructor & Destructor Documentation

OperationInterfacePart::~OperationInterfacePart (  )  [virtual]

Definition at line 49 of file OperationInterface.cpp.

virtual RTT_API RTT::OperationInterfacePart::~OperationInterfacePart (  )  [virtual]

Member Function Documentation

virtual unsigned int RTT::OperationInterfacePart::arity (  )  const [pure virtual]
virtual unsigned int RTT::OperationInterfacePart::arity (  )  const [pure virtual]
virtual unsigned int RTT::OperationInterfacePart::collectArity (  )  const [pure virtual]
virtual unsigned int RTT::OperationInterfacePart::collectArity (  )  const [pure virtual]
virtual std::string RTT::OperationInterfacePart::description (  )  const [pure virtual]
virtual std::string RTT::OperationInterfacePart::description (  )  const [pure virtual]
virtual std::vector<ArgumentDescription> RTT::OperationInterfacePart::getArgumentList (  )  const [pure virtual]
virtual std::vector<ArgumentDescription> RTT::OperationInterfacePart::getArgumentList (  )  const [pure virtual]
virtual const types::TypeInfo* RTT::OperationInterfacePart::getArgumentType ( unsigned int  arg  )  const [pure virtual]
virtual const types::TypeInfo* RTT::OperationInterfacePart::getArgumentType ( unsigned int  arg  )  const [pure virtual]
virtual const types::TypeInfo* RTT::OperationInterfacePart::getCollectType ( unsigned int  arg  )  const [pure virtual]
virtual const types::TypeInfo* RTT::OperationInterfacePart::getCollectType ( unsigned int  arg  )  const [pure virtual]
virtual RTT_API boost::shared_ptr<base::DisposableInterface> RTT::OperationInterfacePart::getLocalOperation (  )  const [virtual]
boost::shared_ptr< base::DisposableInterface > OperationInterfacePart::getLocalOperation (  )  const [virtual]
virtual std::string RTT::OperationInterfacePart::getName (  )  const [pure virtual]
virtual std::string RTT::OperationInterfacePart::getName (  )  const [pure virtual]
virtual base::DataSourceBase::shared_ptr RTT::OperationInterfacePart::produce ( const std::vector< base::DataSourceBase::shared_ptr > &  args,
ExecutionEngine caller 
) const [pure virtual]

Create a DataSource for a given callable operation.

Parameters:
args The arguments for the target object's function. The number of arguments must be identical to this->arity()
caller The 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 

Implemented in RTT::internal::OperationInterfacePartFused< Signature >, RTT::internal::SynchronousOperationInterfacePartFused< Signature >, RTT::scripting::FunctionFactory, RTT::corba::CorbaOperationCallerFactory, RTT::internal::OperationInterfacePartFused< Signature >, RTT::internal::SynchronousOperationInterfacePartFused< Signature >, RTT::scripting::FunctionFactory, and RTT::corba::CorbaOperationCallerFactory.

virtual base::DataSourceBase::shared_ptr RTT::OperationInterfacePart::produce ( const std::vector< base::DataSourceBase::shared_ptr > &  args,
ExecutionEngine caller 
) const [pure virtual]

Create a DataSource for a given callable operation.

Parameters:
args The arguments for the target object's function. The number of arguments must be identical to this->arity()
caller The 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 

Implemented in RTT::internal::OperationInterfacePartFused< Signature >, RTT::internal::SynchronousOperationInterfacePartFused< Signature >, RTT::scripting::FunctionFactory, RTT::corba::CorbaOperationCallerFactory, RTT::internal::OperationInterfacePartFused< Signature >, RTT::internal::SynchronousOperationInterfacePartFused< Signature >, RTT::scripting::FunctionFactory, and RTT::corba::CorbaOperationCallerFactory.

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

Create a DataSource for collecting the results of a Send.

Parameters:
args A 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
blocking Set 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 

Implemented in RTT::internal::OperationInterfacePartFused< Signature >, RTT::internal::SynchronousOperationInterfacePartFused< Signature >, RTT::internal::OperationInterfacePartFusedDS< Signature, ObjT >, RTT::scripting::FunctionFactory, RTT::corba::CorbaOperationCallerFactory, RTT::internal::OperationInterfacePartFused< Signature >, RTT::internal::SynchronousOperationInterfacePartFused< Signature >, RTT::internal::OperationInterfacePartFusedDS< Signature, ObjT >, RTT::scripting::FunctionFactory, and RTT::corba::CorbaOperationCallerFactory.

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

Create a DataSource for collecting the results of a Send.

Parameters:
args A 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
blocking Set 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 

Implemented in RTT::internal::OperationInterfacePartFused< Signature >, RTT::internal::SynchronousOperationInterfacePartFused< Signature >, RTT::internal::OperationInterfacePartFusedDS< Signature, ObjT >, RTT::scripting::FunctionFactory, RTT::corba::CorbaOperationCallerFactory, RTT::internal::OperationInterfacePartFused< Signature >, RTT::internal::SynchronousOperationInterfacePartFused< Signature >, RTT::internal::OperationInterfacePartFusedDS< Signature, ObjT >, RTT::scripting::FunctionFactory, and RTT::corba::CorbaOperationCallerFactory.

virtual base::DataSourceBase::shared_ptr RTT::OperationInterfacePart::produceHandle (  )  const [pure virtual]
virtual base::DataSourceBase::shared_ptr RTT::OperationInterfacePart::produceHandle (  )  const [pure virtual]
virtual base::DataSourceBase::shared_ptr RTT::OperationInterfacePart::produceSend ( const std::vector< base::DataSourceBase::shared_ptr > &  args,
ExecutionEngine caller 
) const [pure virtual]
virtual base::DataSourceBase::shared_ptr RTT::OperationInterfacePart::produceSend ( const std::vector< base::DataSourceBase::shared_ptr > &  args,
ExecutionEngine caller 
) const [pure virtual]
virtual Handle RTT::OperationInterfacePart::produceSignal ( base::ActionInterface func,
const std::vector< base::DataSourceBase::shared_ptr > &  args 
) const [pure virtual]

Attach a Signal Handle to this operation which fills in the given data sources and executes a given function.

Parameters:
func The function to execute
args The data sources to fill in with the arguments the operation was given. The number of elements and their type must match the signature of the operation.
Returns:
A valid Signal Handle if the arguments were valid.
Exceptions:
no_asynchronous_operation_exception 

Implemented in RTT::internal::OperationInterfacePartFused< Signature >, RTT::internal::SynchronousOperationInterfacePartFused< Signature >, RTT::internal::OperationInterfacePartFusedDS< Signature, ObjT >, RTT::scripting::FunctionFactory, RTT::corba::CorbaOperationCallerFactory, RTT::internal::OperationInterfacePartFused< Signature >, RTT::internal::SynchronousOperationInterfacePartFused< Signature >, RTT::internal::OperationInterfacePartFusedDS< Signature, ObjT >, RTT::scripting::FunctionFactory, and RTT::corba::CorbaOperationCallerFactory.

virtual Handle RTT::OperationInterfacePart::produceSignal ( base::ActionInterface func,
const std::vector< base::DataSourceBase::shared_ptr > &  args 
) const [pure virtual]

Attach a Signal Handle to this operation which fills in the given data sources and executes a given function.

Parameters:
func The function to execute
args The data sources to fill in with the arguments the operation was given. The number of elements and their type must match the signature of the operation.
Returns:
A valid Signal Handle if the arguments were valid.
Exceptions:
no_asynchronous_operation_exception 

Implemented in RTT::internal::OperationInterfacePartFused< Signature >, RTT::internal::SynchronousOperationInterfacePartFused< Signature >, RTT::internal::OperationInterfacePartFusedDS< Signature, ObjT >, RTT::scripting::FunctionFactory, RTT::corba::CorbaOperationCallerFactory, RTT::internal::OperationInterfacePartFused< Signature >, RTT::internal::SynchronousOperationInterfacePartFused< Signature >, RTT::internal::OperationInterfacePartFusedDS< Signature, ObjT >, RTT::scripting::FunctionFactory, and RTT::corba::CorbaOperationCallerFactory.

virtual std::string RTT::OperationInterfacePart::resultType (  )  const [pure virtual]
virtual std::string RTT::OperationInterfacePart::resultType (  )  const [pure virtual]

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


rtt
Author(s): RTT Developers
autogenerated on Fri Jan 11 09:49:48 2013