cannam@3: /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */ cannam@3: cannam@3: cannam@3: #ifndef _SIMPLE_XML_RULE_LOADER_H_ cannam@3: #define _SIMPLE_XML_RULE_LOADER_H_ cannam@3: cannam@3: #include cannam@3: #include cannam@3: #include cannam@3: #include cannam@3: cannam@3: #include "Processor.h" cannam@3: cannam@3: class SimpleXMLRuleLoader : public QXmlDefaultHandler cannam@3: { cannam@3: public: cannam@3: SimpleXMLRuleLoader(); cannam@3: cannam@3: QString getErrorString() const { return m_errorString; } cannam@3: cannam@3: bool loadFile(Processor &processor, QString fileName); cannam@3: bool loadXml(Processor &processor, const QString &xmlData); cannam@3: bool loadXml(Processor &processor, QXmlInputSource &source); cannam@3: cannam@3: virtual bool startElement(const QString &namespaceURI, cannam@3: const QString &localName, cannam@3: const QString &qName, cannam@3: const QXmlAttributes& atts); cannam@3: cannam@3: virtual bool characters(const QString &); cannam@3: cannam@3: virtual bool endElement(const QString &namespaceURI, cannam@3: const QString &localName, cannam@3: const QString &qName); cannam@3: cannam@3: bool error(const QXmlParseException &exception); cannam@3: bool fatalError(const QXmlParseException &exception); cannam@3: cannam@3: protected: cannam@3: QString m_errorString; cannam@3: Processor *m_processor; cannam@3: cannam@3: bool m_inPlugins; cannam@3: bool m_inRules; cannam@7: bool m_inRule; cannam@7: cannam@7: Rule *m_rule; cannam@3: cannam@3: std::map m_externalInternalIndexMap; cannam@3: }; cannam@3: cannam@3: #endif