diff options
Diffstat (limited to 'calendar/pcs/cal-backend.c')
-rw-r--r-- | calendar/pcs/cal-backend.c | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/calendar/pcs/cal-backend.c b/calendar/pcs/cal-backend.c index 350e6468e4..d72a6fe5e6 100644 --- a/calendar/pcs/cal-backend.c +++ b/calendar/pcs/cal-backend.c @@ -134,11 +134,13 @@ cal_backend_class_init (CalBackendClass *class) class->get_uri = NULL; class->add_cal = NULL; class->open = NULL; + class->is_loaded = NULL; class->get_n_objects = NULL; class->get_object = NULL; class->get_type_by_uid = NULL; class->get_uids = NULL; class->get_objects_in_range = NULL; + class->get_free_busy = NULL; class->get_changes = NULL; class->get_alarms_in_range = NULL; class->get_alarms_for_object = NULL; @@ -326,6 +328,30 @@ cal_backend_get_objects_in_range (CalBackend *backend, CalObjType type, } /** + * cal_backend_get_free_busy: + * @backend: A calendar backend. + * @start: Start time for query. + * @end: End time for query. + * + * Builds a list of unique identifiers corresponding to free/busy calendar + * objects of the that occur or recur within the specified time range. + * + * Return value: A list of UID strings. The list should be freed using the + * cal_obj_uid_list_free() function. + **/ +GList * +cal_backend_get_free_busy (CalBackend *backend, time_t start, time_t end) +{ + g_return_val_if_fail (backend != NULL, NULL); + g_return_val_if_fail (IS_CAL_BACKEND (backend), NULL); + g_return_val_if_fail (start != -1 && end != -1, NULL); + g_return_val_if_fail (start <= end, NULL); + + g_assert (CLASS (backend)->get_free_busy != NULL); + return (* CLASS (backend)->get_free_busy) (backend, start, end); +} + +/** * cal_backend_get_changes: * @backend: A calendar backend * @type: Bitmask with types of objects to return. |