]> git.sven.stormbind.net Git - sven/vym.git/blobdiff - src/xml-base.h
New upstream version 2.9.22
[sven/vym.git] / src / xml-base.h
diff --git a/src/xml-base.h b/src/xml-base.h
new file mode 100644 (file)
index 0000000..7ec9a31
--- /dev/null
@@ -0,0 +1,50 @@
+#ifndef XML_BASE
+#define XML_BASE
+
+//#include <QString>
+#include <QXmlAttributes>
+
+#include "file.h"
+
+class VymModel;
+
+/*! \brief Base class for parsing maps from XML documents */
+
+class parseBaseHandler : public QXmlDefaultHandler {
+  public:
+    parseBaseHandler();
+    ~parseBaseHandler();
+    QString errorProtocol();
+    QString parseHREF(QString);
+    virtual bool startElement(const QString &, const QString &,
+                              const QString &eName,
+                              const QXmlAttributes &atts) = 0;
+    virtual bool endElement(const QString &, const QString &,
+                            const QString &) = 0;
+    virtual bool characters(const QString &) = 0;
+
+    virtual QString errorString() = 0;
+    bool fatalError(const QXmlParseException &);
+    void setModel(VymModel *);
+    void setTmpDir(QString);
+    void setInputFile(const QString &);
+    void setInputString(const QString &);
+    void setLoadMode(const LoadMode &, int p = -1);
+    bool readHtmlAttr(const QXmlAttributes &);
+
+  protected:
+    QString errorProt;
+
+    LoadMode loadMode;
+    int insertPos;
+
+    bool isVymPart;
+    int branchDepth;
+    VymModel *model;
+    QString tmpDir;
+    QString inputFile;
+    QString inputString;
+    QString htmldata;
+    QString version;
+};
+#endif