#include <CorbaOperationCallerFactory.hpp>
Public Types | |
typedef std::vector < base::DataSourceBase::shared_ptr > | CArguments |
typedef std::vector < ArgumentDescription > | CDescriptions |
typedef std::vector< std::string > | Members |
Public Member Functions | |
virtual unsigned int | arity () const |
virtual unsigned int | collectArity () const |
CorbaOperationCallerFactory (const std::string &method_name, corba::CService_ptr fact, PortableServer::POA_ptr the_poa) | |
virtual std::string | description () const |
virtual std::vector < ArgumentDescription > | getArgumentList () const |
virtual const types::TypeInfo * | getArgumentType (unsigned int i) const |
virtual const types::TypeInfo * | getCollectType (unsigned int i) const |
virtual std::string | getName () const |
corba::CService_ptr | getService () |
virtual 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 |
virtual std::string | resultType () const |
virtual | ~CorbaOperationCallerFactory () |
Private Attributes | |
std::string | method |
corba::CService_var | mfact |
PortableServer::POA_var | mpoa |
A local factory for creating remote Corba methods. It connects to an corba::Service and translates C++ calls to corba idl.
Definition at line 62 of file CorbaOperationCallerFactory.hpp.
typedef std::vector<base::DataSourceBase::shared_ptr> RTT::corba::CorbaOperationCallerFactory::CArguments |
Definition at line 69 of file CorbaOperationCallerFactory.hpp.
typedef std::vector< ArgumentDescription > RTT::corba::CorbaOperationCallerFactory::CDescriptions |
Definition at line 71 of file CorbaOperationCallerFactory.hpp.
typedef std::vector<std::string> RTT::corba::CorbaOperationCallerFactory::Members |
Definition at line 70 of file CorbaOperationCallerFactory.hpp.
CorbaOperationCallerFactory::CorbaOperationCallerFactory | ( | const std::string & | method_name, |
corba::CService_ptr | fact, | ||
PortableServer::POA_ptr | the_poa | ||
) |
Definition at line 53 of file CorbaOperationCallerFactory.cpp.
Definition at line 60 of file CorbaOperationCallerFactory.cpp.
unsigned int CorbaOperationCallerFactory::arity | ( | ) | const [virtual] |
Returns the arity (number of arguments) of this operation.
Implements RTT::OperationInterfacePart.
Definition at line 62 of file CorbaOperationCallerFactory.cpp.
unsigned int CorbaOperationCallerFactory::collectArity | ( | ) | const [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 66 of file CorbaOperationCallerFactory.cpp.
std::string CorbaOperationCallerFactory::description | ( | ) | const [virtual] |
Returns the description of this operation.
Implements RTT::OperationInterfacePart.
Definition at line 113 of file CorbaOperationCallerFactory.cpp.
std::vector< ArgumentDescription > CorbaOperationCallerFactory::getArgumentList | ( | ) | const [virtual] |
Get a description of the desired arguments in the ArgumentDescription format.
Implements RTT::OperationInterfacePart.
Definition at line 123 of file CorbaOperationCallerFactory.cpp.
const TypeInfo * CorbaOperationCallerFactory::getArgumentType | ( | unsigned int | arg | ) | const [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 70 of file CorbaOperationCallerFactory.cpp.
const TypeInfo * CorbaOperationCallerFactory::getCollectType | ( | unsigned int | arg | ) | const [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 89 of file CorbaOperationCallerFactory.cpp.
std::string CorbaOperationCallerFactory::getName | ( | ) | const [virtual] |
Returns the name of this operation.
Implements RTT::OperationInterfacePart.
Definition at line 109 of file CorbaOperationCallerFactory.cpp.
corba::CService_ptr RTT::corba::CorbaOperationCallerFactory::getService | ( | ) | [inline] |
Returns the remote service that hosts this part.
Definition at line 82 of file CorbaOperationCallerFactory.hpp.
base::DataSourceBase::shared_ptr CorbaOperationCallerFactory::produce | ( | const std::vector< base::DataSourceBase::shared_ptr > & | args, |
ExecutionEngine * | caller | ||
) | const [virtual] |
Create a DataSource for a given callable 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, in case it runs in the owner's thread. Normally, this is the engine of the caller's TaskContext. |
Implements RTT::OperationInterfacePart.
Definition at line 224 of file CorbaOperationCallerFactory.cpp.
base::DataSourceBase::shared_ptr CorbaOperationCallerFactory::produceCollect | ( | const std::vector< base::DataSourceBase::shared_ptr > & | args, |
internal::DataSource< bool >::shared_ptr | blocking | ||
) | const [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 378 of file CorbaOperationCallerFactory.cpp.
base::DataSourceBase::shared_ptr CorbaOperationCallerFactory::produceHandle | ( | ) | const [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 298 of file CorbaOperationCallerFactory.cpp.
base::DataSourceBase::shared_ptr CorbaOperationCallerFactory::produceSend | ( | const std::vector< base::DataSourceBase::shared_ptr > & | args, |
ExecutionEngine * | caller | ||
) | const [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 271 of file CorbaOperationCallerFactory.cpp.
std::string CorbaOperationCallerFactory::resultType | ( | ) | const [virtual] |
Return the result (return) type of this operation.
Implements RTT::OperationInterfacePart.
Definition at line 99 of file CorbaOperationCallerFactory.cpp.
std::string RTT::corba::CorbaOperationCallerFactory::method [private] |
Definition at line 67 of file CorbaOperationCallerFactory.hpp.
corba::CService_var RTT::corba::CorbaOperationCallerFactory::mfact [private] |
Definition at line 65 of file CorbaOperationCallerFactory.hpp.
PortableServer::POA_var RTT::corba::CorbaOperationCallerFactory::mpoa [private] |
Definition at line 66 of file CorbaOperationCallerFactory.hpp.