summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/task.h138
1 files changed, 7 insertions, 131 deletions
diff --git a/src/task.h b/src/task.h
index b4afa6e..32b7ceb 100644
--- a/src/task.h
+++ b/src/task.h
@@ -3,9 +3,9 @@
/***************************************************************************
* task.h
*
- * Fri Feb 24 08:16:29 CET 2012
- * Copyright 2012 Bent Bisballe Nyeng
- * deva@aasimon.org
+ * Tue Mar 27 11:41:34 CEST 2012
+ * Copyright 2012 Jonas Suhr Christensen
+ * jsc@umbraculum.org
****************************************************************************/
/*
@@ -28,140 +28,16 @@
#ifndef __MUNIA_TASK_H__
#define __MUNIA_TASK_H__
-#include <list>
#include <string>
-#include <stdio.h>
-#include <assert.h>
-//#include <queue>
-/*
-Task:
- id
- subtasks
-// tags
- title
- description
-// primary_assignment
-// secondary_assignment
-
-
-Protocol:
-
-Server -> client:
- update [id] [title] [description];
- move [id] [x] [y];
- add [id] [title] [description] [x] [y];
- del [id]
+typedef unsigned int taskid_t;
+typedef std::list<taskid_t> TaskIdList;
-Client -> server:
- update [id] [title] [description];
- move [id] [x] [y];
- add [title] [description] [x] [y];
- del [id]
-
-title and description are " encapsulated utf-8 string with " escaped with a backslash.
-x and y are integers as strings
-id are an integer as a string
- */
-
-/*
typedef struct {
- int x, y;
- int id;
+ taskid_t id;
+// int parentid;
std::string title;
std::string desc;
} task_t;
-*/
-/*
-protocol:
- add_task title description parent_id
- del_task id
- update_task id title description
- move_task id parent
- copy_task id parent
-*/
-
-typedef struct {
- int id;
- int parent_id;
- std::string title;
- std::string desc;
-} task_t;
-
-
-//typedef std::list<task_t> TaskList;
-
-class CompareByParentid {
-public:
- bool operator()(const task_t &a, const task_t &b) const {
- return a.parent_id < b.parent_id;
- }
-};
-
-
-
-
-class TaskList : public std::list<task_t>{
-public:
- TaskList() {}
- ~TaskList(){}
-
- void insert(task_t t) {
- if(t.id == t.parent_id) return;
- printf("inserting task %d with parent %d\n", t.id, t.parent_id);
-
- if(t.parent_id == -1) {
- std::list<task_t>::push_front(t);
- return;
- }
-
- std::list<task_t>::iterator it;
- for(it = begin(); it != end(); ++it) {
- printf("\tcomparing %d and %d\n", t.parent_id, it->id);
- if(t.parent_id == it->id) {
- break;
- }
- }
- assert(it != end());
-
- std::list<task_t>::insert(++it, t);
-
-// std::list<task_t>::push_back(t);
-// std::list<task_t>::sort(CompareByParentid());
-
- }
-
- void move(task_t t) {
- std::list<task_t>::iterator it;
- for(it = begin(); it != end(); it++) {
- if(t.id == it->id) {
- break;
- }
- }
- assert(it != end());
- // if(it != end()) {
- std::list<task_t>::erase(it);
- // }
- insert(t);
- }
-
- void push_back(task_t t) {
- insert(t);
- }
-
-private:
- std::list<task_t> list;
-};
-
-
-extern TaskList tasklist;
-
-//typedef std::priority_queue<task_t, std::vector<task_t>, CompareByParentid> TaskList;
-
-task_t create_task(std::string title, std::string desc,
- /*int x, int y*/ int parent_id);
-
-TaskList load_tasklist_from_file(std::string file);
-bool save_tasklist_to_file(TaskList t, std::string file);
#endif/*__MUNIA_TASK_H__*/