Orocos Real-Time Toolkit
2.8.3
|
A template-less manager for OperationCaller calls. More...
#include <rtt/internal/OperationCallerC.hpp>
Classes | |
class | D |
Public Member Functions | |
OperationCallerC () | |
The default constructor. More... | |
OperationCallerC (OperationInterfacePart *mr, const std::string &name, ExecutionEngine *caller) | |
The constructor. More... | |
OperationCallerC (const OperationCallerC &other) | |
A OperationCallerC is copyable by value. More... | |
OperationCallerC (const OperationCallerC &other, ExecutionEngine *caller) | |
A OperationCallerC is copyable by value, with assignment of a new caller. More... | |
OperationCallerC & | operator= (const OperationCallerC &other) |
A OperationCallerC is assignable. More... | |
~OperationCallerC () | |
OperationCallerC & | arg (base::DataSourceBase::shared_ptr a) |
Add a datasource argument to the OperationCaller. More... | |
template<class ArgT > | |
OperationCallerC & | argC (const ArgT a) |
Add a constant argument to the OperationCaller. More... | |
template<class ArgT > | |
OperationCallerC & | arg (ArgT &a) |
Add an argument by reference to the OperationCaller. More... | |
OperationCallerC & | ret (base::AttributeBase *r) |
Store the result of the method in a task's attribute. More... | |
OperationCallerC & | ret (base::DataSourceBase::shared_ptr r) |
Store the result of the method in a DataSource. More... | |
template<class RetT > | |
OperationCallerC & | ret (RetT &r) |
Store the result of the method in variable. More... | |
bool | call () |
Call the contained method. More... | |
SendHandleC | send () |
Send the contained method. More... | |
void | check () |
Checks if this method is ready for calling, will throw if not so. More... | |
bool | ready () const |
Returns true if this method is ready for execution. More... | |
OperationInterfacePart * | getOrp () const |
Returns the factory which we use to produce the operation call. More... | |
std::string const & | getName () const |
Returns the name of the operation that will be called. More... | |
base::DataSourceBase::shared_ptr | getCallDataSource () |
Get the contained data source for 'call'. More... | |
base::DataSourceBase::shared_ptr | getSendDataSource () |
Get the contained data source for 'send'. More... | |
base::DataSourceBase::shared_ptr | getSendHandleDataSource () |
Get the contained data source for send handle. More... | |
A template-less manager for OperationCaller calls.
Definition at line 55 of file OperationCallerC.hpp.
RTT::internal::OperationCallerC::OperationCallerC | ( | ) |
The default constructor.
Make a copy from another OperationCallerC object in order to make it usable.
Definition at line 124 of file OperationCallerC.cpp.
RTT::internal::OperationCallerC::OperationCallerC | ( | OperationInterfacePart * | mr, |
const std::string & | name, | ||
ExecutionEngine * | caller | ||
) |
The constructor.
Definition at line 129 of file OperationCallerC.cpp.
References RTT::Error, RTT::internal::OperationCallerC::D::m, and RTT::internal::OperationCallerC::D::s.
RTT::internal::OperationCallerC::OperationCallerC | ( | const OperationCallerC & | other | ) |
A OperationCallerC is copyable by value.
Definition at line 143 of file OperationCallerC.cpp.
RTT::internal::OperationCallerC::OperationCallerC | ( | const OperationCallerC & | other, |
ExecutionEngine * | caller | ||
) |
A OperationCallerC is copyable by value, with assignment of a new caller.
Definition at line 148 of file OperationCallerC.cpp.
References RTT::internal::OperationCallerC::D::caller.
RTT::internal::OperationCallerC::~OperationCallerC | ( | ) |
Definition at line 171 of file OperationCallerC.cpp.
OperationCallerC & RTT::internal::OperationCallerC::arg | ( | base::DataSourceBase::shared_ptr | a | ) |
Add a datasource argument to the OperationCaller.
a | A DataSource which contents are consulted each time when call() is called. |
Definition at line 176 of file OperationCallerC.cpp.
References RTT::Logger::endl(), RTT::Logger::log(), RTT::internal::OperationCallerC::D::m, RTT::internal::OperationCallerC::D::newarg(), RTT::internal::OperationCallerC::D::s, and RTT::Logger::Warning.
Referenced by RTT_corba_COperationInterface_i::callOperation(), RTT_corba_COperationInterface_i::checkOperation(), and RTT_corba_COperationInterface_i::sendOperation().
|
inline |
Add an argument by reference to the OperationCaller.
a | A value of which the reference is used and re-read each time the method is called. Thus if the contents of the source of a changes, call() will use the new contents. |
Definition at line 123 of file OperationCallerC.hpp.
|
inline |
Add a constant argument to the OperationCaller.
a | A value of which a copy is made and this value is used each time in call(). |
Definition at line 111 of file OperationCallerC.hpp.
bool RTT::internal::OperationCallerC::call | ( | ) |
Call the contained method.
Definition at line 223 of file OperationCallerC.cpp.
References RTT::internal::OperationCallerC::D::args, RTT::OperationInterfacePart::arity(), RTT::Logger::endl(), RTT::Logger::Error, RTT::Logger::log(), RTT::internal::OperationCallerC::D::mname, RTT::Logger::nl(), and RTT::internal::OperationCallerC::D::ofp.
Referenced by RTT::internal::RemoteOperationCallerImpl< OperationCallerT >::call_impl().
void RTT::internal::OperationCallerC::check | ( | ) |
Checks if this method is ready for calling, will throw if not so.
Otherwise, does nothing.
Definition at line 238 of file OperationCallerC.cpp.
References RTT::internal::OperationCallerC::D::args, RTT::internal::OperationCallerC::D::caller, RTT::internal::OperationCallerC::D::mname, RTT::internal::OperationCallerC::D::ofp, and RTT::OperationInterfacePart::produce().
Referenced by RTT_corba_COperationInterface_i::callOperation(), RTT_corba_COperationInterface_i::checkOperation(), and RTT_corba_COperationInterface_i::sendOperation().
DataSourceBase::shared_ptr RTT::internal::OperationCallerC::getCallDataSource | ( | ) |
Get the contained data source for 'call'.
Definition at line 290 of file OperationCallerC.cpp.
Referenced by RTT_corba_COperationInterface_i::callOperation().
std::string const & RTT::internal::OperationCallerC::getName | ( | ) | const |
Returns the name of the operation that will be called.
Definition at line 286 of file OperationCallerC.cpp.
Referenced by RTT::internal::RemoteOperationCaller< OperationCallerT >::cloneI().
OperationInterfacePart * RTT::internal::OperationCallerC::getOrp | ( | ) | const |
Returns the factory which we use to produce the operation call.
Definition at line 282 of file OperationCallerC.cpp.
Referenced by RTT::internal::RemoteOperationCaller< OperationCallerT >::cloneI().
DataSourceBase::shared_ptr RTT::internal::OperationCallerC::getSendDataSource | ( | ) |
Get the contained data source for 'send'.
Definition at line 291 of file OperationCallerC.cpp.
base::DataSourceBase::shared_ptr RTT::internal::OperationCallerC::getSendHandleDataSource | ( | ) |
Get the contained data source for send handle.
OperationCallerC & RTT::internal::OperationCallerC::operator= | ( | const OperationCallerC & | other | ) |
A OperationCallerC is assignable.
Definition at line 158 of file OperationCallerC.cpp.
bool RTT::internal::OperationCallerC::ready | ( | ) | const |
Returns true if this method is ready for execution.
Definition at line 277 of file OperationCallerC.cpp.
Referenced by RTT_corba_COperationInterface_i::callOperation(), RTT::internal::RemoteOperationCaller< OperationCallerT >::ready(), and RTT_corba_COperationInterface_i::sendOperation().
OperationCallerC & RTT::internal::OperationCallerC::ret | ( | base::AttributeBase * | r | ) |
Store the result of the method in a task's attribute.
r | A task attribute in which the result is stored. |
Definition at line 192 of file OperationCallerC.cpp.
References RTT::Error, RTT::base::AttributeBase::getDataSource(), and RTT::internal::OperationCallerC::D::ret().
OperationCallerC & RTT::internal::OperationCallerC::ret | ( | base::DataSourceBase::shared_ptr | r | ) |
Store the result of the method in a DataSource.
r | A data source in which the result is stored. |
Definition at line 209 of file OperationCallerC.cpp.
References RTT::Error, and RTT::internal::OperationCallerC::D::ret().
|
inline |
Store the result of the method in variable.
r | A reference to the variable in which the result is stored. |
Definition at line 145 of file OperationCallerC.hpp.
SendHandleC RTT::internal::OperationCallerC::send | ( | ) |
Send the contained method.
The returned SendHandleC is properly constructed, but still requires the .arg() arguments. The arguments to provide are the ones that collect requires for the sent operation. Once they have been added to the SendHandleC, you can collect() on that object.
Definition at line 248 of file OperationCallerC.cpp.
References RTT::internal::OperationCallerC::D::args, RTT::OperationInterfacePart::arity(), RTT::Logger::endl(), RTT::Logger::Error, RTT::Error, RTT::OperationInterfacePart::getName(), RTT::Logger::log(), RTT::internal::OperationCallerC::D::mname, RTT::Logger::nl(), RTT::internal::OperationCallerC::D::ofp, RTT::OperationInterfacePart::produceHandle(), and RTT::no_asynchronous_operation_exception::what().
Referenced by RTT::internal::RemoteOperationCallerImpl< OperationCallerT >::send_impl(), and RTT_corba_COperationInterface_i::sendOperation().