RTT::ServiceRequester Class Reference
[Service Interface]

#include <ServiceRequester.hpp>

Inheritance diagram for RTT::ServiceRequester:
Inheritance graph
[legend]

List of all members.

Public Types

typedef std::vector< std::string > OperationCallerNames
typedef std::vector< std::string > OperationCallerNames
typedef std::vector< std::string > RequesterNames
typedef std::vector< std::string > RequesterNames

Public Member Functions

bool addOperationCaller (base::OperationCallerBaseInvoker &mbi)
bool addOperationCaller (base::OperationCallerBaseInvoker &mbi)
bool connectTo (Service::shared_ptr sp)
bool connectTo (Service::shared_ptr sp)
void disconnect ()
void disconnect ()
base::OperationCallerBaseInvokergetOperationCaller (const std::string &name)
base::OperationCallerBaseInvokergetOperationCaller (const std::string &name)
OperationCallerNames getOperationCallerNames () const
OperationCallerNames getOperationCallerNames () const
Service::shared_ptr getReferencedService ()
Service::shared_ptr getReferencedService ()
RequesterNames getRequesterNames () const
RequesterNames getRequesterNames () const
const std::string & getRequestName () const
const std::string & getRequestName () const
TaskContextgetServiceOwner () const
TaskContextgetServiceOwner () const
bool ready () const
bool ready () const
ServiceRequesterrequires (const std::string &service_name)
ServiceRequesterrequires ()
ServiceRequesterrequires (const std::string &service_name)
ServiceRequesterrequires ()
bool requiresService (const std::string &service_name)
bool requiresService (const std::string &service_name)
 ServiceRequester (const std::string &name, TaskContext *owner=0)
 ServiceRequester (const std::string &name, TaskContext *owner=0)
virtual ~ServiceRequester ()
virtual ~ServiceRequester ()

Protected Types

typedef std::map< std::string,
base::OperationCallerBaseInvoker * > 
OperationCallers
 Our methods.
typedef std::map< std::string,
base::OperationCallerBaseInvoker * > 
OperationCallers
 Our methods.
typedef std::map< std::string,
ServiceRequester * > 
Requests
typedef std::map< std::string,
ServiceRequester * > 
Requests

Protected Attributes

OperationCallers mmethods
Service::shared_ptr mprovider
Requests mrequests
 the services we implement.
std::string mrname
TaskContextmrowner

Detailed Description

An object that expresses you wish to use a service. The ServiceRequester is symmetrical to the Service. Where a Service registers operations that a component can execute ('provides'), the ServiceRequester registers the methods that a caller wishes to call ('requires'). One method in a ServiceRequester maps to one operation in a Service.

Typical use is to inherit from ServiceRequester and add named OperationCaller objects to it using addOperationCaller.

See also:
RTT::Scripting for an example.

Definition at line 64 of file install/include/rtt/ServiceRequester.hpp.


Member Typedef Documentation

typedef std::vector<std::string> RTT::ServiceRequester::OperationCallerNames

Definition at line 68 of file rtt/ServiceRequester.hpp.

typedef std::vector<std::string> RTT::ServiceRequester::OperationCallerNames

Definition at line 68 of file install/include/rtt/ServiceRequester.hpp.

Our methods.

Definition at line 146 of file rtt/ServiceRequester.hpp.

Our methods.

Definition at line 146 of file install/include/rtt/ServiceRequester.hpp.

typedef std::vector<std::string> RTT::ServiceRequester::RequesterNames

Definition at line 67 of file rtt/ServiceRequester.hpp.

typedef std::vector<std::string> RTT::ServiceRequester::RequesterNames

Definition at line 67 of file install/include/rtt/ServiceRequester.hpp.

typedef std::map< std::string, ServiceRequester* > RTT::ServiceRequester::Requests [protected]

Definition at line 141 of file rtt/ServiceRequester.hpp.

typedef std::map< std::string, ServiceRequester* > RTT::ServiceRequester::Requests [protected]

Definition at line 141 of file install/include/rtt/ServiceRequester.hpp.


Constructor & Destructor Documentation

RTT::ServiceRequester::ServiceRequester ( const std::string &  name,
TaskContext owner = 0 
)

Definition at line 54 of file ServiceRequester.cpp.

RTT::ServiceRequester::~ServiceRequester (  )  [virtual]

Definition at line 59 of file ServiceRequester.cpp.

RTT::ServiceRequester::ServiceRequester ( const std::string &  name,
TaskContext owner = 0 
)
virtual RTT::ServiceRequester::~ServiceRequester (  )  [virtual]

Member Function Documentation

bool RTT::ServiceRequester::addOperationCaller ( base::OperationCallerBaseInvoker mbi  ) 
bool RTT::ServiceRequester::addOperationCaller ( base::OperationCallerBaseInvoker mbi  ) 

Definition at line 63 of file ServiceRequester.cpp.

bool RTT::ServiceRequester::connectTo ( Service::shared_ptr  sp  ) 

