ECalBackendStore: Add a "timezone-cache" construct-only property.
authorMatthew Barnes <mbarnes@redhat.com>
Thu, 3 Jan 2013 15:26:51 +0000 (10:26 -0500)
committerMatthew Barnes <mbarnes@redhat.com>
Sat, 5 Jan 2013 02:18:20 +0000 (21:18 -0500)
commitae4564ddce30b28ac07f82f7a4b141dc1c8c7813
treec2d1a664e05932f62309a7558160ad5e0cc7655f
parentc4829834328066bdadf16ba05f64bd6a968b43ad
ECalBackendStore: Add a "timezone-cache" construct-only property.

Instead of keeping its own an internal hash table of icaltimezones, have
ECalBackendStore take an ETimezoneCache in e_cal_backend_store_new().

Usually the ETimezoneCache will be an ECalBackend, which implements the
ETimezoneCache interface and owns the ECalBackendStore.  For that reason,
the store only keeps a weak reference on its ETimezoneCache to avoid a
reference cycle.

New functions:

    e_cal_backend_store_ref_timezone_cache()

This is an API break.  3rd party backends will have to be adjusted.
calendar/backends/caldav/e-cal-backend-caldav.c
calendar/backends/http/e-cal-backend-http.c
calendar/libedata-cal/e-cal-backend-store.c
calendar/libedata-cal/e-cal-backend-store.h
docs/reference/calendar/libedata-cal/libedata-cal-sections.txt