RTT::Service Class Reference
[Service Interface]

#include <Service.hpp>

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

List of all members.

Public Types

typedef OperationInterface Factory
typedef OperationInterface Factory
typedef std::vector< std::string > ProviderNames
typedef std::vector< std::string > ProviderNames
typedef boost::shared_ptr
< Service
shared_ptr
typedef boost::shared_ptr
< Service
shared_ptr

Public Member Functions

bool addLocalOperation (base::OperationBase &op)
bool addLocalOperation (base::OperationBase &op)
template<class Func >
Operation< Func > & addOperation (const std::string name, Func *func, ExecutionThread et=ClientThread)
template<class Func , class Service >
Operation< typename
internal::GetSignature< Func >
::Signature > & 
addOperation (const std::string name, Func func, Service *serv, ExecutionThread et=ClientThread)
template<class Signature >
Operation< Signature > & addOperation (Operation< Signature > &op)
template<class Func >
Operation< Func > & addOperation (const std::string name, Func *func, ExecutionThread et=ClientThread)
template<class Func , class Service >
Operation< typename
internal::GetSignature< Func >
::Signature > & 
addOperation (const std::string name, Func func, Service *serv, ExecutionThread et=ClientThread)
template<class Signature >
Operation< Signature > & addOperation (Operation< Signature > &op)
template<class Signature , class ObjT >
Operation< Signature > & addOperationDS (internal::DataSource< boost::shared_ptr< ObjT > > *sp, Operation< Signature > &op)
template<class Func , class ObjT >
Operation< typename
internal::GetSignatureDS< Func >
::Signature > & 
addOperationDS (const std::string &name, Func func, internal::DataSource< boost::shared_ptr< ObjT > > *sp, ExecutionThread et=ClientThread)
template<class Signature , class ObjT >
Operation< Signature > & addOperationDS (internal::DataSource< boost::shared_ptr< ObjT > > *sp, Operation< Signature > &op)
template<class Func , class ObjT >
Operation< typename
internal::GetSignatureDS< Func >
::Signature > & 
addOperationDS (const std::string &name, Func func, internal::DataSource< boost::shared_ptr< ObjT > > *sp, ExecutionThread et=ClientThread)
virtual bool addService (shared_ptr obj)
virtual bool addService (shared_ptr obj)
template<class Func , class Service >
Operation< typename
internal::GetSignature< Func >
::Signature > & 
addSynchronousOperation (const std::string name, Func func, Service *serv, ExecutionThread et=ClientThread)
template<class Signature >
Operation< Signature > & addSynchronousOperation (Operation< Signature > &op)
template<class Func , class Service >
Operation< typename
internal::GetSignature< Func >
::Signature > & 
addSynchronousOperation (const std::string name, Func func, Service *serv, ExecutionThread et=ClientThread)
template<class Signature >
Operation< Signature > & addSynchronousOperation (Operation< Signature > &op)
void clear ()
void clear ()
internal::OperationCallerC create (std::string name, ExecutionEngine *caller)
internal::OperationCallerC create (std::string name, ExecutionEngine *caller)
void doc (const std::string &description)
const std::string & doc () const
void doc (const std::string &description)
const std::string & doc () const
boost::shared_ptr
< base::DisposableInterface
getLocalOperation (std::string name)
boost::shared_ptr
< base::DisposableInterface
getLocalOperation (std::string name)
const std::string & getName () const
const std::string & getName () const
base::DataSourceBase::shared_ptr getOperation (std::string name, const std::vector< base::DataSourceBase::shared_ptr > &args, ExecutionEngine *caller) const
OperationInterfacePartgetOperation (std::string name)
base::DataSourceBase::shared_ptr getOperation (std::string name, const std::vector< base::DataSourceBase::shared_ptr > &args, ExecutionEngine *caller) const
OperationInterfacePartgetOperation (std::string name)
std::vector< std::string > getOperationNames () const
std::vector< std::string > getOperationNames () const
TaskContextgetOwner () const
TaskContextgetOwner () const
shared_ptr getParent () const
shared_ptr getParent () const
virtual ProviderNames getProviderNames () const
virtual ProviderNames getProviderNames () const
shared_ptr getService (const std::string &service_name)
shared_ptr getService (const std::string &service_name)
bool hasOperation (const std::string &name) const
bool hasOperation (const std::string &name) const
bool hasService (const std::string &service_name)
bool hasService (const std::string &service_name)
Service::shared_ptr provides (const std::string &service_name)
Service::shared_ptr provides ()
Service::shared_ptr provides (const std::string &service_name)
Service::shared_ptr provides ()
void removeOperation (const std::string &name)
void removeOperation (const std::string &name)
virtual void removeService (std::string const &service_name)
virtual void removeService (std::string const &service_name)
bool resetOperation (std::string name, base::OperationBase *impl)
bool resetOperation (std::string name, base::OperationBase *impl)
 Service (const std::string &name, TaskContext *owner=0)
 Service (const std::string &name, TaskContext *owner=0)
