otsdaq  v2_05_02_indev
TableInfoReader.h
1 #ifndef _ots_TableInfoReader_h_
2 #define _ots_TableInfoReader_h_
3 
4 #include <string>
5 #include <xercesc/dom/DOMDocument.hpp>
6 #include <xercesc/util/XMLChar.hpp>
7 
8 namespace ots
9 {
10 class TableBase;
11 
13 {
14  public:
15  TableInfoReader(bool allowIllegalColumns = false);
16  ~TableInfoReader(void);
17  std::string read(TableBase& table);
18  std::string read(TableBase* table);
19 
20  void setAllowColumnErrors(bool setValue);
21  const bool& getAllowColumnErrors(void);
22 
23  private:
24  void initPlatform(void);
25  void terminatePlatform(void);
26  bool checkViewType(std::string type);
27 
28  xercesc::DOMNode* getNode(XMLCh* tagName, xercesc::DOMNode* parent, unsigned int itemNumber);
29  xercesc::DOMNode* getNode(XMLCh* tagName, xercesc::DOMElement* parent, unsigned int itemNumber);
30  xercesc::DOMElement* getElement(XMLCh* tagName, xercesc::DOMNode* parent, unsigned int itemNumber);
31  xercesc::DOMElement* getElement(XMLCh* tagName, xercesc::DOMElement* parent, unsigned int itemNumber);
32 
33  XMLCh* rootTag_;
34  XMLCh* tableTag_;
35  XMLCh* tableNameAttributeTag_;
36  XMLCh* viewTag_;
37  XMLCh* viewNameAttributeTag_;
38  XMLCh* viewTypeAttributeTag_;
39  XMLCh* viewDescriptionAttributeTag_;
40  XMLCh* columnTag_;
41  XMLCh* columnTypeAttributeTag_;
42  XMLCh* columnNameAttributeTag_;
43  XMLCh* columnStorageNameAttributeTag_;
44  XMLCh* columnDataTypeAttributeTag_;
45  XMLCh* columnDataChoicesAttributeTag_;
46 
47  bool allowIllegalColumns_;
48 
49  // static const std::string CONFIGURATION_BACKEND_TYPE_;
50 };
51 
52 } // namespace ots
53 
54 #endif