X-Git-Url: http://pileus.org/git/?p=lackey;a=blobdiff_plain;f=src%2Fcal.h;h=7d308ec23fe47f60dad9681571407685af30941f;hp=1242da8f5131c24127298b798f05155773a3f378;hb=bfc415555da3be7f94738b3ac62c511a53b78674;hpb=bbfc6036a8553c1c10093247c705795f243daf1e diff --git a/src/cal.h b/src/cal.h index 1242da8..7d308ec 100644 --- a/src/cal.h +++ b/src/cal.h @@ -1,5 +1,5 @@ /* - * 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 @@ -22,42 +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); 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); -/* Test fuctions */ -void ical_test(void); +/* Event functions */ +event_t *find_event(date_t *target);