Tristan Van Berkom [Wed, 23 Jan 2013 08:35:07 +0000 (17:35 +0900)]
test-ecal-create-object: Fixed to assert something that makes sense.
The old assertions were broken in that it compares the scratch component
with no UID with the newly created and fetched component.
Now simply check that the newly created component can be fetched and that
it is 'valid'.
Tristan Van Berkom [Wed, 23 Jan 2013 08:19:06 +0000 (17:19 +0900)]
test-ecal-get-ldap-attribute: Changing test to check the reported error code.
As e_cal_get_ldap_attribute() docs mention that the function has been dropped
completely, this test (instead of removing) now simply tests for the expected
error code.
Additionally, the unused function ecal_test_utils_cal_get_ldap_attribute()
has been removed from in ecal-test-utils.[ch].
Tristan Van Berkom [Wed, 23 Jan 2013 07:52:50 +0000 (16:52 +0900)]
ECal test, test-ecal-get-free-busy: Create a valid user identity and account
Without this, the backend does not report any free-busy information,
with this commit the backend actually reports the free-busy data.
NOTE: This test still fails, because e_cal_get_free_busy() does not report
free busy information from the ECalClient API properly (see FIXME comment
in e_cal_get_free_busy()).
Tristan Van Berkom [Wed, 23 Jan 2013 07:49:19 +0000 (16:49 +0900)]
ECalClient test, test-client-get-free-busy: Create a valid user identity and account
Without this, the backend does not report any free-busy information,
with this commit the backend actually reports the free-busy data and
the test now additionally asserts that the free-busy data was reported.
Tristan Van Berkom [Wed, 23 Jan 2013 06:33:01 +0000 (15:33 +0900)]
ECalClient test test-client-refresh: Only test the refresh APIs if it is supported.
Newer versions of the local calendar backend dont support the explicit refresh,
so failing the explicit refresh is not an error.
Tristan Van Berkom [Mon, 21 Jan 2013 09:06:15 +0000 (18:06 +0900)]
EBookBackendFile: Report the proper error if a contact is not found by UID.
Conflicts:
addressbook/backends/file/e-book-backend-file.c
Tristan Van Berkom [Mon, 21 Jan 2013 08:50:55 +0000 (17:50 +0900)]
EBookBackendSqliteDB: Added contact-not-found error type.
Report this error if a contact was requested by UID and not found.
Tristan Van Berkom [Mon, 21 Jan 2013 08:35:13 +0000 (17:35 +0900)]
Improving test-client-remove-contact
Check for error type is more clear and safe now.
Milan Crha [Tue, 22 Jan 2013 19:43:30 +0000 (20:43 +0100)]
Bug #692278 - LDAP backend mutex deadlock on finalize
Matthew Barnes [Tue, 22 Jan 2013 16:02:52 +0000 (11:02 -0500)]
CamelIMAPXStore: Configure folder flags on folder creation.
Immediately after CamelFolder creation, check whether the store is
configured to use real Junk/Trash folders and set CamelFolderFlags
appropriately.
This solves the problem of Evolution not displaying junk messages in a
real Junk folder. This does NOT solve the restart problem, as noted in
the comment.
Matthew Barnes [Tue, 22 Jan 2013 15:12:38 +0000 (10:12 -0500)]
CamelIMAPXStore: Pass a GError to get_folder_offline().
This is just silly. get_folder_offline() already sets the GError on
failure. There's no reason for imapx_store_get_folder_sync() to not
pass the GError to get_folder_offline() and then set its own generic
error message on failure.
Matthew Barnes [Tue, 22 Jan 2013 15:10:53 +0000 (10:10 -0500)]
CamelIMAPXStore: get_folder_offline() cleanups.
Tristan Van Berkom [Tue, 22 Jan 2013 08:36:28 +0000 (17:36 +0900)]
Fixing test-ebook-get-supported-auth-methods.c
This tests that unsupported code paths actually run as expected
(the problem was that the async callback was called before entering
the mainloop and waiting for a reply or timeout).
Tristan Van Berkom [Fri, 18 Jan 2013 06:55:32 +0000 (15:55 +0900)]
Added test case ensuring that new contacts have thier UID preserved.
Asserts both that newly added contacts preserve the assigned UID and
also that 2 contacts with the same UID cannot be added.
Tristan Van Berkom [Fri, 18 Jan 2013 06:53:46 +0000 (15:53 +0900)]
EBookBackendFile: Don't overwrite UIDs on incomming/new contacts.
o Only assign a generated UID if the new contact does not have any
o If the UID already exists in the SQLite at creation time, then
report an E_DATA_BOOK_STATUS_CONTACTID_ALREADY_EXISTS error.
Tristan Van Berkom [Fri, 18 Jan 2013 06:50:04 +0000 (15:50 +0900)]
EBookBackendSqliteDB: Added e_book_backend_new_contact[s]() APIs
The new API allows control on whether or not to overwrite existing contacts
with the same UID.
Deprecated the older e_book_backend_add_contact[s]() apis which include
the unused 'partial_contact' parameter and have no control on whether
or not to overwrite existing contacts.
Additionally this patch exposes the E_BOOK_SDB_ERROR domain and a couple
of error codes to distinguish if an error occurred because of a constraint
or other errors (UID conflicts at contact addition time are constraint
errors).
Conflicts:
addressbook/libedata-book/e-book-backend-sqlitedb.c
addressbook/libedata-book/e-book-backend-sqlitedb.h
Colin Walters [Tue, 22 Jan 2013 02:58:40 +0000 (21:58 -0500)]
build: Fix parallel make issue in GResource change
We need deps on the generated files for both header and source.
Matthew Barnes [Mon, 21 Jan 2013 23:45:07 +0000 (18:45 -0500)]
Bundle built-in data sources as a GResource.
This was primarily meant to aid our test suite, whose goal is to run
successfully without requiring evolution-data-server (or its data files)
to be installed. The tests inadvertently depend on these built-in data
sources being present.
But this is good to do anyway. Bundling the data sources directly in
the evolution-source-registry binary guarantees they're always present,
which the E-D-S APIs already assume, and avoids the usual problems with
installed data files: I/O errors, user meddling, etc.
Matthew Barnes [Tue, 22 Jan 2013 00:02:34 +0000 (19:02 -0500)]
Deprecate e_source_registry_server_load_all().
It was a mistake to encode this much file location policy directly into
libebackend's API. Instead, evolution-source-registry.c will implement
its own function that uses e_source_registry_server_load_resource().
Matthew Barnes [Mon, 21 Jan 2013 23:45:17 +0000 (18:45 -0500)]
Add e_source_registry_server_load_resource().
Loads data source key files from a GResource by enumerating the children
at the given pathname and calling e_source_registry_server_load_file()
on each child.
Mathias Hasselmann [Mon, 21 Jan 2013 21:24:44 +0000 (22:24 +0100)]
Fix the copyright in test-client-custom-summary.c
Mathias Hasselmann [Wed, 5 Dec 2012 00:31:51 +0000 (01:31 +0100)]
libebook: Reduce code-duplication in e_book_query_from_string()
Merge almost identical sexp handlers used by that functions.
Also merge two de-facto identical error branches.
Mathias Hasselmann [Mon, 21 Jan 2013 18:49:39 +0000 (19:49 +0100)]
libecal: Fix accidental double semicolon
Kjartan Maraas [Mon, 21 Jan 2013 10:56:06 +0000 (11:56 +0100)]
Updated Norwegian bokmål translation
Theppitak Karoonboonyanan [Sun, 20 Jan 2013 13:13:02 +0000 (20:13 +0700)]
Updated Thai translation
Gheyret Kenji [Sun, 20 Jan 2013 00:04:18 +0000 (09:04 +0900)]
Updated Uyghur translation
Signed-off-by: Gheyret Kenji <gheyret@gmail.com>
Matthew Barnes [Sat, 19 Jan 2013 18:35:25 +0000 (13:35 -0500)]
libebook: Allow *some* deprecated API into bindings.
Also some functions with "Deprecated" tags into bindings.
There are still some old, deprecated classes that we definitely don't
want to allow into bindings. Use "#ifndef __GI_SCANNER__ ... #endif"
to force g-ir-scanner to skip them.
They are:
EBook
EBookView
Matthew Barnes [Sat, 19 Jan 2013 18:22:18 +0000 (13:22 -0500)]
libedataserver: Allow *some* deprecated API into bindings.
Allow some functions with "Deprecated" tags into bindings.
There are still some old, deprecated classes that we definitely don't
want to allow into bindings. Use "#ifndef __GI_SCANNER__ ... #endif"
to force g-ir-scanner to skip them.
They are:
ECredentials
EIterator
EListIterator
EList
EUrl
Theppitak Karoonboonyanan [Sat, 19 Jan 2013 15:23:22 +0000 (22:23 +0700)]
Updated Thai translation
Milan Crha [Fri, 18 Jan 2013 11:18:11 +0000 (12:18 +0100)]
Bug #691126 - Fix warnings found by Clang (POP3 part)
The change itself fixed a symbol clash on CAMEL_POP3_STREAM_LINE,
where one was an enum value, and the other a line size integer.
It may or may not change behaviour of the POP3 provider.
This is committed separately, and only to master branch, to give
the change more time for testing.
Milan Crha [Fri, 18 Jan 2013 11:14:29 +0000 (12:14 +0100)]
Bug #691126 - Fix warnings find by Clang
Milan Crha [Fri, 18 Jan 2013 10:56:18 +0000 (11:56 +0100)]
Bump libsoup dependency to 2.40.3
This removes workarounds for below libsoup bugs and makes trust-prompt
for WebDAV based backends work better, by checking also server certificates.
* soup_message_get_https_status() now returns the certificate
and flags for unsuccessful https connections as well as
successful ones. [bug #690176]
* Fixed a deadlock when calling soup_session_abort() on
a SoupSessionSync in some cases. [bug #691399]
Tristan Van Berkom [Thu, 17 Jan 2013 04:37:30 +0000 (13:37 +0900)]
EBookBackendSqliteDB: Fixed retry loop when SQLite is busy.
Tristan Van Berkom [Wed, 16 Jan 2013 09:02:40 +0000 (18:02 +0900)]
Make GTK+ a soft dependancy
This patch disables building of the user-prompter service and trust-prompt
module if GTK+ is not available, allowing alternative implementations of
the user prompter service to be installed on platforms where GTK+ is not
available.
Tristan Van Berkom [Mon, 17 Dec 2012 10:51:21 +0000 (19:51 +0900)]
This patch makes google addressbook backend optional
Adds a configure option to avoid building the google backend,
making libgdata an optional dependency.
Mathias Hasselmann [Wed, 16 Jan 2013 23:25:21 +0000 (00:25 +0100)]
test-server-utils: Permit to preserve working directory
Mathias Hasselmann [Wed, 16 Jan 2013 14:42:37 +0000 (15:42 +0100)]
libebook: Explicitly check e_sexp_parse() result
e_sexp_parse() returns -1 on error and 0 on success. Therefore using it
straighly within an if() statement is confusing for the reader.
Mathias Hasselmann [Wed, 16 Jan 2013 14:39:36 +0000 (15:39 +0100)]
tests: Remove phone number specific EBook query tests
They sneaked in by accident with commit
f358f98697c63a27c3a50538519ae0bacb6e086c.
Mathias Hasselmann [Thu, 6 Dec 2012 14:40:03 +0000 (15:40 +0100)]
libedataserver: Don't print warning if e_sexp_parse() fails
Backends that don't support the full range of queries call e_sexp_parse() with
their reduced set of symbols to check if they actually can process a query or
if they must resort to full table scans. If now such a backend is used from
within a GTest based test this warning causes the test to fail, which obviously
is bad. Therefore this patch drops the warning in e_sexp_parse() and moves it
to hopefully more appropriate places.
Mathias Hasselmann [Thu, 6 Dec 2012 21:18:23 +0000 (22:18 +0100)]
libedata-book: Simplify signature of sexp helpers
The compare() and list_compare() functions are used as plain boolean
predicates. Still the function signature required the helpers to return
a fancy string without actually describing the requirements for that
string. Let's stop that now.
Mathias Hasselmann [Tue, 11 Dec 2012 09:53:00 +0000 (10:53 +0100)]
libedata-book: Use slice allocator for EbSdbSearchData
EbSdbSearchData is a tiny object that gets allocated for each search result.
For such objects the slice allocator must be used to improve performance and
to reduce memory fragmentation.
Mathias Hasselmann [Tue, 4 Dec 2012 21:40:11 +0000 (22:40 +0100)]
build: Move langinfo checks into autoconf macro
Also add a check for _NL_ADDRESS_COUNTRY_AB2.
Actually this second check was the motivation for touching this.
Mathias Hasselmann [Wed, 5 Dec 2012 12:48:12 +0000 (13:48 +0100)]
tests: Verify more EBook queries
Mathias Hasselmann [Wed, 5 Dec 2012 11:22:59 +0000 (12:22 +0100)]
tests: Port libebook/test-query.c to GTest
Ihar Hrachyshka [Wed, 16 Jan 2013 11:27:19 +0000 (14:27 +0300)]
Updated Belarusian translation.
Daniel Mustieles [Tue, 15 Jan 2013 17:10:42 +0000 (18:10 +0100)]
Updated Spanish translation
Mathias Hasselmann [Tue, 15 Jan 2013 11:19:35 +0000 (12:19 +0100)]
legal: Update copyright notice of our recent contributions.
Krasimir Chonov [Tue, 15 Jan 2013 05:40:59 +0000 (07:40 +0200)]
Updated Bulgarian translation
Fran Diéguez [Sun, 13 Jan 2013 16:35:39 +0000 (17:35 +0100)]
Updated Galician translations
Matthew Barnes [Sun, 13 Jan 2013 13:09:44 +0000 (08:09 -0500)]
Post-release version bump.
Matthew Barnes [Sun, 13 Jan 2013 12:12:07 +0000 (07:12 -0500)]
NEWS update for 3.7.4 release.
Matej Urbančič [Sun, 13 Jan 2013 10:25:18 +0000 (11:25 +0100)]
Updated Slovenian translation
Matthew Barnes [Sat, 12 Jan 2013 22:04:01 +0000 (17:04 -0500)]
e-data-server-util.c: Fix a couple typos.
Matthew Barnes [Sat, 12 Jan 2013 20:16:20 +0000 (15:16 -0500)]
Deprecate e_util_copy_object_slist().
Use g_slist_copy_deep() instead, and optionally g_slist_concat() to
concatenate the copied list to another GSList.
Matthew Barnes [Sat, 12 Jan 2013 20:14:29 +0000 (15:14 -0500)]
Deprecate e_util_copy_string_slist().
Use g_slist_copy_deep() instead, and optionally g_slist_concat() to
concatenate the copied list to another GSList.
Matthew Barnes [Sat, 12 Jan 2013 19:37:46 +0000 (14:37 -0500)]
Deprecate e_util_free_object_slist().
Use g_slist_free_full() instead.
Matthew Barnes [Sat, 12 Jan 2013 19:36:24 +0000 (14:36 -0500)]
Deprecate e_util_free_string_slist().
Use g_slist_free_full() instead.
Matthew Barnes [Sat, 12 Jan 2013 19:33:46 +0000 (14:33 -0500)]
Deprecate e_client_util_free_object_slist().
Use g_slist_free_full() instead.
Matthew Barnes [Sat, 12 Jan 2013 19:32:33 +0000 (14:32 -0500)]
Deprecate e_client_util_free_string_slist().
Use g_slist_free_full() instead.
Matthew Barnes [Sat, 12 Jan 2013 19:31:06 +0000 (14:31 -0500)]
Deprecate e_client_util_copy_object_slist().
Use e_util_copy_object_slist() instead.
Matthew Barnes [Sat, 12 Jan 2013 19:29:46 +0000 (14:29 -0500)]
Deprecate e_client_util_copy_string_slist().
Use e_util_copy_string_slist() instead.
Matthew Barnes [Sat, 12 Jan 2013 19:28:33 +0000 (14:28 -0500)]
Deprecate e_client_util_strv_to_slist().
Use e_util_strv_to_slist() instead.
Matthew Barnes [Sat, 12 Jan 2013 19:27:08 +0000 (14:27 -0500)]
Deprecate e_client_util_slist_to_strv().
Use e_util_slist_to_strv() instead.
Matthew Barnes [Sat, 12 Jan 2013 19:23:48 +0000 (14:23 -0500)]
Simplify e_util_copy_object_slist().
Matthew Barnes [Sat, 12 Jan 2013 19:21:49 +0000 (14:21 -0500)]
Simplify e_util_copy_string_slist().
Matthew Barnes [Sat, 12 Jan 2013 17:11:28 +0000 (12:11 -0500)]
Update API documentation.
Matthew Barnes [Sat, 12 Jan 2013 17:08:23 +0000 (12:08 -0500)]
Restore ESourceWebdav:ignore-invalid-cert property.
Deprecate the property, don't break backward-compatibility.
Matthew Barnes [Sat, 12 Jan 2013 16:47:16 +0000 (11:47 -0500)]
Avoid GSList in new public APIs.
Matthew Barnes [Sat, 12 Jan 2013 16:34:50 +0000 (11:34 -0500)]
Move ETrustPromptResponse to e-source-enums.h.
Matthew Barnes [Sat, 12 Jan 2013 15:54:47 +0000 (10:54 -0500)]
Coding style and whitespace cleanups.
Nilamdyuti Goswami [Fri, 11 Jan 2013 15:44:25 +0000 (21:14 +0530)]
Assamese translation updated
Milan Crha [Fri, 11 Jan 2013 13:27:38 +0000 (14:27 +0100)]
Bug #691477 - exists_vcard is not supported when parsing a query from string
Matthew Barnes [Fri, 11 Jan 2013 12:17:19 +0000 (07:17 -0500)]
ECalBackend: Emit "timezone-added" from outside the cache lock.
The "timezone-added" signal triggers e_timezone_cache_list_timezones()
in ECalBackendStore, which also tries to acquire the cache lock.
Similarly in ECalClient, though less chance of deadlock there.
Milan Crha [Fri, 11 Jan 2013 11:27:47 +0000 (12:27 +0100)]
Bug #690151 - Crash in e_book_backend_file_bump_revision()
Milan Crha [Thu, 10 Jan 2013 19:27:12 +0000 (20:27 +0100)]
CamelMimeFilterPgp: Ignore right side white spaces
Matthew Barnes [Thu, 10 Jan 2013 12:03:11 +0000 (07:03 -0500)]
Bug 691466 - Cache reaper restores old IMAP cache directories
Alter the name of the cache directory when moving it to trash.
Milan Crha [Wed, 9 Jan 2013 22:03:37 +0000 (23:03 +0100)]
Bug #690177 - Use trust-prompt for certificate verification in WebDAV backends
Matthew Barnes [Wed, 9 Jan 2013 19:12:53 +0000 (14:12 -0500)]
ECalBackendStore: Better ensure final save works.
Collect what we need from ETimezoneCache when we schedule the save
instead of relying on ETimezoneCache when we actually do the save.
Matthew Barnes [Wed, 9 Jan 2013 19:24:30 +0000 (14:24 -0500)]
Revert "Add e_cal_backend_store_save()."
This reverts two commits:
a68f14d5573b72ada7e04d090af47f879455e0bc
ad12a30f349d5ca1a44fcdd607d272a8149ab9cf
Thought of a better way to solve the final save problem that doesn't
involve adding new API or modifying backends.
Matthew Barnes [Wed, 9 Jan 2013 17:36:12 +0000 (12:36 -0500)]
weather: Fix build break.
It helps to actually build the weather backend when changing it.
Forgot I had configured E-D-S with --disable-weather.
Matthew Barnes [Wed, 9 Jan 2013 17:02:00 +0000 (12:02 -0500)]
Save changes before finalizing ECalBackendStore.
Matthew Barnes [Wed, 9 Jan 2013 16:53:32 +0000 (11:53 -0500)]
Add e_cal_backend_store_save().
This function cancels the automatic save delay and saves changes to
disk immediately. If no changes have been made since the last save,
the function does nothing.
Milan Crha [Wed, 9 Jan 2013 14:41:10 +0000 (15:41 +0100)]
[http calendar] Ref backend inside source_changed_cb()
In certain situation, the backend can be freed while the callback
is still in action, then the factory can crash inside
cal_backend_http_ensure_uri() or such.
Alban Browaeys [Tue, 8 Jan 2013 15:57:39 +0000 (10:57 -0500)]
Bug 690158 - libedataserver: Vala binding updates
Matthew Barnes [Tue, 8 Jan 2013 15:00:30 +0000 (10:00 -0500)]
CamelObject: Suppress state file warnings for old IMAP accounts.
CamelImapFolder had a persistent "check-folder" property whose value was
recorded in Camel's binary state files under tag 0x2500. This property
is not present in CamelIMAPXFolder, but we may still be reading the tag
for accounts that were migrated from IMAP to IMAPX. Check for that tag
value while reading state files and suppress the runtime warning.
Christian Kirbach [Tue, 8 Jan 2013 13:47:27 +0000 (14:47 +0100)]
Updated German translation
Matthew Barnes [Sat, 5 Jan 2013 06:02:37 +0000 (01:02 -0500)]
weather: Fix build break.
Matthew Barnes [Fri, 4 Jan 2013 19:52:07 +0000 (14:52 -0500)]
ECalBackendFile: Override the ETimezoneCache methods.
This backend stores time zone data directly in an icalcomponent,
so it needs to override the ETimezoneCacheInterface implementation
provided by ECalBackend, which uses a hash table.
Matthew Barnes [Fri, 4 Jan 2013 18:03:43 +0000 (13:03 -0500)]
Remove e_cal_backend_store_put_timezone().
Use the ETimezoneCache API instead:
cache = e_cal_backend_store_ref_timezone_cache (store);
e_timezone_cache_add_timezone (cache, zone);
g_object_unref (cache);
This is another API break. 3rd party backends will have to be adjusted.
Matthew Barnes [Fri, 4 Jan 2013 17:50:30 +0000 (12:50 -0500)]
Remove e_cal_backend_store_get_timezone().
Use the ETimezoneCache API instead:
cache = e_cal_backend_store_ref_timezone_cache (store);
zone = e_timezone_cache_get_timezone (cache, tzid);
... do what you gotta do with zone ...
g_object_unref (cache);
This is another API break. 3rd party backends will have to be adjusted.
Matthew Barnes [Thu, 3 Jan 2013 16:49:44 +0000 (11:49 -0500)]
ECalBackend: Remove internal_get_timezone() method.
No longer needed since ECalBackend implements ETimezoneCache.
Use e_timezone_cache_get_timezone() instead.
Removed functions:
e_cal_backend_internal_get_timezone()
This is another API break. 3rd party backends will have to be adjusted.
Matthew Barnes [Thu, 3 Jan 2013 16:35:15 +0000 (11:35 -0500)]
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.
Matthew Barnes [Thu, 3 Jan 2013 15:26:51 +0000 (10:26 -0500)]
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.
Matthew Barnes [Thu, 3 Jan 2013 15:05:10 +0000 (10:05 -0500)]
e_cal_backend_store_set_default_timezone(): Remove const qualifier.
Same justification as previous commit.
Matthew Barnes [Thu, 3 Jan 2013 14:52:07 +0000 (09:52 -0500)]
e_cal_backend_store_put_timezone(): Remove const qualifier.
Semantics have not changed, but the const qualifier is unnecessary.
None of the icaltimezone API uses const, not even the "get" functions.
So to declare an icaltimezone parameter as const creates type casting
awkwardness on our end.
Matthew Barnes [Thu, 3 Jan 2013 14:13:21 +0000 (09:13 -0500)]
Remove unused e_cal_backend_cache_remove_timezone().
Matthew Barnes [Thu, 3 Jan 2013 14:11:17 +0000 (09:11 -0500)]
Remove unused e_cal_backend_store_remove_timezone().
Matthew Barnes [Thu, 3 Jan 2013 14:22:53 +0000 (09:22 -0500)]
Remove unused e_cal_backend_store_remove().
Matthew Barnes [Thu, 3 Jan 2013 13:37:26 +0000 (08:37 -0500)]
ECalBackend: Implement the ETimezoneCache interface.
Matthew Barnes [Wed, 2 Jan 2013 19:28:14 +0000 (14:28 -0500)]
ECalClient: Implement the ETimezoneCache interface.