cannam@3
|
1 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
|
cannam@3
|
2
|
cannam@3
|
3
|
cannam@3
|
4 #ifndef _SIMPLE_XML_RULE_LOADER_H_
|
cannam@3
|
5 #define _SIMPLE_XML_RULE_LOADER_H_
|
cannam@3
|
6
|
cannam@3
|
7 #include <QXmlDefaultHandler>
|
cannam@3
|
8 #include <QXmlParseException>
|
cannam@3
|
9 #include <QXmlAttributes>
|
cannam@3
|
10 #include <QString>
|
cannam@3
|
11
|
cannam@3
|
12 #include "Processor.h"
|
cannam@3
|
13
|
cannam@3
|
14 class SimpleXMLRuleLoader : public QXmlDefaultHandler
|
cannam@3
|
15 {
|
cannam@3
|
16 public:
|
cannam@3
|
17 SimpleXMLRuleLoader();
|
cannam@3
|
18
|
cannam@3
|
19 QString getErrorString() const { return m_errorString; }
|
cannam@3
|
20
|
cannam@3
|
21 bool loadFile(Processor &processor, QString fileName);
|
cannam@3
|
22 bool loadXml(Processor &processor, const QString &xmlData);
|
cannam@3
|
23 bool loadXml(Processor &processor, QXmlInputSource &source);
|
cannam@3
|
24
|
cannam@3
|
25 virtual bool startElement(const QString &namespaceURI,
|
cannam@3
|
26 const QString &localName,
|
cannam@3
|
27 const QString &qName,
|
cannam@3
|
28 const QXmlAttributes& atts);
|
cannam@3
|
29
|
cannam@3
|
30 virtual bool characters(const QString &);
|
cannam@3
|
31
|
cannam@3
|
32 virtual bool endElement(const QString &namespaceURI,
|
cannam@3
|
33 const QString &localName,
|
cannam@3
|
34 const QString &qName);
|
cannam@3
|
35
|
cannam@3
|
36 bool error(const QXmlParseException &exception);
|
cannam@3
|
37 bool fatalError(const QXmlParseException &exception);
|
cannam@3
|
38
|
cannam@3
|
39 protected:
|
cannam@3
|
40 QString m_errorString;
|
cannam@3
|
41 Processor *m_processor;
|
cannam@3
|
42
|
cannam@3
|
43 bool m_inPlugins;
|
cannam@3
|
44 bool m_inRules;
|
cannam@7
|
45 bool m_inRule;
|
cannam@7
|
46
|
cannam@7
|
47 Rule *m_rule;
|
cannam@3
|
48
|
cannam@3
|
49 std::map<int, int> m_externalInternalIndexMap;
|
cannam@3
|
50 };
|
cannam@3
|
51
|
cannam@3
|
52 #endif
|