00001 #ifndef _IT_REGISTRY_H_
00002 #define _IT_REGISTRY_H_
00003
00004
00005
00006
00007
00008 #include <it_bus/types.h>
00009 #include <it_bus/object_base.h>
00010
00011
00012 namespace IT_Bus
00013 {
00014 typedef ObjectBase RegistryBase;
00015
00016 template <
00017 typename Key,
00018 typename T>
00019 class Registry : public RegistryBase
00020 {
00021 public:
00022
00023 virtual bool
00024 register_entry(
00025 const Key& key,
00026 T* obj
00027 ) = 0;
00028
00029 virtual bool
00030 deregister_entry(
00031 const Key& key
00032 ) = 0;
00033
00034 virtual T*
00035 get_entry(
00036 const Key& key
00037 ) const = 0;
00038 };
00039
00040 }
00041
00042 #endif