platform/upstream/evolution-data-server.git
11 years agoCoding style and whitespace cleanup.
Matthew Barnes [Wed, 8 May 2013 13:14:26 +0000 (09:14 -0400)]
Coding style and whitespace cleanup.

11 years agoECalBackendWeather: e_weather_source_new() is failable.
Matthew Barnes [Tue, 7 May 2013 17:51:37 +0000 (13:51 -0400)]
ECalBackendWeather: e_weather_source_new() is failable.

Backend logic was failing to take this into account and crashing if the
weather location code in the ESource was invalid.

I'm not sure if EWeatherSource is even worth keeping around, but I'll
come back to that later.  Not doing an all-out rewrite at the moment.

11 years agoEWeatherSource cleanups.
Matthew Barnes [Tue, 7 May 2013 16:18:47 +0000 (12:18 -0400)]
EWeatherSource cleanups.

11 years agoBug 699024 - [google/yahoo] Don't override username
Matthew Barnes [Mon, 6 May 2013 14:02:41 +0000 (10:02 -0400)]
Bug 699024 - [google/yahoo] Don't override username

When mail child sources are added to a google or yahoo collection, avoid
overriding an existing user name setting.  The IMAP or (especially) SMTP
configuration may have been modified to use a non-Google/Yahoo! server.

11 years agoECalClientView: Make D-Bus signal handlers thread-safe.
Matthew Barnes [Sat, 4 May 2013 13:44:00 +0000 (09:44 -0400)]
ECalClientView: Make D-Bus signal handlers thread-safe.

Seeing crashes now where handler functions for D-Bus signals like
"objects-added" are receiving finalized ECalClientView instances.
Possibly a side-effect of recent changes to GMainContext usage.

Use the trick of passing an allocated GWeakRef along with a suitable
GClosureNotify to g_signal_connect_data().  The handler function will
just return quietly if it can't obtain a strong client view reference.

11 years agoEBookClientView: Make D-Bus signal handlers thread-safe.
Matthew Barnes [Sat, 4 May 2013 14:32:36 +0000 (10:32 -0400)]
EBookClientView: Make D-Bus signal handlers thread-safe.

Seeing crashes now where handler functions for D-Bus signals like
"objects-added" are receiving finalized EBookClientView instances.
Possibly a side-effect of recent changes to GMainContext usage.

Use the trick of passing an allocated GWeakRef along with a suitable
GClosureNotify to g_signal_connect_data().  The handler function will
just return quietly if it can't obtain a strong client view reference.

11 years agoBug 699223 - Emit view signals from context where view was started
Matthew Barnes [Fri, 3 May 2013 17:14:53 +0000 (13:14 -0400)]
Bug 699223 - Emit view signals from context where view was started

This applies to both EBookClientView and ECalClientView.

Incoming D-Bus signals were being propagated to the EClient's main loop
context, but there may not be a running main loop on that thread, so the
main loop sources were never being dispatched and the view signals never
emitted.

Instead use the main loop context which was the thread-default at the
time the view was started, which is often the so-called "main" thread
where a main loop is more likely to be running.

11 years agoIMAPX: Recognize RFC 5530 response codes.
Matthew Barnes [Thu, 2 May 2013 23:34:37 +0000 (19:34 -0400)]
IMAPX: Recognize RFC 5530 response codes.

11 years agoBug 699160 - IMAPX: Always flush debugging messages
Matthew Barnes [Thu, 2 May 2013 21:39:42 +0000 (17:39 -0400)]
Bug 699160 - IMAPX: Always flush debugging messages

Had a debugging scenario where key information was not written to a log
file until another IMAP command was issued.  Caused a bit of confusion.
This commit ensures that won't happen again.

11 years agocamel_imapx_debug() cleanups.
Matthew Barnes [Thu, 2 May 2013 21:38:25 +0000 (17:38 -0400)]
camel_imapx_debug() cleanups.

11 years agoMake camel_mime_message_dump() dump message contents
Dan Williams [Thu, 2 May 2013 20:36:22 +0000 (15:36 -0500)]
Make camel_mime_message_dump() dump message contents

Previously unimplemented.  Dumps in hex and ASCII:

