00001 /*$$FILE$$*/ 00002 /*$$VERSION$$*/ 00003 /*$$DATE$$*/ 00004 /*$$LICENSE$$*/ 00005 00006 00014 #ifndef DICTOBJFILE_H 00015 #define DICTOBJFILE_H 00016 00017 00018 #include "mapped_ptr_vector.h" 00019 #include "mapped_ptr_vector.C" 00020 00021 #include "DictObjCont.h" 00022 00023 #include "DdlFile.h" 00024 #include "DicFile.h" 00025 00026 00041 class DictObjFile 00042 { 00043 public: 00044 00070 DictObjFile(const string& persStorFileName, const string& dicFileName = 00071 String::Empty, const string& ddlFileName = String::Empty, 00072 const bool verbose = false); 00073 00092 DictObjFile(const string& persStorFileName, const bool verbose); 00093 00108 ~DictObjFile(); 00109 00125 void Build(); 00126 00140 void Write(); 00141 00155 void Read(); 00156 00170 unsigned int GetNumDictionaries(); 00171 00186 void GetDictionaryNames(vector<string>& dictNames); 00187 00202 DictObjCont& GetDictObjCont(const string& dictName); 00203 00217 void Print(); 00218 00219 private: 00220 bool _verbose; 00221 00222 string _ddlFileName; 00223 string _dicFileName; 00224 string _serFileName; 00225 00226 DdlFile& _ddlFile; 00227 DicFile& _dicFile; 00228 Serializer& _ser; 00229 00230 mapped_ptr_vector<DictObjCont> _dictionaries; 00231 00232 DictObjCont* _currDictObjContP; 00233 00234 void Init(); 00235 }; 00236 00237 00238 #endif // DICTOBJFILE_H 00239