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

#include <OperationInterfacePartFused.hpp>

Inheritance diagram for RTT::internal::SynchronousOperationInterfacePartFused< Signature >:
Inheritance graph
[legend]

List of all members.

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
base::DataSourceBase::shared_ptr produce (const std::vector< base::DataSourceBase::shared_ptr > &args, ExecutionEngine *caller) const
virtual
base::DataSourceBase::shared_ptr 
produceCollect (const std::vector< base::DataSourceBase::shared_ptr > &args, internal::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
 SynchronousOperationInterfacePartFused (Operation< Signature > *o)

Private Types

typedef create_sequence
< typename
boost::function_types::parameter_types
< typename CollectType
< Signature >::type >::type > 
CollectSequenceFactory
 The factory for converting data sources to C++ types in collect(). This includes SendHandle.
typedef boost::function_traits
< Signature >::result_type 
result_type
typedef create_sequence
< typename
boost::function_types::parameter_types
< Signature >::type > 
SequenceFactory
 The factory for converting data sources to C++ types in call()

Private Attributes

Operation< Signature > * op

Detailed Description

template<typename Signature>
class RTT::internal::SynchronousOperationInterfacePartFused< Signature >

OperationInterfacePart implementation that only provides synchronous access to an operation. Only produce() can be called, the others will throw a no_asynchronous_operation_exception.

Definition at line 207 of file OperationInterfacePartFused.hpp.


Member Typedef Documentation

template<typename Signature >
typedef create_sequence<typename boost::function_types::parameter_types<typename CollectType<Signature>::type>::type > RTT::internal::SynchronousOperationInterfacePartFused< Signature >::CollectSequenceFactory [private]

The factory for converting data sources to C++ types in collect(). This includes SendHandle.

Definition at line 214 of file OperationInterfacePartFused.hpp.

template<typename Signature >
typedef boost::function_traits<Signature>::result_type RTT::internal::SynchronousOperationInterfacePartFused< Signature >::result_type [private]

Definition at line 210 of file OperationInterfacePartFused.hpp.

template<typename Signature >
typedef create_sequence<typename boost::function_types::parameter_types<Signature>::type> RTT::internal::SynchronousOperationInterfacePartFused< Signature >::SequenceFactory [private]

The factory for converting data sources to C++ types in call()

Definition at line 212 of file OperationInterfacePartFused.hpp.


Constructor & Destructor Documentation

template<typename Signature >
RTT::internal::SynchronousOperationInterfacePartFused< Signature >::SynchronousOperationInterfacePartFused ( Operation< Signature > *  o) [inline]

Definition at line 217 of file OperationInterfacePartFused.hpp.


Member Function Documentation

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

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

See also:
produce, produceSend

Implements RTT::OperationInterfacePart.

Definition at line 252 of file OperationInterfacePartFused.hpp.

template<typename Signature >
unsigned int RTT::internal::SynchronousOperationInterfacePartFused< Signature >::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 261 of file OperationInterfacePartFused.hpp.

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

Returns the description of this operation.

Returns:

Implements RTT::OperationInterfacePart.

Definition at line 236 of file OperationInterfacePartFused.hpp.

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

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

Implements RTT::OperationInterfacePart.

Definition at line 240 of file OperationInterfacePartFused.hpp.

template<typename Signature >
const types::TypeInfo* RTT::internal::SynchronousOperationInterfacePartFused< Signature >::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 254 of file OperationInterfacePartFused.hpp.

template<typename Signature >
const types::TypeInfo* RTT::internal::SynchronousOperationInterfacePartFused< Signature >::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 263 of file OperationInterfacePartFused.hpp.

template<typename Signature >
boost::shared_ptr<base::DisposableInterface> RTT::internal::SynchronousOperationInterfacePartFused< Signature >::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 277 of file OperationInterfacePartFused.hpp.

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

Returns the name of this operation.

Returns:

Implements RTT::OperationInterfacePart.

Definition at line 233 of file OperationInterfacePartFused.hpp.

template<typename Signature >
base::DataSourceBase::shared_ptr RTT::internal::SynchronousOperationInterfacePartFused< Signature >::produce ( const std::vector< base::DataSourceBase::shared_ptr > &  args,
ExecutionEngine caller 
) const [inline, virtual]

Create a DataSource for a given callable 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, 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

Implements RTT::OperationInterfacePart.

Definition at line 268 of file OperationInterfacePartFused.hpp.

template<typename Signature >
virtual base::DataSourceBase::shared_ptr RTT::internal::SynchronousOperationInterfacePartFused< Signature >::produceCollect ( const std::vector< base::DataSourceBase::shared_ptr > &  args,
internal::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 224 of file OperationInterfacePartFused.hpp.

template<typename Signature >
virtual base::DataSourceBase::shared_ptr RTT::internal::SynchronousOperationInterfacePartFused< Signature >::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 230 of file OperationInterfacePartFused.hpp.

template<typename Signature >
virtual base::DataSourceBase::shared_ptr RTT::internal::SynchronousOperationInterfacePartFused< Signature >::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 222 of file OperationInterfacePartFused.hpp.

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

Return the result (return) type of this operation.

Implements RTT::OperationInterfacePart.

Definition at line 247 of file OperationInterfacePartFused.hpp.


Member Data Documentation

template<typename Signature >
Operation<Signature>* RTT::internal::SynchronousOperationInterfacePartFused< Signature >::op [private]

Definition at line 215 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