class: CamelMimeMessage
mime-type: text/plain; charset="UTF-8"
content class: CamelDataWrapper
content mime-type: text/plain; charset="UTF-8"
content len 967
    4f 6e 20 54 68 75 2c 20 32 30 31 33 2d 30 35 2d    On Thu, 2013-05-
    30 32 20 61 74 20 31 34 3a 31 37 20 2d 30 35 30    02 at 14:17 -050
    30 2c 20 44 61 6e 20 57 69 6c 6c 69 61 6d 73 20    0, Dan Williams
    77 72 6f 74 65 3a 0a 3e 20 4f 6e 20 54 68 75 2c    wrote:.> On Thu,
    20 32 30 31 33 2d 30 35 2d 30 32 20 61 74 20 31     2013-05-02 at 1
    31 3a 35 33 20 2d 30 37 30 30 2c 20 4c 69 6e 75    1:53 -0700, Linu
    73 20 54 6f 72 76 61 6c 64 73 20 77 72 6f 74 65    s Torvalds wrote
    3a 0a 3e 20 3e 20 4f 6e 20 54 68 75 2c 20 4d 61    :.> > On Thu, Ma
    79 20 32 2c 20 32 30 31 33 20 61 74 20 31 31 3a    y 2, 2013 at 11:

(02:09:38 PM) mbarnes: dcbw: nice, I forgot about camel_mime_message_dump() -- go ahead and commit that

11 years agoBug 699461 - Accept any 2xx HTTP code as successful DELETE
Matthew Barnes [Thu, 2 May 2013 18:48:28 +0000 (14:48 -0400)]
Bug 699461 - Accept any 2xx HTTP code as successful DELETE

11 years agoESource: Fix a compiler warning.
Matthew Barnes [Thu, 2 May 2013 12:55:40 +0000 (08:55 -0400)]
ESource: Fix a compiler warning.

11 years agoBug 698725 - ESourceRegistry: Handle service restarts gracefully
Matthew Barnes [Sun, 28 Apr 2013 01:36:46 +0000 (21:36 -0400)]
Bug 698725 - ESourceRegistry: Handle service restarts gracefully

Check GDBusObjectManagerClient's "name-owner" property when handling
"object-added" and "object-removed" signals.  If the property is NULL,
implement a strategy that swaps out the ESource's old proxy object for
an equivalent replacement such that applications should remain unaware
of the service restart.

This is important to handle gracefully not only for crash recovery, but
also when the registry service receives a Reload() method invocation or
a SIGHUP, both of which cause it to temporarily release its well-known
bus name and reload key files.

11 years agoe_source_ref_dbus_object: Use the property lock.
Matthew Barnes [Sat, 27 Apr 2013 15:18:22 +0000 (11:18 -0400)]
e_source_ref_dbus_object: Use the property lock.

ESourceRegistry is going to swap out the GDBusObject as part of the
recovery strategy for evolution-source-registry restarts, so we need
to make sure e_source_ref_dbus_object() is properly thread-safe.

11 years agoESourceRegistry: object_path_table cleanups.
Matthew Barnes [Tue, 30 Apr 2013 17:52:19 +0000 (13:52 -0400)]
ESourceRegistry: object_path_table cleanups.

11 years agoAdd source_registry_dbus_object_dup_uid().
Matthew Barnes [Tue, 30 Apr 2013 17:45:44 +0000 (13:45 -0400)]
Add source_registry_dbus_object_dup_uid().

Handy internal utility for ESourceRegistry.

This also happens to fix an EDBusSource reference leak in
source_registry_create_sources_object_added_cb().

11 years agoUpdated Slovenian translation
Matej Urbančič [Wed, 1 May 2013 18:32:29 +0000 (20:32 +0200)]
Updated Slovenian translation

11 years agoPost-release version bump.
Matthew Barnes [Sun, 28 Apr 2013 16:19:25 +0000 (12:19 -0400)]
Post-release version bump.

11 years agoNEWS update for 3.9.1 release.
Matthew Barnes [Sun, 28 Apr 2013 15:35:23 +0000 (11:35 -0400)]
NEWS update for 3.9.1 release.

11 years agoFix reference leak in book_client_view_emit_objects_modified().
Matthew Barnes [Sun, 28 Apr 2013 14:57:27 +0000 (10:57 -0400)]
Fix reference leak in book_client_view_emit_objects_modified().

This was causing test-client-photo-is-uri to fail.

11 years agoEGoaClient nitpicks.
Matthew Barnes [Sat, 27 Apr 2013 13:28:13 +0000 (09:28 -0400)]
EGoaClient nitpicks.