void setName (const std::string &name)
void setName (const std::string &name)
bool setOperationThread (std::string const &name, ExecutionThread et)
bool setOperationThread (std::string const &name, ExecutionThread et)
void setOwner (TaskContext *new_owner)
void setOwner (TaskContext *new_owner)
void setParent (shared_ptr new_parent)
void setParent (shared_ptr new_parent)
virtual ~Service ()
virtual ~Service ()

Static Public Member Functions

static Service::shared_ptr Create (const std::string &name, TaskContext *owner=0)
static Service::shared_ptr Create (const std::string &name, TaskContext *owner=0)

Protected Types

typedef std::vector
< base::OperationBase * > 
OperationList
typedef std::vector
< base::OperationBase * > 
OperationList
typedef std::map< std::string,
shared_ptr
Services
typedef std::map< std::string,
shared_ptr
Services
typedef std::map< std::string,
base::OperationBase * > 
SimpleOperations
typedef std::map< std::string,
base::OperationBase * > 
SimpleOperations

Protected Member Functions

bool testOperation (base::OperationBase &op)
bool testOperation (base::OperationBase &op)

Protected Attributes

std::string mdescription
std::string mname
TaskContextmowner
OperationList ownedoperations
shared_ptr parent
Services services
 the services we implement.
SimpleOperations simpleoperations

Detailed Description

This class allows storage and retrieval of operations, attributes and properties provided by a component.

Services can be nested in sub-services, although this is rare.

Definition at line 81 of file install/include/rtt/Service.hpp.


Member Typedef Documentation

Definition at line 76 of file rtt/Service.hpp.

Definition at line 92 of file install/include/rtt/Service.hpp.

typedef std::vector<base::OperationBase*> RTT::Service::OperationList [protected]

Definition at line 440 of file rtt/Service.hpp.

typedef std::vector<base::OperationBase*> RTT::Service::OperationList [protected]

Definition at line 456 of file install/include/rtt/Service.hpp.

typedef std::vector<std::string> RTT::Service::ProviderNames

Definition at line 78 of file rtt/Service.hpp.

typedef std::vector<std::string> RTT::Service::ProviderNames

Definition at line 94 of file install/include/rtt/Service.hpp.

typedef std::map< std::string, shared_ptr > RTT::Service::Services [protected]

Definition at line 434 of file rtt/Service.hpp.

typedef std::map< std::string, shared_ptr > RTT::Service::Services [protected]

Definition at line 450 of file install/include/rtt/Service.hpp.

typedef boost::shared_ptr<Service> RTT::Service::shared_ptr
typedef boost::shared_ptr<Service> RTT::Service::shared_ptr
typedef std::map<std::string,base::OperationBase* > RTT::Service::SimpleOperations [protected]

Definition at line 439 of file rtt/Service.hpp.

typedef std::map<std::string,base::OperationBase* > RTT::Service::SimpleOperations [protected]

Definition at line 455 of file install/include/rtt/Service.hpp.


Constructor & Destructor Documentation

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

Creates a Service with a name and an owner. Each service must be owned by a TaskContext and the owner can be set afterwards with setOwner.

Parameters:
name The name of this service.
owner The TaskContext that will execute the operations of this service.
Warning:
When using boost < 1.40, the owner is not stored in the Service, until the Service object is effectively added to the TaskContext.
See also:
getOwner()

Definition at line 59 of file Service.cpp.

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

Definition at line 72 of file Service.cpp.

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

Creates a Service with a name and an owner. Each service must be owned by a TaskContext and the owner can be set afterwards with setOwner.

