/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ /* vim: set et sw=2 ts=2: */ /*************************************************************************** * task.cc * * Fri Feb 24 08:16:30 CET 2012 * Copyright 2012 Bent Bisballe Nyeng * deva@aasimon.org ****************************************************************************/ /* * This file is part of Munia. * * Munia is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * Munia is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Munia; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. */ #include "task.h" #include #include "xml_encode_decode.h" TaskList tasklist; static int id_count = 0; int current_id_count() { return id_count; } task_t create_task(std::string title, std::string desc, /*int x, int y,*/ int parent_id) { task_t t; t.parent_id = parent_id; // t.x = x; // t.y = y; t.title = title; t.desc = desc; t.id = id_count; id_count++; return t; } TaskList load_tasklist_from_file(std::string file) { TaskList list; // create MuniaDb class which handles tasks, db-flush and db-init. return list; } bool save_tasklist_to_file(TaskList list, std::string file) { FILE* fp; if(! (fp = fopen(file.c_str(), "w"))) { return false; } if(!fprintf(fp, "\n")) { fclose(fp); return false; } TaskList::iterator it; for(it = tasklist.begin(); it != tasklist.end(); it++) { task_t t = *it; int r = 1; // printf("Flushing task %d\n", t.id); r |= fprintf(fp, " \n", t.id, t.parent_id); r |= fprintf(fp, " %s\n", xml_encode(t.title).c_str()); r |= fprintf(fp, " %s\n", xml_encode(t.desc).c_str()); r |= fprintf(fp, " )\n"); if(!r) { fclose(fp); return false; } } if(!fprintf(fp, "\n")) { fclose(fp); return false; } fclose(fp); return true; }