Public Types | Public Member Functions | Private Types | Private Attributes | List of all members
RTT::internal::OperationInterfacePartFusedDS< Signature, ObjT > Class Template Reference

#include <OperationInterfacePartFused.hpp>

Inheritance diagram for RTT::internal::OperationInterfacePartFusedDS< Signature, ObjT >:
Inheritance graph
[legend]

Public Types

typedef std::vector< base::DataSourceBase::shared_ptrArgList
 

Public Member Functions

unsigned int arity () const
 
unsigned int collectArity () const
 
virtual std::string description () const
 
virtual std::vector< ArgumentDescriptiongetArgumentList () const
 
const types::TypeInfogetArgumentType (unsigned int arg) const
 
const types::TypeInfogetCollectType (unsigned int arg) const
 
boost::shared_ptr< base::DisposableInterfacegetLocalOperation () const
 
virtual std::string getName () const
 
 OperationInterfacePartFusedDS (DataSource< boost::shared_ptr< ObjT > > *wp, Operation< Signature > *o)
 
base::DataSourceBase::shared_ptr produce (ArgList const &args, ExecutionEngine *caller) const
 
virtual base::DataSourceBase::shared_ptr produceCollect (const std::vector< base::DataSourceBase::shared_ptr > &args, DataSource< bool >::shared_ptr blocking) const
 
virtual base::DataSourceBase::shared_ptr produceHandle () const
 
virtual 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 base::DataSourceBase::shared_ptr produce (const std::vector< base::DataSourceBase::shared_ptr > &args, ExecutionEngine *caller) const =0
 
virtual RTT_API ~OperationInterfacePart ()
 

Private Types

typedef create_sequence< typename boost::function_types::parameter_types< typename CollectType< Signature >::type >::type > CollectSequenceFactory
 
typedef boost::function_traits< Signature >::result_type result_type
 
typedef create_sequence< typename boost::function_types::parameter_types< Signature >::type > SequenceFactory
 

Private Attributes

DataSource< boost::shared_ptr< ObjT > >::shared_ptr mwp
 
Operation< Signature > * op
 

Detailed Description

template<typename Signature, typename ObjT>
class RTT::internal::OperationInterfacePartFusedDS< Signature, ObjT >

OperationInterfacePart implementation that uses boost::fusion to produce items. The methods invoked get their object pointer from the first data source, which contains a shared_ptr.

Parameters
SignatureThe full signature, with the object pointer as the first argument.
ObjTThe object pointer type used in Signature.

Definition at line 335 of file OperationInterfacePartFused.hpp.

Member Typedef Documentation

template<typename Signature, typename ObjT>
typedef std::vector<base::DataSourceBase::shared_ptr> RTT::internal::OperationInterfacePartFusedDS< Signature, ObjT >::ArgList

Definition at line 350 of file OperationInterfacePartFused.hpp.

template<typename Signature, typename ObjT>
typedef create_sequence<typename boost::function_types::parameter_types<typename CollectType<Signature>::type>::type > RTT::internal::OperationInterfacePartFusedDS< Signature, ObjT >::CollectSequenceFactory
private

Definition at line 339 of file OperationInterfacePartFused.hpp.

template<typename Signature, typename ObjT>
typedef boost::function_traits<Signature>::result_type RTT::internal::OperationInterfacePartFusedDS< Signature, ObjT >::result_type
private

Definition at line 340 of file OperationInterfacePartFused.hpp.

template<typename Signature, typename ObjT>
typedef create_sequence<typename boost::function_types::parameter_types<Signature>::type> RTT::internal::OperationInterfacePartFusedDS< Signature, ObjT >::SequenceFactory
private

Definition at line 338 of file OperationInterfacePartFused.hpp.

Constructor & Destructor Documentation

template<typename Signature, typename ObjT>
RTT::internal::OperationInterfacePartFusedDS< Signature, ObjT >::OperationInterfacePartFusedDS ( DataSource< boost::shared_ptr< ObjT > > *  wp,
Operation< Signature > *  o 
)
inline

Definition at line 345 of file OperationInterfacePartFused.hpp.

Member Function Documentation

template<typename Signature, typename ObjT>
unsigned int RTT::internal::OperationInterfacePartFusedDS< Signature, ObjT >::arity ( ) const
inlinevirtual

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

See also
produce, produceSend

Implements RTT::OperationInterfacePart.

