OpenRTM-aist 2.0.2
Loading...
Searching...
No Matches
NumberingPolicyBase.h
Go to the documentation of this file.
1// -*- C++ -*-
18#ifndef RTC_NUMBERINGPOLICYBASE_H
19#define RTC_NUMBERINGPOLICYBASE_H
20
21#include <string>
22#include <vector>
23#include <coil/Factory.h>
24
25namespace RTM
26{
56 {
57 public:
66 struct ObjectNotFound {};
67
79 virtual ~NumberingPolicyBase() = default;
80
104 virtual std::string onCreate(void* obj) = 0;
105
125 virtual void onDelete(void* obj) = 0;
126 };
127
128 using NumberingPolicyFactory = coil::GlobalFactory<NumberingPolicyBase>;
129} // namespace RTM
130
131#if defined(WIN32) || defined(_WIN32) || defined(__WIN32__) || defined(__NT__)
132EXTERN template class DLL_PLUGIN coil::GlobalFactory<RTM::NumberingPolicyBase>;
133#elif defined(__GNUC__)
134EXTERN template class coil::GlobalFactory<RTM::NumberingPolicyBase>;
135#endif
136
137#endif // RTC_NUMBERINGPOLICYBASE_H
Definition NumberingPolicyBase.h:56
virtual std::string onCreate(void *obj)=0
Create the name when creating objects.
virtual void onDelete(void *obj)=0
Delete the name when deleting objects.
virtual ~NumberingPolicyBase()=default
Virtual destractor.
RT-Middleware.
Definition FactoryInit.h:22
coil::GlobalFactory< NumberingPolicyBase > NumberingPolicyFactory
Definition NumberingPolicyBase.h:128
The structures for exception handling when object was not found. .
Definition NumberingPolicyBase.h:66