#include <OperationInterfacePartFused.hpp>
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::TypeInfo * | getArgumentType (unsigned int arg) const |
const types::TypeInfo * | getCollectType (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 |
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.
Signature | The full signature, with the object pointer as the first argument. |
ObjT | The object pointer type used in Signature. |
Definition at line 325 of file OperationInterfacePartFused.hpp.
typedef std::vector<base::DataSourceBase::shared_ptr> RTT::internal::OperationInterfacePartFusedDS< Signature, ObjT >::ArgList |
Definition at line 340 of file OperationInterfacePartFused.hpp.
typedef create_sequence<typename boost::function_types::parameter_types<typename CollectType<Signature>::type>::type > RTT::internal::OperationInterfacePartFusedDS< Signature, ObjT >::CollectSequenceFactory [private] |
Definition at line 329 of file OperationInterfacePartFused.hpp.
typedef boost::function_traits<Signature>::result_type RTT::internal::OperationInterfacePartFusedDS< Signature, ObjT >::result_type [private] |
Definition at line 330 of file OperationInterfacePartFused.hpp.
typedef create_sequence<typename boost::function_types::parameter_types<Signature>::type> RTT::internal::OperationInterfacePartFusedDS< Signature, ObjT >::SequenceFactory [private] |
Definition at line 328 of file OperationInterfacePartFused.hpp.
RTT::internal::OperationInterfacePartFusedDS< Signature, ObjT >::OperationInterfacePartFusedDS | ( | DataSource< boost::shared_ptr< ObjT > > * | wp, |
Operation< Signature > * | o | ||
) | [inline] |
Definition at line 335 of file OperationInterfacePartFused.hpp.
unsigned int RTT::internal::OperationInterfacePartFusedDS< Signature, ObjT >::arity | ( | ) | const [inline, virtual] |
Returns the arity (number of arguments) of this operation.
Implements RTT::OperationInterfacePart.
Definition at line 347 of file OperationInterfacePartFused.hpp.
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.
Implements RTT::OperationInterfacePart.
Definition at line 356 of file OperationInterfacePartFused.hpp.
virtual std::string RTT::internal::OperationInterfacePartFusedDS< Signature, ObjT >::description | ( | ) | const [inline, virtual] |
Returns the description of this operation.
Implements RTT::OperationInterfacePart.
Definition at line 367 of file OperationInterfacePartFused.hpp.
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 371 of file OperationInterfacePartFused.hpp.
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.
arg | 0: get return value type, 1..arity(): get n'th argument type. |
Implements RTT::OperationInterfacePart.
Definition at line 349 of file OperationInterfacePartFused.hpp.
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.
arg | 1..collectArity(): get n'th argument type. |
Implements RTT::OperationInterfacePart.
Definition at line 358 of file OperationInterfacePartFused.hpp.
boost::shared_ptr<base::DisposableInterface> RTT::internal::OperationInterfacePartFusedDS< Signature, ObjT >::getLocalOperation | ( | ) | const [inline, virtual] |
Returns any local operation associated with this operation.
Reimplemented from RTT::OperationInterfacePart.
Definition at line 444 of file OperationInterfacePartFused.hpp.
virtual std::string RTT::internal::OperationInterfacePartFusedDS< Signature, ObjT >::getName | ( | ) | const [inline, virtual] |
Returns the name of this operation.
Implements RTT::OperationInterfacePart.
Definition at line 363 of file OperationInterfacePartFused.hpp.
base::DataSourceBase::shared_ptr RTT::internal::OperationInterfacePartFusedDS< Signature, ObjT >::produce | ( | ArgList const & | args, |
ExecutionEngine * | caller | ||
) | const [inline] |
Definition at line 380 of file OperationInterfacePartFused.hpp.
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.
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. |
wrong_number_of_args_exception | |
wrong_types_of_args_exception | |
name_not_found_exception | |
no_asynchronous_operation_exception |
Implements RTT::OperationInterfacePart.
Definition at line 408 of file OperationInterfacePartFused.hpp.
virtual base::DataSourceBase::shared_ptr RTT::internal::OperationInterfacePartFusedDS< Signature, ObjT >::produceHandle | ( | ) | const [inline, virtual] |
Create an empty SendHandle object for this operation.
wrong_number_of_args_exception | |
wrong_types_of_args_exception | |
name_not_found_exception | |
no_asynchronous_operation_exception |
Implements RTT::OperationInterfacePart.
Definition at line 403 of file OperationInterfacePartFused.hpp.
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.
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. |
wrong_number_of_args_exception | |
wrong_types_of_args_exception | |
name_not_found_exception | |
no_asynchronous_operation_exception |
Implements RTT::OperationInterfacePart.
Definition at line 392 of file OperationInterfacePartFused.hpp.
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 342 of file OperationInterfacePartFused.hpp.
DataSource<boost::shared_ptr<ObjT> >::shared_ptr RTT::internal::OperationInterfacePartFusedDS< Signature, ObjT >::mwp [private] |
Definition at line 333 of file OperationInterfacePartFused.hpp.
Operation<Signature>* RTT::internal::OperationInterfacePartFusedDS< Signature, ObjT >::op [private] |
Definition at line 331 of file OperationInterfacePartFused.hpp.