OpenRTM-aist  2.1.0
LocalServiceBase.h
Go to the documentation of this file.
1 // -*- C++ -*-
19 #ifndef RTM_LOCALSERVICEBASE_H
20 #define RTM_LOCALSERVICEBASE_H
21 
22 #include <coil/Factory.h>
23 #include <coil/Timer.h>
24 #include <coil/Properties.h>
25 
26 #include <string>
27 #include <vector>
28 
29 namespace RTM
30 {
31 
32  // forward decl
33  class LocalServiceBase;
34 
43  {
44  public:
60  std::string name;
68  std::string uuid;
85  };
86 
94  using LocalServiceProfileList = std::vector<LocalServiceProfile>;
95 
198  {
199  public:
207  virtual ~LocalServiceBase() = default;
208 
224  virtual bool
225  init(const coil::Properties& props) = 0;
242  virtual bool
243  reinit(const coil::Properties& props) = 0;
244 
262  virtual const LocalServiceProfile&
263  getProfile() const = 0;
264 
279  virtual void
280  finalize() = 0;
281  };
282 
290  using LocalServiceFactory = ::coil::GlobalFactory< ::RTM::LocalServiceBase>;
291 } // namespace RTM
292 
293 
294 #if defined(WIN32) || defined(_WIN32) || defined(__WIN32__) || defined(__NT__)
302 EXTERN template class DLL_PLUGIN coil::GlobalFactory<RTM::LocalServiceBase >;
303 #elif defined(__GNUC__)
304 EXTERN template class coil::GlobalFactory<RTM::LocalServiceBase>;
305 #endif
306 
307 #endif // RTM_LOCALSERVICEBASE_H
Definition: LocalServiceBase.h:198
virtual bool init(const coil::Properties &props)=0
Initialization function of the LocalService class.
virtual const LocalServiceProfile & getProfile() const =0
Getting LocalServiceProfile.
virtual ~LocalServiceBase()=default
virtual destructor
virtual void finalize()=0
Finalization.
virtual bool reinit(const coil::Properties &props)=0
Reinitialization function of the LocalService class.
Profile data structure of LocalService.
Definition: LocalServiceBase.h:43
coil::Properties properties
Properties of LocalService.
Definition: LocalServiceBase.h:76
~LocalServiceProfile()
destructor
LocalServiceBase * service
The pointer to LocalService.
Definition: LocalServiceBase.h:84
std::string uuid
The unique ID of LocalService.
Definition: LocalServiceBase.h:68
std::string name
The name of LocalService.
Definition: LocalServiceBase.h:60
coil::Properties Properties
Definition: RTC.h:72
RT-Middleware.
Definition: FactoryInit.h:22
::coil::GlobalFactory< ::RTM::LocalServiceBase > LocalServiceFactory
typedef of sdoServiceProviderFactory
Definition: LocalServiceBase.h:290
std::vector< LocalServiceProfile > LocalServiceProfileList
List of LocalServiceProfile.
Definition: LocalServiceBase.h:94