DictObjContInfo.h

Go to the documentation of this file.
00001 //$$FILE$$
00002 //$$VERSION$$
00003 //$$DATE$$
00004 //$$LICENSE$$
00005 
00006 
00015 #ifndef DICTOBJCONTINFO_H
00016 #define DICTOBJCONTINFO_H
00017 
00018 
00019 #include <map>
00020 
00021 #include "FileNavigator.h"
00022 #include "FileNavigatorError.h"
00023 
00024 
00037 class ObjContInfo
00038 {
00039   public:
00040     static const string CIF_DDL_CATEGORY_BLOCK;
00041     static const string CIF_DDL_CATEGORY_DATABLOCK;
00042     static const string CIF_DDL_CATEGORY_DATABLOCK_METHODS;
00043     static const string CIF_DDL_CATEGORY_ITEM;
00044     static const string CIF_DDL_CATEGORY_ITEM_LINKED;
00045     static const string CIF_DDL_CATEGORY_CATEGORY;
00046     static const string CIF_DDL_CATEGORY_CATEGORY_EXAMPLES;
00047     static const string CIF_DDL_CATEGORY_NDB_CATEGORY_EXAMPLES;
00048     static const string CIF_DDL_CATEGORY_CATEGORY_KEY;
00049     static const string CIF_DDL_CATEGORY_CATEGORY_GROUP;
00050     static const string CIF_DDL_CATEGORY_CATEGORY_GROUP_LIST;
00051     static const string CIF_DDL_CATEGORY_CATEGORY_METHODS;
00052     static const string CIF_DDL_CATEGORY_SUB_CATEGORY;
00053     static const string CIF_DDL_CATEGORY_SUB_CATEGORY_EXAMPLES;
00054     static const string CIF_DDL_CATEGORY_SUB_CATEGORY_METHODS;
00055     static const string CIF_DDL_CATEGORY_ITEM_SUB_CATEGORY;
00056     static const string CIF_DDL_CATEGORY_ITEM_TYPE;
00057     static const string CIF_DDL_CATEGORY_ITEM_TYPE_CONDITIONS;
00058     static const string CIF_DDL_CATEGORY_ITEM_METHODS;
00059     static const string CIF_DDL_CATEGORY_ITEM_TYPE_LIST;
00060     static const string CIF_DDL_CATEGORY_ITEM_STRUCTURE;
00061     static const string CIF_DDL_CATEGORY_ITEM_STRUCTURE_LIST;
00062     static const string CIF_DDL_CATEGORY_ITEM_DESCRIPTION;
00063     static const string CIF_DDL_CATEGORY_NDB_ITEM_DESCRIPTION;
00064     static const string CIF_DDL_CATEGORY_NDB_CATEGORY_DESCRIPTION;
00065     static const string CIF_DDL_CATEGORY_ITEM_EXAMPLES;
00066     static const string CIF_DDL_CATEGORY_NDB_ITEM_EXAMPLES;
00067     static const string CIF_DDL_CATEGORY_ITEM_DEPENDENT;
00068     static const string CIF_DDL_CATEGORY_ITEM_RELATED;
00069     static const string CIF_DDL_CATEGORY_ITEM_RANGE;
00070     static const string CIF_DDL_CATEGORY_ITEM_ENUMERATION;
00071     static const string CIF_DDL_CATEGORY_NDB_ITEM_ENUMERATION;
00072     static const string CIF_DDL_CATEGORY_ITEM_DEFAULT;
00073     static const string CIF_DDL_CATEGORY_ITEM_ALIASES;
00074     static const string CIF_DDL_CATEGORY_DICTIONARY;
00075     static const string CIF_DDL_CATEGORY_DICTIONARY_HISTORY;
00076     static const string CIF_DDL_CATEGORY_ITEM_UNITS;
00077     static const string CIF_DDL_CATEGORY_ITEM_UNITS_LIST;
00078     static const string CIF_DDL_CATEGORY_ITEM_UNITS_CONVERSION;
00079     static const string CIF_DDL_CATEGORY_METHOD_LIST;
00080 
00081     static const string CIF_DDL_ITEM_ID;
00082     static const string CIF_DDL_ITEM_CATEGORY_ID;
00083     static const string CIF_DDL_ITEM_SUB_CATEGORY_ID;
00084     static const string CIF_DDL_ITEM_METHOD_ID;
00085     static const string CIF_DDL_ITEM_PARENT_NAME;
00086     static const string CIF_DDL_ITEM_CHILD_NAME;
00087     static const string CIF_DDL_ITEM_ALIAS_NAME;
00088     static const string CIF_DDL_ITEM_DICTIONARY;
00089     static const string CIF_DDL_ITEM_TITLE;
00090     static const string CIF_DDL_ITEM_VERSION;
00091     static const string CIF_DDL_ITEM_NAME;
00092     static const string CIF_DDL_ITEM_CODE;
00093     static const string CIF_DDL_ITEM_PRIMITIVE_CODE;
00094     static const string CIF_DDL_ITEM_CONSTRUCT;
00095     static const string CIF_DDL_ITEM_ORGANIZATION;
00096     static const string CIF_DDL_ITEM_INDEX;
00097     static const string CIF_DDL_ITEM_DIMENSION;
00098     static const string CIF_DDL_ITEM_DATABLOCK_ID;
00099     static const string CIF_DDL_ITEM_DESCRIPTION;
00100     static const string CIF_DDL_ITEM_NDB_DESCRIPTION;
00101     static const string CIF_DDL_ITEM_CASE;
00102     static const string CIF_DDL_ITEM_MANDATORY_CODE;
00103     static const string CIF_DDL_ITEM_DETAIL;
00104     static const string CIF_DDL_ITEM_MAXIMUM;
00105     static const string CIF_DDL_ITEM_MINIMUM;
00106     static const string CIF_DDL_ITEM_VALUE;
00107     static const string CIF_DDL_ITEM_DEPENDENT_NAME;
00108     static const string CIF_DDL_ITEM_RELATED_NAME;
00109     static const string CIF_DDL_ITEM_FUNCTION_CODE;
00110     static const string CIF_DDL_ITEM_OFFSET;
00111     static const string CIF_DDL_ITEM_OPERATOR;
00112     static const string CIF_DDL_ITEM_FACTOR;
00113     static const string CIF_DDL_ITEM_FROM_CODE;
00114     static const string CIF_DDL_ITEM_TO_CODE;
00115     static const string CIF_DDL_ITEM_UPDATE;
00116     static const string CIF_DDL_ITEM_REVISION;
00117     static const string CIF_DDL_ITEM_INLINE;
00118     static const string CIF_DDL_ITEM_LANGUAGE;
00119     static const string CIF_DDL_ITEM_PARENT_ID;
00120 
00126     class Item
00127     {
00128       public:
00129         string descr;
00130         string itemName;
00131     };
00132 
00138     class Cat
00139     {
00140       public:
00141         string catName;
00142         string col1;
00143         bool nonDefaultValue;
00144         bool inheritance;
00145         vector<Item> items;
00146     };
00147 
00148     string _objContInfoDescr;
00149 
00150     vector<Cat> _cats;
00151 
00152     map<pair<string, string>, pair<unsigned int, unsigned int> > _catMap;
00153 
00158     ObjContInfo();
00159 
00164     void AddCat(const string& catName, const string& col1,
00165       const bool nonDefaultValue = false, const bool inheritance = false);
00166 
00171     void AddItem(const string& descr, const string& itemName);
00172 
00177     unsigned int GetItemIndex(const string& catName,
00178       const string& itemName) const;
00179 
00184     pair<unsigned int, unsigned int> GetItemIndices(
00185       const string& catName, const string& itemName) const;
00186 
00187   private:
00188     vector<Cat>::iterator currCat;
00189 };
00190 
00191 
00198 class DictObjContInfo : public ObjContInfo
00199 {
00200   public:
00201     DictObjContInfo::DictObjContInfo();
00202 };
00203 
00204 
00211 class CatObjContInfo : public ObjContInfo
00212 {
00213   public:
00214     CatObjContInfo::CatObjContInfo();
00215 };
00216 
00217 
00224 class SubcatObjContInfo : public ObjContInfo
00225 {
00226   public:
00227     SubcatObjContInfo::SubcatObjContInfo();
00228 };
00229 
00230 
00237 class ItemObjContInfo : public ObjContInfo
00238 {
00239   public:
00240     ItemObjContInfo::ItemObjContInfo();
00241 };
00242 
00243 
00244 extern class DictObjContInfo RcsbDict;
00245 extern class CatObjContInfo RcsbCat;
00246 extern class SubcatObjContInfo RcsbSubcat;
00247 extern class ItemObjContInfo RcsbItem;
00248 
00249 
00250 #endif // DICTOBJCONTINFO_H

Generated on Thu May 10 09:41:23 2007 for dict-obj-file-v8.0 by  doxygen 1.5.1