otsdaq  v1_01_03
 All Classes Namespaces Functions
ConfigurationInfoReader.h
1 #ifndef _ots_ConfigurationInfoReader_h_
2 #define _ots_ConfigurationInfoReader_h_
3 
4 #include <string>
5 #include <xercesc/util/XMLChar.hpp>
6 #include <xercesc/dom/DOMDocument.hpp>
7 
8 namespace ots
9 {
10 
11 class ConfigurationBase;
12 
14 {
15 public:
16  ConfigurationInfoReader(bool allowIllegalColumns=false);
18  std::string read (ConfigurationBase& configuration);
19  std::string read (ConfigurationBase* configuration);
20 
21  void setAllowColumnErrors(bool setValue);
22  const bool& getAllowColumnErrors(void);
23 
24 private:
25  void initPlatform (void);
26  void terminatePlatform(void);
27  bool checkViewType (std::string type);
28 
29  xercesc::DOMNode* getNode (XMLCh* tagName, xercesc::DOMNode* parent, unsigned int itemNumber);
30  xercesc::DOMNode* getNode (XMLCh* tagName, xercesc::DOMElement* parent, unsigned int itemNumber);
31  xercesc::DOMElement* getElement(XMLCh* tagName, xercesc::DOMNode* parent, unsigned int itemNumber);
32  xercesc::DOMElement* getElement(XMLCh* tagName, xercesc::DOMElement* parent, unsigned int itemNumber);
33  XMLCh* rootTag_;
34  XMLCh* configurationTag_;
35  XMLCh* configurationNameAttributeTag_;
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 
50 }
51 
52 #endif