summaryrefslogtreecommitdiff
path: root/src/xmlparser.h
diff options
context:
space:
mode:
authorJonas Suhr Christensen <jsc@umbraculum.org>2012-05-17 12:13:18 +0200
committerJonas Suhr Christensen <jsc@umbraculum.org>2012-05-17 12:13:18 +0200
commit88fc1bfddff7a078ffad767fef44858165c0a69e (patch)
tree11665a7f3420d6bf460fcb9f4433ec1774560d76 /src/xmlparser.h
parent69f1a4dfc0d3a7a1462d87a31b11197a638c5746 (diff)
parent4873e6df45424d2132dc9685f76bcbe2d9dd447e (diff)
Merge branch 'master' of https://git.oftal.dk/munia
Conflicts: src/taskmanager.cc
Diffstat (limited to 'src/xmlparser.h')
-rw-r--r--src/xmlparser.h27
1 files changed, 9 insertions, 18 deletions
diff --git a/src/xmlparser.h b/src/xmlparser.h
index a92a515..6f05650 100644
--- a/src/xmlparser.h
+++ b/src/xmlparser.h
@@ -31,32 +31,23 @@
#include "task.h"
#include "saxparser.h"
+#include <stack>
+#include "tasktree.h"
+
class XmlParser : public SAXParser {
public:
- XmlParser(std::string filename);
+ XmlParser(TaskTree *tree);
~XmlParser();
void startTag(std::string name, attributes_t &attr);
void endTag(std::string name);
- void characterData(std::string& data);
-
- TaskIdList tasklist;
-
-protected:
- int readData(char* data, size_t size);
+ void characterData(const std::string &data);
private:
- FILE* fp;
- task_t* task;
- std::string characterbuf;
-
- enum tag_t {
- title,
- desc,
- none
- };
-
- tag_t open_tagtype;
+ std::stack<taskid_t> parents;
+ std::string cdata;
+ node_t *node;
+ TaskTree *tree;
};
#endif/*__MUNIA_XMLPARSER_H__*/