11 years agoBug 698726 - Handle goa-daemon crashes/restarts gracefully
Matthew Barnes [Sat, 27 Apr 2013 12:47:18 +0000 (08:47 -0400)]
Bug 698726 - Handle goa-daemon crashes/restarts gracefully

EGoaClient is an improved GoaClient that handles daemon crashes and
restarts gracefully so E-D-S accounts are not destroyed unnecessarily.

11 years agoUpdated Czech translation
Marek Černocký [Fri, 26 Apr 2013 21:53:24 +0000 (23:53 +0200)]
Updated Czech translation

11 years agoTamil Translation Updated
Shantha kumar [Thu, 25 Apr 2013 12:47:08 +0000 (18:17 +0530)]
Tamil Translation Updated

11 years agoUpdated Greek translation
Dimitris Spingos [Thu, 25 Apr 2013 06:24:30 +0000 (09:24 +0300)]
Updated Greek translation

11 years agoImprove error handling in imapx_server_get_message().
Matthew Barnes [Wed, 24 Apr 2013 14:09:09 +0000 (10:09 -0400)]
Improve error handling in imapx_server_get_message().

If a GET_MESSAGE job for the same UID is already in progress, wait for
the job to finish, but don't assume it was successful.  Try retrieving
the message from cache, but if that fails then we have to re-fetch the
message from the IMAP server.

11 years agoECalClient test: test-client-get-revision not broken anymore
Tristan Van Berkom [Wed, 24 Apr 2013 08:49:23 +0000 (17:49 +0900)]
ECalClient test: test-client-get-revision not broken anymore

Not sure how this is passing again, but it is.

11 years agoDo not consider PGP and S/MIME subparts as attachments
Milan Crha [Wed, 24 Apr 2013 06:53:41 +0000 (08:53 +0200)]
Do not consider PGP and S/MIME subparts as attachments

11 years agotest-client-custom-summary.c: Optimize test.
Tristan Van Berkom [Tue, 23 Apr 2013 10:30:51 +0000 (19:30 +0900)]
test-client-custom-summary.c: Optimize test.

Reuse the same two addressbooks for every test, so that only the
first 2 tests populate the addressbooks with contacts and the remaining
tests only create a client and execute a query.

Also add all test contacts with a single batch command and dont fetch
the test contacts, also removed the #if 0'd case which is the only
case which required the local contact copies.

11 years agotest-server-utils: Allow reuse of existing addressbook.
Tristan Van Berkom [Fri, 19 Apr 2013 10:48:08 +0000 (19:48 +0900)]
test-server-utils: Allow reuse of existing addressbook.

If committing the new scratch source ends with an error that
the addressbook/calendar already exists, then just use the existing
source instead of bailing out.

This is needed for tests which reuse the addressbook from a previous test.

Conflicts:

tests/test-server-utils/e-test-server-utils.c

11 years agoUpdated Spanish translation
Daniel Mustieles [Mon, 22 Apr 2013 15:48:15 +0000 (17:48 +0200)]
Updated Spanish translation

11 years ago[l10n] Updated Catalan (Valencian) translation
Carles Ferrando [Fri, 19 Apr 2013 22:29:32 +0000 (00:29 +0200)]
[l10n] Updated Catalan (Valencian) translation

11 years ago[l10n] Update Catalan translation
Gil Forcada [Fri, 19 Apr 2013 22:28:29 +0000 (00:28 +0200)]
[l10n] Update Catalan translation

11 years agoECalClientView: Remove unnecessary fetching of ECalClient.
Matthew Barnes [Thu, 18 Apr 2013 14:45:34 +0000 (10:45 -0400)]
ECalClientView: Remove unnecessary fetching of ECalClient.

Left over from the D-Bus error stripping work.

11 years agoEBookClientView: Remove unnecessary fetching of EBookClient.
Matthew Barnes [Thu, 18 Apr 2013 14:44:20 +0000 (10:44 -0400)]
EBookClientView: Remove unnecessary fetching of EBookClient.

Left over from the D-Bus error stripping work.

11 years agoBug #698261 - Skip invalid flags in imapx_parse_flags()
Milan Crha [Thu, 18 Apr 2013 12:14:48 +0000 (14:14 +0200)]
Bug #698261 - Skip invalid flags in imapx_parse_flags()

Previous patch had incorrectly implemented skip of the broken flag,
which fixes this change.

11 years agoBug #698261 - Skip invalid flags in imapx_parse_flags()
Milan Crha [Thu, 18 Apr 2013 10:27:16 +0000 (12:27 +0200)]
Bug #698261 - Skip invalid flags in imapx_parse_flags()

