$search

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 collectArity () const =0
virtual std::string description () const =0
virtual std::vector
< ArgumentDescription
getArgumentList () const =0
virtual const types::TypeInfogetArgumentType (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 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 
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 
produceSend (const std::vector< base::DataSourceBase::shared_ptr > &args, ExecutionEngine *caller) const =0
virtual std::string resultType () const =0
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 OperationInterfacePart.hpp.


Constructor & Destructor Documentation

OperationInterfacePart::~OperationInterfacePart (  )  [virtual]

Definition at line 49 of file OperationInterface.cpp.


Member Function Documentation

virtual unsigned int RTT::OperationInterfacePart::arity (  )  const [pure virtual]
virtual unsigned int RTT::OperationInterfacePart::collectArity (  )  const [pure virtual]
virtual std::string RTT::OperationInterfacePart::description (  )  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]

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

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

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

virtual const types::TypeInfo* RTT::OperationInterfacePart::getCollectType ( unsigned int  arg  )  const [pure virtual]

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

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

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

boost::shared_ptr< base::DisposableInterface > OperationInterfacePart::getLocalOperation (  )  const [virtual]

Returns any local operation associated with this operation.

Returns:
null if no such operation exists, the operation's implementation otherwise.

Reimplemented in RTT::internal::OperationInterfacePartFused< Signature >, RTT::internal::SynchronousOperationInterfacePartFused< Signature >, and RTT::internal::OperationInterfacePartFusedDS< Signature, ObjT >.

Definition at line 53 of file OperationInterface.cpp.

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, 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, and RTT::corba::CorbaOperationCallerFactory.

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]

Create a DataSource for a given send 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. 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 

Implemented in 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]

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 Mar 1 16:27:39 2013