00001 // $Header: /bes/bes/BossCvs/Calibration/rdbModel/rdbModel/Management/Manager.h,v 1.1.1.1 2005/10/17 06:10:53 maqm Exp $ 00002 #ifndef RDBMODEL_MANAGER_H 00003 #define RDBMODEL_MANAGER_H 00004 // #include <map> 00005 00006 #include "rdbModel/Management/Visitor.h" 00007 #include "rdbModel/Rdb.h" 00008 00009 namespace rdbModel{ 00010 00011 class Builder; 00012 00018 class Manager { 00019 public: 00020 // enum buildType{all,constants,sections,materials,idDictionary}; 00021 00022 00026 ~Manager(); 00027 00029 static Manager* getManager(); 00030 00032 void setBuilder(Builder * b); 00033 00037 int build(); 00038 00039 00041 void startVisitor(Visitor*); 00042 00043 void cleanRdb(); 00044 00048 Rdb* getRdb(){return m_rdb;}; 00049 00050 00051 void setInputSource(std::string pname){m_filename = pname;}; 00052 std::string getInputSourceString(){return m_filename;}; 00053 00054 // There will probably be some collection of get and set services... 00055 00056 00057 protected: 00061 Manager():m_builder(0) {m_rdb = new Rdb;}; 00062 00063 private: 00064 00068 Rdb * m_rdb; 00071 static Manager* s_pMyself; 00074 Builder * m_builder; 00075 00076 std::string m_filename; 00077 }; 00078 00079 } 00080 #endif //RDBMODEL_MANAGER_H 00081