]> Pileus Git - lackey/blobdiff - src/cal.h
Add event selection to day and week views
[lackey] / src / cal.h
index 2fb05cb692bb1782ae8aa287ffc151d5a415488a..7d308ec23fe47f60dad9681571407685af30941f 100644 (file)
--- a/src/cal.h
+++ b/src/cal.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2012 Andy Spencer <andy753421@gmail.com>
+ * Copyright (C) 2012-2013 Andy Spencer <andy753421@gmail.com>
  *
  * 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,39 +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);
+
+/* Event functions */
+event_t *find_event(date_t *target);