Definition at line 357 of file OperationInterfacePartFused.hpp.

template<typename Signature, typename ObjT>
unsigned int RTT::internal::OperationInterfacePartFusedDS< Signature, ObjT >::collectArity ( ) const
inlinevirtual

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 366 of file OperationInterfacePartFused.hpp.

template<typename Signature, typename ObjT>
virtual std::string RTT::internal::OperationInterfacePartFusedDS< Signature, ObjT >::description ( ) const
inlinevirtual

Returns the description of this operation.

Returns

Implements RTT::OperationInterfacePart.

Definition at line 377 of file OperationInterfacePartFused.hpp.

template<typename Signature, typename ObjT>
virtual std::vector<ArgumentDescription> RTT::internal::OperationInterfacePartFusedDS< Signature, ObjT >::getArgumentList ( ) const
inlinevirtual

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

Implements RTT::OperationInterfacePart.

Definition at line 381 of file OperationInterfacePartFused.hpp.

template<typename Signature, typename ObjT>
const types::TypeInfo* RTT::internal::OperationInterfacePartFusedDS< Signature, ObjT >::getArgumentType ( unsigned int  arg) const
inlinevirtual

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 359 of file OperationInterfacePartFused.hpp.

template<typename Signature, typename ObjT>
const types::TypeInfo* RTT::internal::OperationInterfacePartFusedDS< Signature, ObjT >::getCollectType ( unsigned int  arg) const
inlinevirtual

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 368 of file OperationInterfacePartFused.hpp.

template<typename Signature, typename ObjT>
boost::shared_ptr<base::DisposableInterface> RTT::internal::OperationInterfacePartFusedDS< Signature, ObjT >::getLocalOperation ( ) const
inlinevirtual

Returns any local operation associated with this operation.

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

Reimplemented from RTT::OperationInterfacePart.

Definition at line 466 of file OperationInterfacePartFused.hpp.

template<typename Signature, typename ObjT>
virtual std::string RTT::internal::OperationInterfacePartFusedDS< Signature, ObjT >::getName ( ) const
inlinevirtual

Returns the name of this operation.

Returns

Implements RTT::OperationInterfacePart.

Definition at line 373 of file OperationInterfacePartFused.hpp.

template<typename Signature, typename ObjT>
base::DataSourceBase::shared_ptr RTT::internal::OperationInterfacePartFusedDS< Signature, ObjT >::produce ( ArgList const &  args,
ExecutionEngine caller 
) const
inline

Definition at line 390 of file OperationInterfacePartFused.hpp.

template<typename Signature, typename ObjT>
virtual base::DataSourceBase::shared_ptr RTT::internal::OperationInterfacePartFusedDS< Signature, ObjT >::produceCollect ( const std::vector< base::DataSourceBase::shared_ptr > &  args,
DataSource< bool >::shared_ptr  blocking 
) const
inlinevirtual

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 418 of file OperationInterfacePartFused.hpp.

template<typename Signature, typename ObjT>
virtual base::DataSourceBase::shared_ptr RTT::internal::OperationInterfacePartFusedDS< Signature, ObjT >::produceHandle ( ) const
inlinevirtual
template<typename Signature, typename ObjT>
virtual base::DataSourceBase::shared_ptr RTT::internal::OperationInterfacePartFusedDS< Signature, ObjT >::produceSend ( const std::vector< base::DataSourceBase::shared_ptr > &  args,
ExecutionEngine caller 
) const
inlinevirtual

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 402 of file OperationInterfacePartFused.hpp.

template<typename Signature, typename ObjT>
std::string RTT::internal::OperationInterfacePartFusedDS< Signature, ObjT >::resultType ( ) const
inlinevirtual

Return the result (return) type of this operation.

Implements RTT::OperationInterfacePart.

Definition at line 352 of file OperationInterfacePartFused.hpp.

Member Data Documentation

template<typename Signature, typename ObjT>
DataSource<boost::shared_ptr<ObjT> >::shared_ptr RTT::internal::OperationInterfacePartFusedDS< Signature, ObjT >::mwp
private

Definition at line 343 of file OperationInterfacePartFused.hpp.

template<typename Signature, typename ObjT>
Operation<Signature>* RTT::internal::OperationInterfacePartFusedDS< Signature, ObjT >::op
private

Definition at line 341 of file OperationInterfacePartFused.hpp.


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


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