Parameters:
name The name of this service.
owner The TaskContext that will execute the operations of this service.
Warning:
When using boost < 1.40, the owner is not stored in the Service, until the Service object is effectively added to the TaskContext.
See also:
getOwner()
virtual RTT::Service::~Service (  )  [virtual]

Member Function Documentation

bool RTT::Service::addLocalOperation ( base::OperationBase op  ) 

Add an Operation object to the operation interface. This version of addOperation does not add the Operation object to the remote interface and only to the local, in-process C++ interface.

Note:
Do not use this function unless you know what you're doing.
See also:
addOperation() for adding normal, remotely available operations.
Parameters:
op The Operation object to add
Returns:
true if it could be added, false otherwise.
bool RTT::Service::addLocalOperation ( base::OperationBase op  ) 

Add an Operation object to the operation interface. This version of addOperation does not add the Operation object to the remote interface and only to the local, in-process C++ interface.

Note:
Do not use this function unless you know what you're doing.
See also:
addOperation() for adding normal, remotely available operations.
Parameters:
op The Operation object to add
Returns:
true if it could be added, false otherwise.

Definition at line 171 of file Service.cpp.

template<class Func >
Operation< Func >& RTT::Service::addOperation ( const std::string  name,
Func *  func,
ExecutionThread  et = ClientThread 
) [inline]

Add an operation to the interface by means of a C function. The function func must be a C function.

Parameters:
name The name of the new operation
func A pointer to a C function, for example, &foo (or a static C++ class function).
et The ExecutionThread choice: will the owning TaskContext of this service execute the function func in its own thread, or will the client's thread (the caller) execute func ?
Returns:
A newly created operation object, which you may further document or query.

Definition at line 342 of file rtt/Service.hpp.

template<class Func , class Service >
Operation< typename internal::GetSignature<Func>::Signature >& RTT::Service::addOperation ( const std::string  name,
Func  func,
Service serv,
ExecutionThread  et = ClientThread 
) [inline]

Add an operation to the interface by means of a C++ function. The function func must be a C++ member function and serv is the object having that function.

Parameters:
name The name of the new operation
func A pointer to a function, for example, &Bar::foo (C++ class function).
serv A pointer to the object that will execute the function.
et The ExecutionThread choice: will the owning TaskContext of this service execute the function func in its own thread, or will the client's thread (the caller) execute func ?
Returns:
A newly created operation object, which you may further document or query.

Definition at line 321 of file rtt/Service.hpp.

template<class Signature >
Operation<Signature>& RTT::Service::addOperation ( Operation< Signature > &  op  )  [inline]

Add an operation object to the interface. This version of addOperation exports an existing Operation object to the public interface of this component.

Parameters:
op The operation object to add.
Returns:
The given parameter op

Definition at line 281 of file rtt/Service.hpp.

template<class Func >
Operation< Func >& RTT::Service::addOperation ( const std::string  name,
Func *  func,
ExecutionThread  et = ClientThread 
) [inline]

Add an operation to the interface by means of a C function. The function func must be a C function.

Parameters:
name The name of the new operation
func A pointer to a C function, for example, &foo (or a static C++ class function).
et The ExecutionThread choice: will the owning TaskContext of this service execute the function func in its own thread, or will the client's thread (the caller) execute func ?
Returns:
A newly created operation object, which you may further document or query.

Definition at line 358 of file install/include/rtt/Service.hpp.

template<class Func , class Service >
Operation< typename internal::GetSignature<Func>::Signature >& RTT::Service::addOperation ( const std::string  name,
Func  func,
Service serv,
ExecutionThread  et = ClientThread 
) [inline]

Add an operation to the interface by means of a C++ function. The function func must be a C++ member function and serv is the object having that function.

Parameters:
name The name of the new operation
func A pointer to a function, for example, &Bar::foo (C++ class function).
serv A pointer to the object that will execute the function.
et The ExecutionThread choice: will the owning TaskContext of this service execute the function func in its own thread, or will the client's thread (the caller) execute func ?
Returns:
A newly created operation object, which you may further document or query.

Definition at line 337 of file install/include/rtt/Service.hpp.

template<class Signature >
Operation<Signature>& RTT::Service::addOperation ( Operation< Signature > &  op  )  [inline]

Add an operation object to the interface. This version of addOperation exports an existing Operation object to the public interface of this component.

