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

#include <OperationInterfacePartFused.hpp>

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

List of all members.

Public Types

typedef std::vector
< base::DataSourceBase::shared_ptr
ArgList

Public Member Functions

unsigned int arity () const
unsigned int collectArity () const
virtual std::string description () const
virtual std::vector
< ArgumentDescription
getArgumentList () const
const types::TypeInfogetArgumentType (unsigned int arg) const
const types::TypeInfogetCollectType (unsigned int arg) const
boost::shared_ptr
< base::DisposableInterface
getLocalOperation () 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

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 291 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 306 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 295 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 296 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 294 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 301 of file OperationInterfacePartFused.hpp.


Member Function Documentation

template<typename Signature, typename ObjT>
unsigned int RTT::internal::OperationInterfacePartFusedDS< Signature, ObjT >::arity ( ) const [inline, virtual]

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

See also:
produce, produceSend

Implements RTT::OperationInterfacePart.

Definition at line 313 of file OperationInterfacePartFused.hpp.

template<typename Signature, typename ObjT>
unsigned int RTT::internal::OperationInterfacePartFusedDS< Signature, ObjT >::collectArity ( ) const [inline, 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 322 of file OperationInterfacePartFused.hpp.

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

Returns the description of this operation.

Returns:

Implements RTT::OperationInterfacePart.

Definition at line 333 of file OperationInterfacePartFused.hpp.

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

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

Implements RTT::OperationInterfacePart.

Definition at line 337 of file OperationInterfacePartFused.hpp.

template<typename Signature, typename ObjT>
const types::TypeInfo* RTT::internal::OperationInterfacePartFusedDS< Signature, ObjT >::getArgumentType ( unsigned int  arg) const [inline, 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 315 of file OperationInterfacePartFused.hpp.

template<typename Signature, typename ObjT>
const types::TypeInfo* RTT::internal::OperationInterfacePartFusedDS< Signature, ObjT >::getCollectType ( unsigned int  arg) const [inline, 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 324 of file OperationInterfacePartFused.hpp.

template<typename Signature, typename ObjT>
boost::shared_ptr<base::DisposableInterface> RTT::internal::OperationInterfacePartFusedDS< Signature, ObjT >::getLocalOperation ( ) const [inline, virtual]

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

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

Returns the name of this operation.

Returns:

Implements RTT::OperationInterfacePart.

Definition at line 329 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 346 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 [inline, 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 374 of file OperationInterfacePartFused.hpp.

template<typename Signature, typename ObjT>
virtual base::DataSourceBase::shared_ptr RTT::internal::OperationInterfacePartFusedDS< Signature, ObjT >::produceHandle ( ) const [inline, 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 369 of file OperationInterfacePartFused.hpp.

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 [inline, 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 358 of file OperationInterfacePartFused.hpp.

template<typename Signature, typename ObjT>
std::string RTT::internal::OperationInterfacePartFusedDS< Signature, ObjT >::resultType ( ) const [inline, virtual]

Return the result (return) type of this operation.

Implements RTT::OperationInterfacePart.

Definition at line 308 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 299 of file OperationInterfacePartFused.hpp.

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

Definition at line 297 of file OperationInterfacePartFused.hpp.


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


rtt
Author(s): RTT Developers
autogenerated on Mon Oct 6 2014 03:13:59