ECalBackendSExp: Take an ETimezoneCache instead of ECalBackend.
authorMatthew Barnes <mbarnes@redhat.com>
Thu, 3 Jan 2013 16:35:15 +0000 (11:35 -0500)
committerMatthew Barnes <mbarnes@redhat.com>
Sat, 5 Jan 2013 02:18:21 +0000 (21:18 -0500)
commite09820b1c4c92903ab091c9413a4ef266872aea0
tree2e3bb0f330884d5c88bf9898b985039b36cf13a1
parentae4564ddce30b28ac07f82f7a4b141dc1c8c7813
ECalBackendSExp: Take an ETimezoneCache instead of ECalBackend.

Here's the real reason for the ETimezoneCache interface.

By changing ECalBackend parameters to ETimezoneCache (an interface which
ECalBackend implements), we abstract away the requirement for a calendar
backend when performing S-expression evaluation.

Since ECalClient also implements the ETimezoneCache interface, this opens
the possibility of allowing client-side S-expression evaluation.  (Would
first require moving ECalBackendSExp to libecal, plus of course a rename
to omit the "Backend" part.)

Affected functions:

    e_cal_backend_sexp_match_object()
    e_cal_backend_sexp_match_comp()

This is another API break.  3rd party backends will have to be adjusted.
calendar/backends/caldav/e-cal-backend-caldav.c
calendar/backends/contacts/e-cal-backend-contacts.c
calendar/backends/file/e-cal-backend-file.c
calendar/backends/http/e-cal-backend-http.c
calendar/backends/weather/e-cal-backend-weather.c
calendar/libedata-cal/e-cal-backend-sexp.c
calendar/libedata-cal/e-cal-backend-sexp.h
calendar/libedata-cal/e-data-cal-view.c