Parameters:
op The operation object to add.
Returns:
The given parameter op

Definition at line 297 of file install/include/rtt/Service.hpp.

template<class Signature , class ObjT >
Operation<Signature>& RTT::Service::addOperationDS ( internal::DataSource< boost::shared_ptr< ObjT > > *  sp,
Operation< Signature > &  op 
) [inline]

For internal use only. The pointer of the object of which a member function must be invoked is stored in a internal::DataSource such that the pointer can change during program execution. Required in scripting for state machines.

Definition at line 394 of file rtt/Service.hpp.

template<class Func , class ObjT >
Operation< typename internal::GetSignatureDS<Func>::Signature>& RTT::Service::addOperationDS ( const std::string &  name,
Func  func,
internal::DataSource< boost::shared_ptr< ObjT > > *  sp,
ExecutionThread  et = ClientThread 
) [inline]

For internal use only. The pointer of the object of which a member function must be invoked is stored in a internal::DataSource such that the pointer can change during program execution. Required in scripting for state machines.

Definition at line 379 of file rtt/Service.hpp.

template<class Signature , class ObjT >
Operation<Signature>& RTT::Service::addOperationDS ( internal::DataSource< boost::shared_ptr< ObjT > > *  sp,
Operation< Signature > &  op 
) [inline]

For internal use only. The pointer of the object of which a member function must be invoked is stored in a internal::DataSource such that the pointer can change during program execution. Required in scripting for state machines.

Definition at line 410 of file install/include/rtt/Service.hpp.

template<class Func , class ObjT >
Operation< typename internal::GetSignatureDS<Func>::Signature>& RTT::Service::addOperationDS ( const std::string &  name,
Func  func,
internal::DataSource< boost::shared_ptr< ObjT > > *  sp,
ExecutionThread  et = ClientThread 
) [inline]

For internal use only. The pointer of the object of which a member function must be invoked is stored in a internal::DataSource such that the pointer can change during program execution. Required in scripting for state machines.

Definition at line 395 of file install/include/rtt/Service.hpp.

virtual bool RTT::Service::addService ( shared_ptr  obj  )  [virtual]

Add a new Service to this TaskContext.

Parameters:
obj This object becomes owned by this TaskContext.
Returns:
true if it could be added, false if such service already exists.
bool RTT::Service::addService ( Service::shared_ptr  obj  )  [virtual]

Add a new Service to this TaskContext.

Parameters:
obj This object becomes owned by this TaskContext.
Returns:
true if it could be added, false if such service already exists.

Definition at line 81 of file Service.cpp.

template<class Func , class Service >
Operation< typename internal::GetSignature<Func>::Signature >& RTT::Service::addSynchronousOperation ( const std::string  name,
Func  func,
Service serv,
ExecutionThread  et = ClientThread 
) [inline]

Add an operation to the synchronous interface by means of a function. The function func must be a C++ function.

Parameters:
name The name of the new operation
func A pointer to a function, for example &Bar::foo (C++ class function).
serv A pointer to the object that will execute the function in case of a C++ class function,
et The ExecutionThread choice: will the owning TaskContext of this service execute the function func in its own thread, or will the client's thread (the caller) execute func ?
Returns:
A newly created operation object, which you may further document or query.

Definition at line 365 of file rtt/Service.hpp.

template<class Signature >
Operation<Signature>& RTT::Service::addSynchronousOperation ( Operation< Signature > &  op  )  [inline]

Add an operation object to the interface. This version exports an existing Operation object to the synchronous interface of the component

Parameters:
op The operation object to add.
Returns:
The given parameter op

Definition at line 298 of file rtt/Service.hpp.

template<class Func , class Service >
Operation< typename internal::GetSignature<Func>::Signature >& RTT::Service::addSynchronousOperation ( const std::string  name,
Func  func,
Service serv,
ExecutionThread  et = ClientThread 
) [inline]

Add an operation to the synchronous interface by means of a function. The function func must be a C++ function.

Parameters:
name The name of the new operation
func A pointer to a function, for example &Bar::foo (C++ class function).
serv A pointer to the object that will execute the function in case of a C++ class function,
et The ExecutionThread choice: will the owning TaskContext of this service execute the function func in its own thread, or will the client's thread (the caller) execute func ?
Returns:
A newly created operation object, which you may further document or query.

