OpenRTM  1.0.0
NumberingPolicy.h
Go to the documentation of this file.
1 // -*- C++ -*-
20 #ifndef RTC_NUMBERINGPOLICY_H
21 #define RTC_NUMBERINGPOLICY_H
22 
23 #include <string>
24 #include <vector>
25 
55 {
56 public:
65  struct ObjectNotFound {};
66 
78  virtual ~NumberingPolicy(void){};
79 
103  virtual std::string onCreate(void* obj) = 0;
104 
124  virtual void onDelete(void* obj) = 0;
125 };
126 
150  : public NumberingPolicy
151 {
152 public:
168  DefaultNumberingPolicy() : m_num(0) {};
169 
181  virtual ~DefaultNumberingPolicy(void){};
182 
208  virtual std::string onCreate(void* obj);
209 
231  virtual void onDelete(void* obj);
232 
233 protected:
259  long int find(void* obj);
260 
261 private:
262  int m_num;
263  std::vector<void*> m_objects;
264 };
265 #endif // RTC_NUMBERINGPOLICY_H