Main Page | Namespace List | Class Hierarchy | Class List | Directories | File List | Namespace Members | Class Members | File Members

NumberingPolicy.h

Go to the documentation of this file.
00001 // -*- C++ -*-
00019 /*
00020  * $Log: NumberingPolicy.h,v $
00021  * Revision 1.1  2006/11/04 21:07:40  n-ando
00022  * Component numbering rule was derived into policy class.
00023  *
00024  */
00025 
00026 #ifndef NumberingPolicy_h
00027 #define NumberingPolicy_h
00028 
00029 #include <string>
00030 #include <vector>
00031 
00032 class NumberingPolicy
00033 {
00034  public:
00035   struct ObjectNotFound {};
00036   virtual std::string onCreate(void* obj) = 0;
00037   virtual void onDelete(void* obj) = 0;
00038 };
00039 
00040 
00041 class DefaultNumberingPolicy
00042   : public virtual NumberingPolicy 
00043 {
00044 public:
00045   DefaultNumberingPolicy() : m_num(0) {};
00046   virtual ~DefaultNumberingPolicy(){};
00047   virtual std::string onCreate(void* obj);
00048   virtual void onDelete(void* obj);
00049 
00050 protected:
00051   long int find(void* obj);
00052 
00053 private:
00054   int m_num;
00055   std::vector<void*> m_objects;
00056 };
00057 
00058 
00059 #endif // NumberingPolicy_h

Generated on Mon Jan 15 12:15:34 2007 for OpenRTM by  doxygen 1.4.1