11 years agoCamelStoreSettings::filter-inbox: Change default to TRUE
Milan Crha [Thu, 18 Apr 2013 06:35:18 +0000 (08:35 +0200)]
CamelStoreSettings::filter-inbox: Change default to TRUE

11 years agoLC_ADDRESS is a GNU extension. Treat it as such.
Matthew Barnes [Wed, 17 Apr 2013 14:37:13 +0000 (10:37 -0400)]
LC_ADDRESS is a GNU extension. Treat it as such.

Unconditional use of the GNU extension LC_ADDRESS causes compiler
errors on non-GNU systems.

In test cases, use LC_MESSAGES if LC_ADDRESS is unavailable.
Also fail gracefully with a log message if setlocale() fails.

11 years agoESource: Move "remember-password" to Authentication extension.
Matthew Barnes [Wed, 17 Apr 2013 10:48:06 +0000 (06:48 -0400)]
ESource: Move "remember-password" to Authentication extension.

It's a more suitable place since the option is only relevant to
EAuthenticationSession.

11 years agoBug #691939 - Password prompt has "save password" always checked
Milan Crha [Wed, 17 Apr 2013 09:24:59 +0000 (11:24 +0200)]
Bug #691939 - Password prompt has "save password" always checked

11 years agoRemove backward-compatibility cruft for goa-1.0 < 3.8.
Matthew Barnes [Tue, 16 Apr 2013 17:31:02 +0000 (13:31 -0400)]
Remove backward-compatibility cruft for goa-1.0 < 3.8.

In particular, GOA's Google provider uses OAuth 2.0 now, so we can
drop the OAuth 1.0a support in EGDataGoaAuthorizer and with it the
last lingering goa-1.0 dependency outside of the GOA module.

11 years agoBump minimum goa-1.0 requirement to 3.8.
Matthew Barnes [Tue, 16 Apr 2013 15:42:38 +0000 (11:42 -0400)]
Bump minimum goa-1.0 requirement to 3.8.

Still an optional dependency.  This is to purge backward-compat cruft.

11 years agoSwitch NULL to empty string in e_util_utf8_{data_}make_valid()
Milan Crha [Tue, 16 Apr 2013 14:51:50 +0000 (16:51 +0200)]
Switch NULL to empty string in e_util_utf8_{data_}make_valid()

It's used on various places which expect a valid string, but which
doesn't check for NULL values of the string, which can cause a crash,
like xtian found with e_data_cal_respond_get_object(), which can have
passed in a NULL object. This change is also to avoid NULL-checking
on too many places.

11 years agoEBookBackendSqliteDB: Avoid summary introspection on initial creation.
Tristan Van Berkom [Tue, 16 Apr 2013 08:18:53 +0000 (17:18 +0900)]
EBookBackendSqliteDB: Avoid summary introspection on initial creation.

The summary introspection does not introspect whether regular prefix
indexes are created, which is acceptable since it does not effect queries.

However since we introspect before creating the indexes, we lose the
configured index information which is needed to initially create those
indexes.

This patch simply checks if the table exists when initially creating
the summary and avoids the introspection if the table is being created
for the first time.

11 years agoAutomatically strip D-Bus info from error messages.
Matthew Barnes [Mon, 15 Apr 2013 22:54:41 +0000 (18:54 -0400)]
Automatically strip D-Bus info from error messages.

I mistakenly assumed code generated by the gdbus-codegen tool would
automatically strip off the D-Bus error name from error messages, but
that apparently is not possible according to my discussion with David
Zeuthen in [1], since it would break g_dbus_error_is_remote_error().

Distinguishing between local and remote errors strikes me as a rarely
needed corner case, and is certainly not worth the extra step imposed
on applications when dealing with something as fundamental as GError.

This commit prevents the D-Bus error name from leaking through in any
Evolution-Data-Server client-facing library functions.

Also rename any stack-allocated GError pointers to 'local_error' to
help distinguish them from GError "out" parameters which are always
named 'error'.  This is just to improve variable name consistency.

[1] https://bugzilla.gnome.org/697819

11 years agoBug 695578 - Trailing space in translatable string
Matthew Barnes [Mon, 15 Apr 2013 11:42:26 +0000 (07:42 -0400)]
Bug 695578 - Trailing space in translatable string

