CifDataInfo.h

Go to the documentation of this file.
00001 //$$FILE$$
00002 //$$VERSION$$
00003 //$$DATE$$
00004 //$$LICENSE$$
00005 
00006 
00014 #ifndef CIFDATAINFO_H
00015 #define CIFDATAINFO_H
00016 
00017 
00018 #include <string>
00019 #include <vector>
00020 
00021 #include "DataInfo.h"
00022 #include "DicFile.h"
00023 
00024 
00025 class CifDataInfo : public DataInfo
00026 {
00027   public:
00028     CifDataInfo(DicFile& dictFile);
00029     ~CifDataInfo();
00030 
00031     void GetVersion(std::string& version);
00032 
00033     const std::vector<std::string>& GetCatNames();
00034 
00035     const std::vector<std::string>& GetItemsNames();
00036 
00037     bool IsCatDefined(const std::string& catName) const;
00038 
00039     bool IsItemDefined(const std::string& itemName);
00040 
00041     const std::vector<std::string>& GetCatKeys(const std::string& catName);
00042 
00043     const std::vector<std::string>& GetCatAttribute(const std::string& catName,
00044       const std::string& refCatName, const std::string& refAttrName);
00045 
00046     const std::vector<std::string>&
00047       GetItemAttribute(const std::string& itemName,
00048       const std::string& refCatName, const std::string& refAttrName);
00049 
00050     virtual void GetCatItemsNames(std::vector<std::string>& itemsNames,
00051       const std::string& catName);
00052 
00053   protected:
00054     DicFile& _dictFile;
00055 
00056   private:
00057     std::string _version;
00058     std::vector<std::string> _catsNames;
00059     std::vector<std::string> _itemsNames;
00060     std::vector<std::string> _catKeyItems;
00061     std::vector<std::string> _catAttrib;
00062     std::vector<std::string> _itemAttrib;
00063     std::vector<std::string> _itemTypeListAttrib;
00064 
00065     void _GetDictVersion(std::string& dictVer);
00066     bool _isDictCategory(const std::string& category) const;
00067 
00068     const std::vector<std::string>&
00069       GetItemAttributeForItemTypeListCat(const std::string& itemName,
00070       const std::string& refCatName,
00071       const std::string& refAttrName);
00072 };
00073 
00074 
00075 #endif

Generated on Thu Sep 29 09:19:18 2011 for cif-file-v1.1.0 by  doxygen 1.4.7