Connects this service's methods to the operations provided by op. This method tries to match as many as possible method-operation pairs.

You may call this function with different instances of sp to 'resolve' missing functions, only the non-connected methods will be further filled in.

Parameters:
sp An interface-compatible Service.
Returns:
true if all methods of that are required are provided, false if not all methods could yet be matched.
bool RTT::ServiceRequester::connectTo ( Service::shared_ptr  sp  ) 

Connects this service's methods to the operations provided by op. This method tries to match as many as possible method-operation pairs.

You may call this function with different instances of sp to 'resolve' missing functions, only the non-connected methods will be further filled in.

Parameters:
sp An interface-compatible Service.
Returns:
true if all methods of that are required are provided, false if not all methods could yet be matched.

Definition at line 92 of file ServiceRequester.cpp.

void RTT::ServiceRequester::disconnect (  ) 

Disconnects all methods from their implementation.

void RTT::ServiceRequester::disconnect (  ) 

Disconnects all methods from their implementation.

Definition at line 125 of file ServiceRequester.cpp.

base::OperationCallerBaseInvoker* RTT::ServiceRequester::getOperationCaller ( const std::string &  name  ) 
OperationCallerBaseInvoker * RTT::ServiceRequester::getOperationCaller ( const std::string &  name  ) 

Definition at line 84 of file ServiceRequester.cpp.

OperationCallerNames RTT::ServiceRequester::getOperationCallerNames (  )  const
std::vector< std::string > RTT::ServiceRequester::getOperationCallerNames (  )  const

Definition at line 74 of file ServiceRequester.cpp.

Service::shared_ptr RTT::ServiceRequester::getReferencedService (  ) 

Returns the service we're referencing. In case you used connectTo to more than one service, this returns the service which was used when connectTo first returned true.

Service::shared_ptr RTT::ServiceRequester::getReferencedService (  ) 

Returns the service we're referencing. In case you used connectTo to more than one service, this returns the service which was used when connectTo first returned true.

RequesterNames RTT::ServiceRequester::getRequesterNames (  )  const
std::vector< std::string > RTT::ServiceRequester::getRequesterNames (  )  const

Definition at line 79 of file ServiceRequester.cpp.

const std::string& RTT::ServiceRequester::getRequestName ( void   )  const [inline]

Definition at line 72 of file rtt/ServiceRequester.hpp.

const std::string& RTT::ServiceRequester::getRequestName (  )  const [inline]

Definition at line 72 of file install/include/rtt/ServiceRequester.hpp.

TaskContext* RTT::ServiceRequester::getServiceOwner (  )  const [inline]

The owner is the top-level TaskContext owning this service (indirectly).

Definition at line 80 of file rtt/ServiceRequester.hpp.

TaskContext* RTT::ServiceRequester::getServiceOwner (  )  const [inline]

The owner is the top-level TaskContext owning this service (indirectly).

Definition at line 80 of file install/include/rtt/ServiceRequester.hpp.

bool RTT::ServiceRequester::ready (  )  const

Returns true when all methods were resolved.

Returns:
bool RTT::ServiceRequester::ready (  )  const

Returns true when all methods were resolved.

Returns:

Definition at line 132 of file ServiceRequester.cpp.

ServiceRequester* RTT::ServiceRequester::requires ( const std::string &  service_name  )  [inline]

Definition at line 98 of file rtt/ServiceRequester.hpp.

ServiceRequester* RTT::ServiceRequester::requires (  )  [inline]

Definition at line 96 of file rtt/ServiceRequester.hpp.

ServiceRequester* RTT::ServiceRequester::requires ( const std::string &  service_name  )  [inline]

Definition at line 98 of file install/include/rtt/ServiceRequester.hpp.

ServiceRequester* RTT::ServiceRequester::requires (  )  [inline]

Definition at line 96 of file install/include/rtt/ServiceRequester.hpp.

bool RTT::ServiceRequester::requiresService ( const std::string &  service_name  )  [inline]

Query if this service requires certain sub-services.

Parameters:
service_name 
Returns:

Definition at line 112 of file rtt/ServiceRequester.hpp.

bool RTT::ServiceRequester::requiresService ( const std::string &  service_name  )  [inline]

Query if this service requires certain sub-services.

Parameters:
service_name 
Returns:

Definition at line 112 of file install/include/rtt/ServiceRequester.hpp.


Member Data Documentation

Definition at line 147 of file install/include/rtt/ServiceRequester.hpp.

Definition at line 151 of file install/include/rtt/ServiceRequester.hpp.

the services we implement.

Definition at line 143 of file install/include/rtt/ServiceRequester.hpp.

std::string RTT::ServiceRequester::mrname [protected]

Definition at line 149 of file install/include/rtt/ServiceRequester.hpp.

Definition at line 150 of file install/include/rtt/ServiceRequester.hpp.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines


rtt
Author(s): RTT Developers
autogenerated on Fri Jan 11 09:49:49 2013