OpenRTM-aist 2.0.2
Loading...
Searching...
No Matches
LocalServiceAdmin.h
Go to the documentation of this file.
1// -*- C++ -*-
19#ifndef RTC_LOCALSERVICEADMIN_H
20#define RTC_LOCALSERVICEADMIN_H
21
22#include <coil/Factory.h>
23#include <coil/Singleton.h>
24
25#include <rtm/idl/SDOPackageStub.h>
26#include <rtm/SystemLogger.h>
28
29#include <string>
30#include <vector>
31
32namespace RTM
33{
34 // forward decl
35 class LocalServiceBase;
37 using ECDeleteFunc = void (*)(LocalServiceBase*);
38
62 : public coil::Singleton<LocalServiceAdmin>
63 {
64 public:
81
98
114 void init(coil::Properties& props);
115
131 void finalize();
132
149
176 bool getServiceProfile(const std::string& name,
178
206
221
235 bool removeLocalService(const std::string& name);
236
237 private:
245 bool isEnabled(const std::string& id, const coil::vstring& enabled);
246
254 bool notExisting(const std::string& id);
255
263 std::vector<LocalServiceBase*> m_services;
264 std::mutex m_services_mutex;
265
273 ::RTC::Logger rtclog;
274 };
275} // namespace RTM
276
277#endif // RTC_LOCALSERVICEADMIN_H
Local service provider base class and its factory.
RT component logger class.
Logger class.
Definition SystemLogger.h:101
Definition LocalServiceAdmin.h:63
::RTM::LocalServiceBase * getService(const char *id)
Get a pointer of a LocalService.
LocalServiceAdmin()
Constructor.
void finalize()
Finalization ofLocalServiceAdmin.
bool removeLocalService(const std::string &name)
Remove a LocalService.
bool addLocalService(::RTM::LocalServiceBase *service)
Set a SDO service provider.
::RTM::LocalServiceProfileList getServiceProfiles()
Getting LocalServiceProfileList.
bool getServiceProfile(const std::string &name, ::RTM::LocalServiceProfile &prof)
Get LocalServiceProfile of an LocalService.
virtual ~LocalServiceAdmin()
Virtual destractor.
void init(coil::Properties &props)
Initialization of LocalServiceAdmin.
Definition LocalServiceBase.h:198
Profile data structure of LocalService .
Definition LocalServiceBase.h:43
RT-Middleware.
Definition FactoryInit.h:22
LocalServiceBase *(*)() ECNewFunc
Definition LocalServiceAdmin.h:36
void(*)(LocalServiceBase *) ECDeleteFunc
Definition LocalServiceAdmin.h:37
std::vector< LocalServiceProfile > LocalServiceProfileList
List of LocalServiceProfile .
Definition LocalServiceBase.h:94