summaryrefslogtreecommitdiff
path: root/src/tasktree.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/tasktree.h
parent640dadc93410e1caf9fef1ed0b9c606ea68187c1 (diff)
Make persistent store (XML).
Diffstat (limited to 'src/tasktree.h')
-rw-r--r--src/tasktree.h19
1 files changed, 14 insertions, 5 deletions
diff --git a/src/tasktree.h b/src/tasktree.h
index d82b9a4..64ce0b6 100644
--- a/src/tasktree.h
+++ b/src/tasktree.h
@@ -34,18 +34,24 @@
#include "task.h"
-typedef struct node node_t;
+class node;
+typedef std::list<class node*> NodeList;
-typedef std::list<struct node*> NodeList;
-
-struct node {
+class node
+{
+public:
taskid_t id;
- node_t* parent;
+ node* parent;
task_t data;
NodeList children;
+
+ std::string toXML(std::string prefix);
};
+typedef node node_t;
+
class TaskTree {
+ friend class XmlParser;
public:
TaskTree();
~TaskTree();
@@ -62,6 +68,9 @@ public:
void toStdOut();
+ std::string toXML();
+ void fromXML(std::string xml);
+
private:
node_t* createNode(taskid_t id);
void insertChild(node_t* parent, node_t* child);