summaryrefslogtreecommitdiff
path: root/src/xmlparser.h
diff options
context:
space:
mode:
authorBent Bisballe Nyeng <deva@aasimon.org>2012-05-17 11:43:16 +0200
committerBent Bisballe Nyeng <deva@aasimon.org>2012-05-17 11:43:16 +0200
commit4873e6df45424d2132dc9685f76bcbe2d9dd447e (patch)
tree85fb65d5c01ebcbda99fe24932088e551d527e75 /src/xmlparser.h
parent640dadc93410e1caf9fef1ed0b9c606ea68187c1 (diff)
Make persistent store (XML).
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__*/