Definition at line 381 of file install/include/rtt/Service.hpp.

template<class Signature >
Operation<Signature>& RTT::Service::addSynchronousOperation ( Operation< Signature > &  op  )  [inline]

Add an operation object to the interface. This version exports an existing Operation object to the synchronous interface of the component

Parameters:
op The operation object to add.
Returns:
The given parameter op

Definition at line 314 of file install/include/rtt/Service.hpp.

void RTT::Service::clear (  ) 

Clear all added operations from the repository, saving memory space.

Reimplemented from RTT::ConfigurationInterface.

Reimplemented in RTT::scripting::ScriptingService, and RTT::scripting::ScriptingService.

void RTT::Service::clear (  ) 

Clear all added operations from the repository, saving memory space.

Reimplemented from RTT::ConfigurationInterface.

Reimplemented in RTT::scripting::ScriptingService, and RTT::scripting::ScriptingService.

Definition at line 195 of file Service.cpp.

internal::OperationCallerC RTT::Service::create ( std::string  name,
ExecutionEngine caller 
)

Create a OperationCallerC object, a template-less operation invocation object. This function is inferior to getOperation(std::string name).

Parameters:
name The name of the operation
Returns:
An object which can invoke a operation.
static Service::shared_ptr RTT::Service::Create ( const std::string &  name,
TaskContext owner = 0 
) [static]

Creates a Service with a name and an owner. Each service must be owned by a TaskContext and the owner can be set afterwards with setOwner.

Parameters:
name The name of this service.
owner The TaskContext that will execute the operations of this service.
Warning:
When using boost < 1.40, the owner is not stored in the Service, until the Service object is effectively added to the TaskContext.
See also:
getOwner()
internal::OperationCallerC RTT::Service::create ( std::string  name,
ExecutionEngine caller 
)

Create a OperationCallerC object, a template-less operation invocation object. This function is inferior to getOperation(std::string name).

Parameters:
name The name of the operation
Returns:
An object which can invoke a operation.

Definition at line 253 of file Service.cpp.

Service::shared_ptr RTT::Service::Create ( const std::string &  name,
TaskContext owner = 0 
) [static]

Creates a Service with a name and an owner. Each service must be owned by a TaskContext and the owner can be set afterwards with setOwner.

Parameters:
name The name of this service.
owner The TaskContext that will execute the operations of this service.
Warning:
When using boost < 1.40, the owner is not stored in the Service, until the Service object is effectively added to the TaskContext.
See also:
getOwner()

Definition at line 52 of file Service.cpp.

void RTT::Service::doc ( const std::string &  description  )  [inline]

Sets the descriptive text for this service.

Definition at line 119 of file rtt/Service.hpp.

const std::string& RTT::Service::doc (  )  const [inline]

Returns a descriptive text for this service.

Definition at line 114 of file rtt/Service.hpp.

void RTT::Service::doc ( const std::string &  description  )  [inline]

Sets the descriptive text for this service.

Definition at line 135 of file install/include/rtt/Service.hpp.

const std::string& RTT::Service::doc (  )  const [inline]

Returns a descriptive text for this service.

Definition at line 130 of file install/include/rtt/Service.hpp.

boost::shared_ptr<base::DisposableInterface> RTT::Service::getLocalOperation ( std::string  name  ) 

Get a locally added operation from this interface.

Note:
Do not use this function unless you know what you're doing.
See also:
getOperation() for getting normal, remotely available operations.
boost::shared_ptr< base::DisposableInterface > RTT::Service::getLocalOperation ( std::string  name  ) 

Get a locally added operation from this interface.

Note:
Do not use this function unless you know what you're doing.
See also:
getOperation() for getting normal, remotely available operations.

Definition at line 188 of file Service.cpp.

const std::string& RTT::Service::getName ( void   )  const [inline]

Returns the name of this service instance.

Definition at line 109 of file rtt/Service.hpp.

const std::string& RTT::Service::getName (  )  const [inline]

Returns the name of this service instance.

Definition at line 125 of file install/include/rtt/Service.hpp.

base::DataSourceBase::shared_ptr RTT::Service::getOperation ( std::string  name,
const std::vector< base::DataSourceBase::shared_ptr > &  args,
ExecutionEngine caller 
) const [inline]

For internal use only. Get a previously added operation as a DataSource. This function is inferior to getOperation(std::string name)