11 years agoBug 697705 - e_cal_client_remove_objects_sync() crashes on empty UID
Matthew Barnes [Sun, 14 Apr 2013 14:31:20 +0000 (10:31 -0400)]
Bug 697705 - e_cal_client_remove_objects_sync() crashes on empty UID

11 years agoTest suite cleanups.
Matthew Barnes [Sun, 14 Apr 2013 13:24:04 +0000 (09:24 -0400)]
Test suite cleanups.

11 years agobuild: Fix srcdir != builddir from git
Colin Walters [Fri, 12 Apr 2013 13:23:53 +0000 (09:23 -0400)]
build: Fix srcdir != builddir from git

We can't do (cd $(srcdir); ...) and inside reference $(top_srcdir)
because that variable uses a *relative* path.  Thus we copy the
approach from gnome-shell of explicitly using addprefix to append the
source directory.

11 years agoBug #696757 - Do not use dynamic keys in g_object_set_data()
Milan Crha [Fri, 12 Apr 2013 08:38:55 +0000 (10:38 +0200)]
Bug #696757 - Do not use dynamic keys in g_object_set_data()

11 years agoBug #681837 - Make enum type registration thread safe
Milan Crha [Fri, 12 Apr 2013 07:44:42 +0000 (09:44 +0200)]
Bug #681837 - Make enum type registration thread safe

11 years agoBug 697734 - Memory leak in local calendar backend
Matthew Barnes [Thu, 11 Apr 2013 15:17:58 +0000 (11:17 -0400)]
Bug 697734 - Memory leak in local calendar backend

We were leaking an icalproperty while seeding the "revision" D-Bus
property during instance initialization, because the backend does
not yet have an icalcomponent to hold the icalproperty.

This commit avoids the leak during instance initialization, but also
makes sure the "revision" property gets updated once the backend does
have an icalcomponent.

11 years agoECalBackendFile: Indentation cleanups.
Matthew Barnes [Thu, 11 Apr 2013 13:45:24 +0000 (09:45 -0400)]
ECalBackendFile: Indentation cleanups.

Tabs, not spaces.

11 years agoUpdated Hungarian translation
Balázs Úr [Wed, 10 Apr 2013 21:13:31 +0000 (23:13 +0200)]
Updated Hungarian translation

11 years agoCamelIMAPXServer: Rewrite duplicate message fetching.
Matthew Barnes [Mon, 8 Apr 2013 18:09:13 +0000 (14:09 -0400)]
CamelIMAPXServer: Rewrite duplicate message fetching.

The g_cond_wait() call in imapx_server_get_message() seems to be the
source of many deadlocks.  Possibly because some of the error handling
branches in that function fail to broadcast the GCond being waited on,
and cancellation is a very common error condition, especially when the
user is rapidly browsing through messages.

The code is attempting to wait for the completion of a GET_MESSAGE job
for the same UID which is already queued.  It's doing this by defining
its own GMutex and GCond, but it turns out we already have a function
for this: camel_imapx_job_wait().

Let's try using camel_imapx_job_wait() there.  It can't do worse than
the current situation, and we can kill off the specialized GMutex and
GCond variables which were unfortunately made public.

11 years agoBug #271262 - Allow Send/Receive of local stores in offline
Milan Crha [Mon, 8 Apr 2013 17:19:33 +0000 (19:19 +0200)]
Bug #271262 - Allow Send/Receive of local stores in offline

11 years agoEBookBackendWebdav: Defer to default get_contact_list_uids_sync().
Matthew Barnes [Sat, 6 Apr 2013 17:10:37 +0000 (13:10 -0400)]
EBookBackendWebdav: Defer to default get_contact_list_uids_sync().

11 years agoEBookBackendGoogle: Defer to default get_contact_list_uids_sync().
Matthew Barnes [Sat, 6 Apr 2013 17:08:13 +0000 (13:08 -0400)]
EBookBackendGoogle: Defer to default get_contact_list_uids_sync().

11 years agoEBookBackend: Make get_contact_list_uids_sync() optional.
Matthew Barnes [Sat, 6 Apr 2013 16:59:39 +0000 (12:59 -0400)]
EBookBackend: Make get_contact_list_uids_sync() optional.

This method is now optional.  By default, get_contact_list_uids_sync()
simply calls get_contact_list_sync() and extracts UID strings from the
matched EContacts.  Subclasses may override this if they can implement
it more efficiently.

11 years agoEBookBackend: Minor code rearrangement.
Matthew Barnes [Sat, 6 Apr 2013 16:48:53 +0000 (12:48 -0400)]
EBookBackend: Minor code rearrangement.

