ATLAS Offline Software
Loading...
Searching...
No Matches
XMLHandler.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef XMLHandler_H
6#define XMLHandler_H
7
8#include <string>
9#include <vector>
10#include <xercesc/dom/DOM.hpp>
11
12class XMLHandlerStore;
13class AGDDController;
14
16public:
17 XMLHandler(const std::string& n, AGDDController& c);
18 virtual ~XMLHandler() {}
19 const std::string& GetName() const {return m_name;}
21 xercesc::DOMNode *t)=0;
22 virtual void Handle(AGDDController& c,
23 xercesc::DOMNode *t)
24 {
25 ElementHandle(c, t);
26 }
27 void StopLoop(bool);
28 bool IsLoopToBeStopped() const;
29protected:
30 std::string m_name;
32
33 bool isAttribute(const xercesc::DOMNode* t,
34 const std::string&) const;
35
36 std::string getAttribute(const xercesc::DOMNode* t,
37 const std::string&, bool&) const;
39 const xercesc::DOMNode* t,
40 const std::string&) const;
42 const xercesc::DOMNode* t,
43 const std::string&) const;
45 const xercesc::DOMNode* t,
46 const std::string&) const;
47 std::vector<double> getAttributeAsVector(AGDDController& c,
48 const xercesc::DOMNode* t,
49 const std::string&) const;
50 std::vector<int> getAttributeAsIntVector(AGDDController& c,
51 const xercesc::DOMNode* t,
52 const std::string&) const;
54 const xercesc::DOMNode* t,
55 const std::string&, bool&) const;
57 const xercesc::DOMNode* t,
58 const std::string&, bool&) const;
60 const xercesc::DOMNode* t,
61 const std::string&, bool&) const;
62 std::vector<double> getAttributeAsVector(AGDDController& c,
63 const xercesc::DOMNode* t,
64 const std::string&, bool&) const;
65 std::vector<int> getAttributeAsIntVector(AGDDController& c,
66 const xercesc::DOMNode* t,
67 const std::string&, bool&) const;
69 const xercesc::DOMNode* t,
70 const std::string&, const std::string&) const;
72 const xercesc::DOMNode* t,
73 const std::string&, const double) const;
75 const xercesc::DOMNode* t,
76 const std::string&, const int) const;
77 std::vector<double> getAttributeAsVector(AGDDController& c,
78 const xercesc::DOMNode* t,
79 const std::string&, const std::vector<double>&) const;
80 std::vector<int> getAttributeAsIntVector(AGDDController& c,
81 const xercesc::DOMNode* t,
82 const std::string&, const std::vector<int>&) const;
83
84private:
86};
87
88#endif
virtual void ElementHandle(AGDDController &c, xercesc::DOMNode *t)=0
const std::string & GetName() const
Definition XMLHandler.h:19
void StopLoop(bool)
void RegisterToStore(AGDDController &c)
int getAttributeAsInt(AGDDController &c, const xercesc::DOMNode *t, const std::string &) const
virtual ~XMLHandler()
Definition XMLHandler.h:18
bool isAttribute(const xercesc::DOMNode *t, const std::string &) const
std::vector< double > getAttributeAsVector(AGDDController &c, const xercesc::DOMNode *t, const std::string &) const
std::string m_name
Definition XMLHandler.h:30
bool m_stopLoop
Definition XMLHandler.h:31
std::vector< int > getAttributeAsIntVector(AGDDController &c, const xercesc::DOMNode *t, const std::string &) const
std::string getAttribute(const xercesc::DOMNode *t, const std::string &, bool &) const
double getAttributeAsDouble(AGDDController &c, const xercesc::DOMNode *t, const std::string &) const
virtual void Handle(AGDDController &c, xercesc::DOMNode *t)
Definition XMLHandler.h:22
bool IsLoopToBeStopped() const
XMLHandler(const std::string &n, AGDDController &c)
std::string getAttributeAsString(AGDDController &c, const xercesc::DOMNode *t, const std::string &) const