Parameters:
name The name of the operation
args The arguments of the operation as Data Sources.
Returns:
A internal::DataSource which, when evaluated, invokes the operation.

Definition at line 413 of file rtt/Service.hpp.

OperationInterfacePart* RTT::Service::getOperation ( std::string  name  ) 

Get a previously added operation for use in a C++ OperationCaller object. Store the result of this function in a OperationCaller<Signature> object.

Parameters:
name The name of the operation to retrieve.
Returns:
A pointer to an operation interface part or a null pointer if name was not found.
base::DataSourceBase::shared_ptr RTT::Service::getOperation ( std::string  name,
const std::vector< base::DataSourceBase::shared_ptr > &  args,
ExecutionEngine caller 
) const [inline]

For internal use only. Get a previously added operation as a DataSource. This function is inferior to getOperation(std::string name)

Parameters:
name The name of the operation
args The arguments of the operation as Data Sources.
Returns:
A internal::DataSource which, when evaluated, invokes the operation.

Definition at line 429 of file install/include/rtt/Service.hpp.

OperationInterfacePart * RTT::Service::getOperation ( std::string  name  ) 

Get a previously added operation for use in a C++ OperationCaller object. Store the result of this function in a OperationCaller<Signature> object.

Parameters:
name The name of the operation to retrieve.
Returns:
A pointer to an operation interface part or a null pointer if name was not found.

Definition at line 135 of file Service.cpp.

std::vector<std::string> RTT::Service::getOperationNames (  )  const

Returns the names of all operations added to this interface.

See also:
getNames() to get a list of all operations available to scripting.
std::vector< std::string > RTT::Service::getOperationNames (  )  const

Returns the names of all operations added to this interface.

See also:
getNames() to get a list of all operations available to scripting.

Definition at line 212 of file Service.cpp.

TaskContext* RTT::Service::getOwner (  )  const [inline]

The owner is the top-level TaskContext owning this service (indirectly). A Service can only belong to one TaskContext.

Note:
This function will only return the owner after the Service has been added to the TaskContext.

Reimplemented from RTT::DataFlowInterface.

Definition at line 155 of file rtt/Service.hpp.

TaskContext* RTT::Service::getOwner (  )  const [inline]

The owner is the top-level TaskContext owning this service (indirectly). A Service can only belong to one TaskContext.

Note:
This function will only return the owner after the Service has been added to the TaskContext.

Reimplemented from RTT::DataFlowInterface.

Definition at line 171 of file install/include/rtt/Service.hpp.

shared_ptr RTT::Service::getParent (  )  const [inline]

The parent is the direct parent of this service.

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

shared_ptr RTT::Service::getParent (  )  const [inline]

The parent is the direct parent of this service.

Definition at line 157 of file install/include/rtt/Service.hpp.

virtual ProviderNames RTT::Service::getProviderNames (  )  const [virtual]

Return a standard container which contains all the sub-service names of this Service

vector< string > RTT::Service::getProviderNames (  )  const [virtual]

Return a standard container which contains all the sub-service names of this Service

Definition at line 77 of file Service.cpp.

shared_ptr RTT::Service::getService ( const std::string &  service_name  ) 

Returns a shared pointer to strictly a sub-service. This method will not return the this pointer when service_name equals "this".

Service::shared_ptr RTT::Service::getService ( const std::string &  service_name  ) 

Returns a shared pointer to strictly a sub-service. This method will not return the this pointer when service_name equals "this".

Definition at line 128 of file Service.cpp.

bool RTT::Service::hasOperation ( const std::string &  name  )  const

Query for the existence of a Operation in this interface.

See also:
hasMember() to verify if a operation is available to scripting as well.
bool RTT::Service::hasOperation ( const std::string &  name  )  const

Query for the existence of a Operation in this interface.

See also:
hasMember() to verify if a operation is available to scripting as well.

Definition at line 218 of file Service.cpp.

bool RTT::Service::hasService ( const std::string &  service_name  ) 

Check if this service has the sub-service service_name.

bool RTT::Service::hasService ( const std::string &  service_name  ) 

Check if this service has the sub-service service_name.

Definition at line 165 of file Service.cpp.

Service::shared_ptr RTT::Service::provides ( const std::string &  service_name  ) 

Returns a sub-Service which resorts under this Service.

