From 1c97e2f1f428171b302218f9fa70d673d48e6c32 Mon Sep 17 00:00:00 2001 From: Jonas Suhr Christensen Date: Fri, 30 Mar 2012 10:01:20 +0200 Subject: ;lkas --- src/task.h | 138 ++++--------------------------------------------------------- 1 file 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 #include -#include -#include -//#include -/* -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 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 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{ -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::push_front(t); - return; - } - - std::list::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::insert(++it, t); - -// std::list::push_back(t); -// std::list::sort(CompareByParentid()); - - } - - void move(task_t t) { - std::list::iterator it; - for(it = begin(); it != end(); it++) { - if(t.id == it->id) { - break; - } - } - assert(it != end()); - // if(it != end()) { - std::list::erase(it); - // } - insert(t); - } - - void push_back(task_t t) { - insert(t); - } - -private: - std::list list; -}; - - -extern TaskList tasklist; - -//typedef std::priority_queue, 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__*/ -- cgit v1.2.3