X-Git-Url: http://pileus.org/git/?p=lackey;a=blobdiff_plain;f=src%2Fcal.h;h=7d308ec23fe47f60dad9681571407685af30941f;hp=ea5b9586f3bea253fc0120cc01c4f5653bfc9ba5;hb=bfc415555da3be7f94738b3ac62c511a53b78674;hpb=ef789a1e6c0fa2262690f7c19824d2829f1e2a3f;ds=sidebyside diff --git a/src/cal.h b/src/cal.h index ea5b958..7d308ec 100644 --- a/src/cal.h +++ b/src/cal.h @@ -1,16 +1,16 @@ /* - * Copyright (C) 2012 Andy Spencer - * + * Copyright (C) 2012-2013 Andy Spencer + * * This program 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 3 of the License, or * (at your option) any later version. - * + * * This program 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 this program. If not, see . */ @@ -22,51 +22,47 @@ typedef enum { } status_t; /* Calendar type */ -typedef struct { - char *name; - char *desc; - void *data; +typedef struct cal_t { + char *type; + char *name; + char *desc; + struct cal_t *next; } cal_t; /* Calendar item types */ typedef struct event_t { - const char *name; - const char *desc; - const char *loc; - const char *cat; + char *name; + char *desc; + char *loc; + char *cat; date_t start; date_t end; const cal_t *cal; struct event_t *next; + struct event_t *prev; } event_t; typedef struct todo_t { - const char *name; - const char *desc; - const char *cat; + char *name; + char *desc; + char *cat; status_t status; date_t start; date_t due; cal_t *cal; struct todo_t *next; + struct todo_t *prev; } todo_t; /* Global data */ -extern event_t *EVENTS; -extern todo_t *TODOS; +extern cal_t *CAL, *CALS; +extern event_t *EVENT, *EVENTS; +extern todo_t *TODO, *TODOS; /* Calendar functions */ void cal_init(void); -event_t *cal_events(year_t year, month_t month, day_t day, int days); -todo_t *cal_todos(year_t year, month_t month, day_t day, int days); +void cal_load(year_t year, month_t month, day_t day, int days); +void cal_config(const char *group, const char *name, const char *key, const char *value); -/* Calendar event functions */ -event_t *dummy_events(cal_t *cal, year_t year, month_t month, day_t day, int days); -event_t *ical_events(cal_t *cal, year_t year, month_t month, day_t day, int days); - -/* Calendar todo functions */ -todo_t *dummy_todos(cal_t *cal, year_t year, month_t month, day_t day, int days); -todo_t *ical_todos(cal_t *cal, year_t year, month_t month, day_t day, int days); - -/* Test fuctions */ -void ical_test(void); +/* Event functions */ +event_t *find_event(date_t *target);