Parameters:
service_name The name of the sub-service.
Service::shared_ptr RTT::Service::provides (  ) 

Returns this Service.

Returns:
a shared pointer from this.
Service::shared_ptr RTT::Service::provides ( const std::string &  service_name  ) 

Returns a sub-Service which resorts under this Service.

Parameters:
service_name The name of the sub-service.

Definition at line 115 of file Service.cpp.

Service::shared_ptr RTT::Service::provides (  ) 

Returns this Service.

Returns:
a shared pointer from this.

Definition at line 105 of file Service.cpp.

void RTT::Service::removeOperation ( const std::string &  name  ) 

Removes a previously added operation.

void RTT::Service::removeOperation ( const std::string &  name  ) 

Removes a previously added operation.

Definition at line 224 of file Service.cpp.

virtual void RTT::Service::removeService ( std::string const &  service_name  )  [virtual]

Remove a previously added sub-service.

Parameters:
the name of the service to remove.
virtual void RTT::Service::removeService ( std::string const &  service_name  )  [virtual]

Remove a previously added sub-service.

Parameters:
the name of the service to remove.
bool RTT::Service::resetOperation ( std::string  name,
base::OperationBase impl 
)

Reset the implementation of a operation.

bool RTT::Service::resetOperation ( std::string  name,
base::OperationBase impl 
)

Reset the implementation of a operation.

Definition at line 145 of file Service.cpp.

void RTT::Service::setName ( const std::string &  name  )  [inline]

Changes the name of this service.

Definition at line 124 of file rtt/Service.hpp.

void RTT::Service::setName ( const std::string &  name  )  [inline]

Changes the name of this service.

Definition at line 140 of file install/include/rtt/Service.hpp.

bool RTT::Service::setOperationThread ( std::string const &  name,
ExecutionThread  et 
)

Sets the thread of execution of a previously added operation. Only the component itself should modify this property. Don't call this function from outside the component, it has unspecified behaviour when not called from within one of the member functions or a service of the current component.

This function is typically used to change the ExecutionThread of the standard component hooks such as startHook(), configureHook() etc. which all have the ClientThread policy by default.

Parameters:
name The name of the operation to modify. For example, "start".
et The ExecutionThread type in which the function of the operation will be executed, being OwnThread or ClientThread.
Returns:
true if name was a local, present operation, false otherwise.
bool RTT::Service::setOperationThread ( std::string const &  name,
ExecutionThread  et 
)

Sets the thread of execution of a previously added operation. Only the component itself should modify this property. Don't call this function from outside the component, it has unspecified behaviour when not called from within one of the member functions or a service of the current component.

This function is typically used to change the ExecutionThread of the standard component hooks such as startHook(), configureHook() etc. which all have the ClientThread policy by default.

Parameters:
name The name of the operation to modify. For example, "start".
et The ExecutionThread type in which the function of the operation will be executed, being OwnThread or ClientThread.
Returns:
true if name was a local, present operation, false otherwise.

Definition at line 153 of file Service.cpp.

void RTT::Service::setOwner ( TaskContext new_owner  ) 

Sets the owning TaskContext that will execute the operations in this service.

void RTT::Service::setOwner ( TaskContext new_owner  ) 

Sets the owning TaskContext that will execute the operations in this service.

Definition at line 236 of file Service.cpp.

void RTT::Service::setParent ( shared_ptr  new_parent  ) 

Sets the parent service in case this service is a sub-service.

void RTT::Service::setParent ( Service::shared_ptr  p  ) 

Sets the parent service in case this service is a sub-service.

Definition at line 249 of file Service.cpp.

bool RTT::Service::testOperation ( base::OperationBase op  )  [protected]
bool RTT::Service::testOperation ( base::OperationBase op  )  [protected]

Member Data Documentation

std::string RTT::Service::mdescription [protected]

Definition at line 460 of file install/include/rtt/Service.hpp.

std::string RTT::Service::mname [protected]

Definition at line 459 of file install/include/rtt/Service.hpp.

Definition at line 461 of file install/include/rtt/Service.hpp.

Definition at line 458 of file install/include/rtt/Service.hpp.

Definition at line 462 of file install/include/rtt/Service.hpp.

the services we implement.

Definition at line 452 of file install/include/rtt/Service.hpp.

Definition at line 457 of file install/include/rtt/Service.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