diff options
Diffstat (limited to 'calendar/pcs/cal-backend.c')
-rw-r--r-- | calendar/pcs/cal-backend.c | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/calendar/pcs/cal-backend.c b/calendar/pcs/cal-backend.c index 2b14e291db..a9eae9f212 100644 --- a/calendar/pcs/cal-backend.c +++ b/calendar/pcs/cal-backend.c @@ -138,6 +138,7 @@ cal_backend_class_init (CalBackendClass *class) class->is_loaded = NULL; class->get_n_objects = NULL; class->get_object = NULL; + class->get_timezone_object = NULL; class->get_type_by_uid = NULL; class->get_uids = NULL; class->get_objects_in_range = NULL; @@ -281,6 +282,28 @@ cal_backend_get_object (CalBackend *backend, const char *uid) } /** + * cal_backend_get_timezone_object: + * @backend: A calendar backend. + * @tzid: Unique identifier for a calendar VTIMEZONE object. + * + * Queries a calendar backend for a VTIMEZONE calendar object based on its + * unique TZID identifier. + * + * Return value: The string representation of a VTIMEZONE component, or NULL + * if no VTIMEZONE object had the specified TZID. + **/ +char * +cal_backend_get_timezone_object (CalBackend *backend, const char *tzid) +{ + g_return_val_if_fail (backend != NULL, NULL); + g_return_val_if_fail (IS_CAL_BACKEND (backend), NULL); + g_return_val_if_fail (tzid != NULL, NULL); + + g_assert (CLASS (backend)->get_timezone_object != NULL); + return (* CLASS (backend)->get_timezone_object) (backend, tzid); +} + +/** * cal_backend_get_uids: * @backend: A calendar backend. * @type: Bitmask with types of objects to return. |