11 years agoEBookBackendGoogle: Implement the new backend API.
Matthew Barnes [Fri, 5 Apr 2013 17:33:32 +0000 (13:33 -0400)]
EBookBackendGoogle: Implement the new backend API.

At the same time I converted back to using synchronous GData functions,
which makes the logic flow much easier to follow (in my opinion).

I'm not sure why the asynchronous functions were used in the first place
when each backend method is invoked from a worker thread where it's safe
to block.  Maybe the threading model was different at the time, I really
don't know.  The commit history does not reveal the rationale.

11 years agoEBookBackendGoogle cleanups.
Matthew Barnes [Fri, 5 Apr 2013 14:50:18 +0000 (10:50 -0400)]
EBookBackendGoogle cleanups.

11 years agoUpdated Danish translation
Joe Hansen [Sat, 6 Apr 2013 08:39:22 +0000 (10:39 +0200)]
Updated Danish translation

11 years agoEBookBackendWebdav: Remove unused macros.
Matthew Barnes [Fri, 5 Apr 2013 14:40:36 +0000 (10:40 -0400)]
EBookBackendWebdav: Remove unused macros.

11 years agoEBookBackendWebdav: Implement the new backend API.
Matthew Barnes [Fri, 5 Apr 2013 14:30:45 +0000 (10:30 -0400)]
EBookBackendWebdav: Implement the new backend API.

11 years agoEBookBackendWebdav cleanups.
Matthew Barnes [Fri, 5 Apr 2013 13:27:36 +0000 (09:27 -0400)]
EBookBackendWebdav cleanups.

11 years agoUpdated POTFILES.in
Piotr Drąg [Thu, 4 Apr 2013 20:37:33 +0000 (22:37 +0200)]
Updated POTFILES.in

11 years agosqlite addressbook: fix memory corruption in get_revision
Patrick Ohly [Wed, 3 Apr 2013 14:45:28 +0000 (07:45 -0700)]
sqlite addressbook: fix memory corruption in get_revision

Instead of setting a pointer, the pointer pointing to the pointer was
overwritten. As a result, e_book_backend_file_load_revision() always saw a
NULL pointer when opening the address book (regardless whether in
evolution-addressbook-factory or a DRA client) and used
e_book_backend_file_bump_revision() to write a new revision.

It is not entirely clear whether overwriting the wrong pointer (which was on
the stack and thus should not have been that important) or these concurrent
writes were to blame, but testing shows that this fix solves a mysterious
sqlite query failure ("corrupt database") in the DRA client when running
SyncEvolution's testpim.py TestContacts.testFilterStartupRefineSmart.

Fixes BGO #697173.

11 years agoRemove EBookBackendSync.
Matthew Barnes [Wed, 3 Apr 2013 20:31:58 +0000 (16:31 -0400)]
Remove EBookBackendSync.

Useless subclass, added no value other than a slightly less awkward API.

11 years agoEBookBackendFile: Implement the new backend API.
Matthew Barnes [Wed, 3 Apr 2013 16:52:25 +0000 (12:52 -0400)]
EBookBackendFile: Implement the new backend API.

11 years agoEBookBackendFile cleanups.
Matthew Barnes [Wed, 3 Apr 2013 16:41:36 +0000 (12:41 -0400)]
EBookBackendFile cleanups.

11 years agoEBookBackend: Add the new backend API alongside the old one.
Matthew Barnes [Wed, 3 Apr 2013 12:26:27 +0000 (08:26 -0400)]
EBookBackend: Add the new backend API alongside the old one.

The new and old EBookBackend class methods will co-exist temporarily,
so I can start converting the simpler EBookBackendSync-based backends
and make final adjustments to the new API.

11 years agoRemove e_data_cal_is_opened().
Matthew Barnes [Wed, 3 Apr 2013 19:24:29 +0000 (15:24 -0400)]
Remove e_data_cal_is_opened().

With the new public API in place, ECalBackend can own its "opened"
state again.

11 years agoRemove e_data_book_is_opened().
Matthew Barnes [Wed, 3 Apr 2013 19:15:24 +0000 (15:15 -0400)]
Remove e_data_book_is_opened().

With the new public API in place, EBookBackend can own its "opened"
state again.

11 years agoEBookBackend: Fix a GError typo.
Matthew Barnes [Wed, 3 Apr 2013 13:50:15 +0000 (09:50 -0400)]
EBookBackend: Fix a GError typo.

