|
RTC Toolkit
2.0.0
|
Container class that holds services of any type. More...
#include <serviceContainer.hpp>
Public Member Functions | |
| template<typename Service > | |
| void | Add (Service &&service, const std::string &name="") |
| Insert new service into the container. More... | |
| template<typename Service > | |
| void | Add (std::shared_ptr< Service > service, const std::string &name="") |
| Insert new service into the container. More... | |
| template<typename Service > | |
| Service & | Get (const std::string &name="") |
| Get a handle to a service. More... | |
| template<typename Service > | |
| bool | Contains (const std::string &name="") |
| Check if the service container holds a certain service. More... | |
| std::vector< std::string > | List () |
| List currently available services. More... | |
Container class that holds services of any type.
The class holds services which are identified by their type and name. Multiple services can be registered for a certain type. Users may request handles to these services.
Polymorphic services can be added as a specific type and retrieved as a generic type
|
inline |
Insert new service into the container.
This overload is used to add non-pointer type serives, which are moved into the container
| Service,type | of the service. |
| service | rvalue ref to the service. |
| name | name of the service. |
| rtctk::componentFramework::RtctkException | if service already registered |
|
inline |
Insert new service into the container.
This overload is used to add shared_pointer type serives, which are copied into the container
| Service,type | of the service. |
| service | rvalue ref to the service. |
| name | name of the service. |
| rtctk::componentFramework::RtctkException | if service already registered |
|
inline |
Check if the service container holds a certain service.
| Service,type | of the service. |
| name | optional: name of the service, if only 1 service of type Service is present, this argument can be ommited |
|
inline |
Get a handle to a service.
| Service,type | of the service. |
| name | optional: name of the service, if only 1 service of type Service is present, this argument can be ommited |
| rtctk::componentFramework::RtctkException | if service not found |
| std::vector< std::string > rtctk::componentFramework::ServiceContainer::List | ( | ) |
List currently available services.