aboutsummaryrefslogtreecommitdiffstats
path: root/calendar/pcs/cal-backend.c
diff options
context:
space:
mode:
Diffstat (limited to 'calendar/pcs/cal-backend.c')
-rw-r--r--calendar/pcs/cal-backend.c23
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.