11 years agoRemove e_cal_backend_sync_set_lock().
Matthew Barnes [Tue, 2 Apr 2013 18:33:09 +0000 (14:33 -0400)]
Remove e_cal_backend_sync_set_lock().

ECalBackendSync purports to offer serialized method dispatching but
implements it completely wrong.  Backends which rely on this should
instead set use_serial_dispatch_queue in their class_init() method.

11 years agoECalBackendClass: Add a 'use_serial_dispatch_queue' option.
Matthew Barnes [Tue, 2 Apr 2013 18:25:48 +0000 (14:25 -0400)]
ECalBackendClass: Add a 'use_serial_dispatch_queue' option.

ECalBackend subclasses can set this to TRUE to use a serial dispatch
queue, instead of a concurrent dispatch queue.  A serial dispatch queue
executes one method at a time in the order in which methods were called.
This is generally slower than a concurrent dispatch queue, but can help
ECalBackend subclasses avoid thread-safety issues.

11 years agoEBookBackendClass: Add a 'use_serial_dispatch_queue' option.
Matthew Barnes [Tue, 2 Apr 2013 16:42:34 +0000 (12:42 -0400)]
EBookBackendClass: Add a 'use_serial_dispatch_queue' option.

EBookBackend subclasses can set this to TRUE to use a serial dispatch
queue, instead of a concurrent dispatch queue.  A serial dispatch queue
executes one method at a time in the order in which methods were called.
This is generally slower than a concurrent dispatch queue, but can help
EBookBackend subclasses avoid thread-safety issues.

11 years agoECalClient: Use G_DBUS_MESSAGE_FLAGS_NO_REPLY_EXPECTED for close().
Matthew Barnes [Tue, 2 Apr 2013 14:25:50 +0000 (10:25 -0400)]
ECalClient: Use G_DBUS_MESSAGE_FLAGS_NO_REPLY_EXPECTED for close().

Invoke the close() method without a callback function so the server
knows not to reply.  ECalClient tests that use GTestDBus generally
close their GDBusConnection immediately after disposing ECalClient,
and because we call close() asynchronously the server sometimes has
no chance to reply before the GDBusConnection closes, resulting in
a spurious console warning during the test.

11 years agoEBookClient: Use G_DBUS_MESSAGE_FLAGS_NO_REPLY_EXPECTED for close().
Matthew Barnes [Tue, 2 Apr 2013 13:53:08 +0000 (09:53 -0400)]
EBookClient: Use G_DBUS_MESSAGE_FLAGS_NO_REPLY_EXPECTED for close().

Invoke the close() method without a callback function so the server
knows not to reply.  EBookClient tests that use GTestDBus generally
close their GDBusConnection immediately after disposing EBookClient,
and because we call close() asynchronously the server sometimes has
no chance to reply before the GDBusConnection closes, resulting in
a spurious console warning during the test.

11 years agoUpdated Basque language
Inaki Larranaga Murgoitio [Tue, 2 Apr 2013 08:32:32 +0000 (10:32 +0200)]
Updated Basque language

11 years agoEBookBackendFile: Prefer EClientError domain.
Matthew Barnes [Tue, 2 Apr 2013 02:28:19 +0000 (22:28 -0400)]
EBookBackendFile: Prefer EClientError domain.

The E_DATA_BOOK_ERROR domain will die when I'm finished with the backend
API rewrite, but I'm not quite ready to go all out with it yet.  This is
just to make the direct access mode tests happy again.

11 years agoRemove e_return_data_cal_error_val_if_fail() macro.
Matthew Barnes [Mon, 1 Apr 2013 21:56:53 +0000 (17:56 -0400)]
Remove e_return_data_cal_error_val_if_fail() macro.

No longer used, and backends had been mainly misusing it anyway.

11 years agoRemove e_return_data_cal_error_if_fail() macro.
Matthew Barnes [Mon, 1 Apr 2013 21:55:40 +0000 (17:55 -0400)]
Remove e_return_data_cal_error_if_fail() macro.

No longer used, and backends had been mainly misusing it anyway.

11 years agoRemove e_return_data_book_error_val_if_fail() macro.
Matthew Barnes [Mon, 1 Apr 2013 21:49:32 +0000 (17:49 -0400)]
Remove e_return_data_book_error_val_if_fail() macro.

No longer used, and backends had been mainly misusing it anyway.

