diff options
Diffstat (limited to 'calendar/calendar.h')
-rw-r--r-- | calendar/calendar.h | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/calendar/calendar.h b/calendar/calendar.h index a59fec7544..95c92e7fa8 100644 --- a/calendar/calendar.h +++ b/calendar/calendar.h @@ -28,17 +28,36 @@ typedef struct { void *temp; } Calendar; +/* This is only used by the calendar_get_events_in_range routine to get + * a list of objects that recur on a specific date + */ +typedef struct { + time_t ev_start; + time_t ev_end; + iCalObject *ico; +} CalendarObject; + +typedef void (*calendarfn)(iCalObject *obj, time_t start, time_t end, void *closure); + Calendar *calendar_new (char *title); void calendar_load (Calendar *cal, char *fname); void calendar_add_object (Calendar *cal, iCalObject *obj); void calendar_remove_object (Calendar *cal, iCalObject *obj); void calendar_destroy (Calendar *cal); -GList *calendar_get_events_in_range (Calendar *cal, time_t start, time_t end, GCompareFunc sort_func); GList *calendar_get_objects_in_range (GList *objects, time_t start, time_t end, GCompareFunc sort_func); GList *calendar_get_todo_in_range (Calendar *cal, time_t start, time_t end, GCompareFunc sort_func); GList *calendar_get_journal_in_range (Calendar *cal, time_t start, time_t end, GCompareFunc sort_func); gint calendar_compare_by_dtstart (gpointer a, gpointer b); +void calendar_iterate_on_objects (GList *objects, time_t start, time_t end, calendarfn cb, void *closure); +void calendar_iterate (Calendar *cal, time_t start, time_t end, calendarfn cb, void *closure); + +/* Note this routine returns a GList with CalendarObjects */ +GList *calendar_get_events_in_range (Calendar *cal, time_t start, time_t end); + +/* Destroy the above list with this method */ +void calendar_destroy_event_list (GList *l); + END_GNOME_DECLS #endif |