$search
00001 #ifndef MHT_OBJECT_STORAGE_H_ 00002 #define MHT_OBJECT_STORAGE_H_ 00003 00004 #include <list> 00005 00006 namespace mhf { 00007 00008 class SemanticObject; 00009 class Evidence; 00010 class KnowledgeDatabase; 00011 00012 class ObjectStorage { 00013 00014 public: 00015 00016 static ObjectStorage& getInstance(); 00017 00018 virtual ~ObjectStorage(); 00019 00020 void addObject(SemanticObject* obj); 00021 00022 void removeObject(SemanticObject& obj); 00023 00024 long getUniqueID(); 00025 00026 void match(const Evidence& ev); 00027 00028 protected: 00029 00030 ObjectStorage(); 00031 00032 static ObjectStorage* instance_; 00033 00034 00035 long ID_; 00036 00037 std::list<SemanticObject*> objects_; 00038 00039 const KnowledgeDatabase& knowledge_db_; 00040 00041 }; 00042 00043 } 00044 00045 #endif