11 years agoRemove e_return_data_book_error_if_fail() macro.
Matthew Barnes [Mon, 1 Apr 2013 21:47:01 +0000 (17:47 -0400)]
Remove e_return_data_book_error_if_fail() macro.

No longer used, and backends had been mainly misusing it anyway.

11 years agoECalBackendSync: Prefer EClientError domain.
Matthew Barnes [Mon, 1 Apr 2013 21:44:16 +0000 (17:44 -0400)]
ECalBackendSync: Prefer EClientError domain.

Also, don't return GErrors for argument checks.

11 years agoEBookBackendSync: Prefer EClientError domain.
Matthew Barnes [Mon, 1 Apr 2013 20:55:18 +0000 (16:55 -0400)]
EBookBackendSync: Prefer EClientError domain.

Also, don't return GErrors for argument checks.

11 years agoECalBackend: Prefer EClientError domain.
Matthew Barnes [Mon, 1 Apr 2013 19:46:35 +0000 (15:46 -0400)]
ECalBackend: Prefer EClientError domain.

11 years agoEBookBackend: Prefer EClientError domain.
Matthew Barnes [Mon, 1 Apr 2013 19:38:04 +0000 (15:38 -0400)]
EBookBackend: Prefer EClientError domain.

11 years agoEDataCal: Move data_cal_convert_to_client_error() calls.
Matthew Barnes [Mon, 1 Apr 2013 18:37:39 +0000 (14:37 -0400)]
EDataCal: Move data_cal_convert_to_client_error() calls.

Move these calls out of the "respond" functions so we don't lose them as
we remove the "respond" functions.  Instead, place the calls immediately
before g_dbus_method-invocation_take_error().

11 years agoEDataBook: Move data_book_convert_to_client_error() calls.
Matthew Barnes [Mon, 1 Apr 2013 18:28:28 +0000 (14:28 -0400)]
EDataBook: Move data_book_convert_to_client_error() calls.

Move these calls out of the "respond" functions so we don't lose them as
we remove the "respond" functions.  Instead, place the calls immediately
before g_dbus_method_invocation_take_error().

11 years agoECalBackend: Convert get_backend_property() method.
Matthew Barnes [Mon, 1 Apr 2013 15:08:32 +0000 (11:08 -0400)]
ECalBackend: Convert get_backend_property() method.

This method does not block, so simplify its signature and ditch the
asynchronous wrappers.  Also, ECalBackendSync does not need its own
get_backend_property_sync() method.

Removed functions:

    e_cal_backend_get_backend_property_sync()
    e_cal_backend_get_backend_property_finish()
    e_cal_backend_sync_get_backend_property()
    e_data_cal_respond_get_backend_property()

11 years agoEBookBackend: Convert get_backend_property() method.
Matthew Barnes [Mon, 1 Apr 2013 13:21:59 +0000 (09:21 -0400)]
EBookBackend: Convert get_backend_property() method.

This method does not block, so simplify its signature and ditch the
asynchronous wrappers.  Also, EBookBackendSync does not need its own
get_backend_property_sync() method.

Removed functions:

    e_book_backend_get_backend_property_sync()
    e_book_backend_get_backend_property_finish()
    e_book_backend_sync_get_backend_property()
    e_data_book_respond_get_backend_property()

11 years agoECalBackend: Make the "cache-dir" property thread-safe.
Matthew Barnes [Mon, 1 Apr 2013 13:03:26 +0000 (09:03 -0400)]
ECalBackend: Make the "cache-dir" property thread-safe.

New function:

    e_cal_backend_dup_cache_dir()

11 years agoEBookBackend: Make the "cache-dir" property thread-safe.
Matthew Barnes [Mon, 1 Apr 2013 12:48:04 +0000 (08:48 -0400)]
EBookBackend: Make the "cache-dir" property thread-safe.

New function:

    e_book_backend_dup_cache_dir()

11 years agoRemove e_cal_backend_set_is_removed().
Matthew Barnes [Mon, 1 Apr 2013 12:35:58 +0000 (08:35 -0400)]
Remove e_cal_backend_set_is_removed().

Not used by any current backend implementations, and I can't even make
sense of the documentation for it.

11 years agoRemove e_cal_backend_is_removed().
Matthew Barnes [Mon, 1 Apr 2013 12:34:40 +0000 (08:34 -0400)]
Remove e_cal_backend_is_removed().

Not used by any current backend implementations, and I can't even make
sense of the documentation for it.