platform/upstream/evolution-data-server.git
12 years agoStart/stop book/cal views in a dedicated thread
Milan Crha [Tue, 21 Aug 2012 13:22:29 +0000 (15:22 +0200)]
Start/stop book/cal views in a dedicated thread

Thus the backend, if it does any expensive operation during
the start/stop call, will not block factory's main thread,
thus the factory will not get unresponsive. This could happen
during autocompletion, for example.

12 years agoBug #680467 - Crash under camel_folder_search_search()
Milan Crha [Tue, 21 Aug 2012 10:13:34 +0000 (12:13 +0200)]
Bug #680467 - Crash under camel_folder_search_search()

12 years agoUpdated Indonesian translation
Andika Triwidada [Tue, 21 Aug 2012 07:33:16 +0000 (14:33 +0700)]
Updated Indonesian translation

12 years agoFix a compiler warning
Milan Crha [Tue, 21 Aug 2012 07:31:46 +0000 (09:31 +0200)]
Fix a compiler warning

12 years agoUpdated Portuguese translation
Duarte Loreto [Sun, 19 Aug 2012 22:10:21 +0000 (23:10 +0100)]
Updated Portuguese translation

12 years agoPost-release version bump.
Matthew Barnes [Sun, 19 Aug 2012 20:00:51 +0000 (16:00 -0400)]
Post-release version bump.

12 years agoNEWS update for 3.5.90 release.
Matthew Barnes [Sun, 19 Aug 2012 19:51:42 +0000 (15:51 -0400)]
NEWS update for 3.5.90 release.

12 years agoCoding style and whitespace cleanup.
Matthew Barnes [Thu, 12 Jul 2012 12:12:33 +0000 (08:12 -0400)]
Coding style and whitespace cleanup.

12 years agoBug 682103 - -fPIC build fix
Fabien Tassin [Sat, 18 Aug 2012 17:56:16 +0000 (13:56 -0400)]
Bug 682103 - -fPIC build fix

12 years agoBug 682102 - Upstream Debian's 20_gettext_intltool.patch
Matthew Barnes [Sat, 18 Aug 2012 17:37:52 +0000 (13:37 -0400)]
Bug 682102 - Upstream Debian's 20_gettext_intltool.patch

Debian changelog:

    20_gettext_intltool.patch: don't confuse autoreconf by using both
    gettext and intltool.

Taking their word for it...

12 years agoBug 681679 - Typo in migration causes signatures to be dropped
Matthew Barnes [Fri, 17 Aug 2012 23:29:19 +0000 (19:29 -0400)]
Bug 681679 - Typo in migration causes signatures to be dropped

12 years agoUpdated Telugu Translations
Krishnababu Krothapalli [Fri, 17 Aug 2012 13:48:22 +0000 (19:18 +0530)]
Updated Telugu Translations

12 years agocache-reaper: Skip directories named "system".
Matthew Barnes [Fri, 17 Aug 2012 13:23:38 +0000 (09:23 -0400)]
cache-reaper: Skip directories named "system".

12 years agoBug #680744 - IMAP: Does not update folder structure
Milan Crha [Fri, 17 Aug 2012 13:03:03 +0000 (15:03 +0200)]
Bug #680744 - IMAP: Does not update folder structure

12 years agoBug #678289 - Filters are not applied automatically to local maildir Inbox
Milan Crha [Fri, 17 Aug 2012 11:34:45 +0000 (13:34 +0200)]
Bug #678289 - Filters are not applied automatically to local maildir Inbox

12 years agoBug #682038 - "Show only this calendar" broken
Milan Crha [Fri, 17 Aug 2012 11:07:59 +0000 (13:07 +0200)]
Bug #682038 - "Show only this calendar" broken

12 years agoUpdated Serbian translation
Мирослав Николић [Fri, 17 Aug 2012 08:25:01 +0000 (10:25 +0200)]
Updated Serbian translation

12 years agoECalBackendWeather: Remove the remove_sync() method.
Matthew Barnes [Thu, 16 Aug 2012 19:55:17 +0000 (15:55 -0400)]
ECalBackendWeather: Remove the remove_sync() method.

Cache reaper module takes care of the data and cache cleanup now.
When a data source is removed, the backend for it is simply finalized.

12 years agoECalBackendHttp: Remove the remove_sync() method.
Matthew Barnes [Thu, 16 Aug 2012 19:54:28 +0000 (15:54 -0400)]
ECalBackendHttp: Remove the remove_sync() method.

Cache reaper module takes care of the data and cache cleanup now.
When a data source is removed, the backend for it is simply finalized.

12 years agoECalBackendFile: Remove the remove_sync() method.
Matthew Barnes [Thu, 16 Aug 2012 19:53:48 +0000 (15:53 -0400)]
ECalBackendFile: Remove the remove_sync() method.

Cache reaper module takes care of the data and cache cleanup now.
When a data source is removed, the backend for it is simply finalized.

12 years agoECalBackendContacts: Remove the remove_sync() method.
Matthew Barnes [Thu, 16 Aug 2012 19:52:57 +0000 (15:52 -0400)]
ECalBackendContacts: Remove the remove_sync() method.

Cache reaper module takes care of the data and cache cleanup now.
When a data source is removed, the backend for it is simply finalized.

12 years agoECalBackendCaldav: Remove the remove_sync() method.
Matthew Barnes [Thu, 16 Aug 2012 19:52:15 +0000 (15:52 -0400)]
ECalBackendCaldav: Remove the remove_sync() method.

Cache reaper module takes care of the data and cache cleanup now.
When a data source is removed, the backend for it is simply finalized.

12 years agoEBookBackendWebdav: Remove the remove() method.
Matthew Barnes [Thu, 16 Aug 2012 19:48:37 +0000 (15:48 -0400)]
EBookBackendWebdav: Remove the remove() method.

Cache reaper module takes care of the data and cache cleanup now.
When a data source is removed, the backend for it is simply finalized.

12 years agoEBookBackendLDAP: Remove the remove() method.
Matthew Barnes [Thu, 16 Aug 2012 19:47:57 +0000 (15:47 -0400)]
EBookBackendLDAP: Remove the remove() method.

Cache reaper module takes care of the data and cache cleanup now.
When a data source is removed, the backend for it is simply finalized.

12 years agoEBookBackendGoogle: Remove the remove() method.
Matthew Barnes [Thu, 16 Aug 2012 19:47:16 +0000 (15:47 -0400)]
EBookBackendGoogle: Remove the remove() method.

Cache reaper module takes care of the data and cache cleanup now.
When a data source is removed, the backend for it is simply finalized.

12 years agoEBookBackendFile: Remove the remove_sync() method.
Matthew Barnes [Thu, 16 Aug 2012 19:45:07 +0000 (15:45 -0400)]
EBookBackendFile: Remove the remove_sync() method.

Cache reaper module takes care of the data and cache cleanup now.
When a data source is removed, the backend for it is simply finalized.

12 years agoUpdated Galician translations
Fran Diéguez [Thu, 16 Aug 2012 21:26:38 +0000 (23:26 +0200)]
Updated Galician translations

12 years agoDeprecate e_client_remove_sync().
Matthew Barnes [Thu, 16 Aug 2012 19:37:01 +0000 (15:37 -0400)]
Deprecate e_client_remove_sync().

e_client_remove_sync() merely calls e_source_remove_sync() now.

Similarly for e_client_remove() / e_client_remove_finish().

12 years agocache-reaper: Clean up abandoned data directories.
Matthew Barnes [Thu, 16 Aug 2012 18:49:46 +0000 (14:49 -0400)]
cache-reaper: Clean up abandoned data directories.

Cache reaper now cleans up abandoned data directories for local address
books and calendars, but more conservatively than for cache directories.

Whereas a cache directory is marked as trash as soon as its data source
is removed and then allowed to linger for one week, a data directory is
only moved to trash when the registry service starts, and is allowed to
linger for four weeks.  This should give ample time to recover the data
if needed.

12 years agoUpdated Spanish translation
Daniel Mustieles [Thu, 16 Aug 2012 14:08:25 +0000 (16:08 +0200)]
Updated Spanish translation

12 years agoRevert "Export the EDBusAuthenticator interface from an isolated thread."
Matthew Barnes [Thu, 16 Aug 2012 11:47:11 +0000 (07:47 -0400)]
Revert "Export the EDBusAuthenticator interface from an isolated thread."

This reverts commit e13cb4e0ba820694f908fe39255ff8f7a6239038.

Apparently this does not solve the problem it was trying to solve, and
is less stable than what was there before.

12 years agoFix typo.
Matthew Barnes [Wed, 15 Aug 2012 21:58:48 +0000 (17:58 -0400)]
Fix typo.

12 years agoExport the EDBusAuthenticator interface from an isolated thread.
Matthew Barnes [Wed, 15 Aug 2012 21:33:32 +0000 (17:33 -0400)]
Export the EDBusAuthenticator interface from an isolated thread.

This is similar to the problem I had with GDBusObjectManagerClient.
When a GDBusInterfaceSkeleton is exported, it grabs the thread-default
main context and emits method invocation signals from only that context.

Problem is when e_authenticator_try_password_sync() is called on an
EAuthenticationMediator, something may have pushed a different main
context and so the method invocation signal emissions are inhibited
and we eventually time out thinking the client is unresponsive.

The workaround is to export the GDBusInterfaceSkeleton from an
isolated thread where its signals cannot be inhibited.  The thread
runs its own main loop until the EAuthenticationMediator object is
finalized, at which point the thread terminates and is joined with.

12 years agoAdd e_collection_backend_claim_all_resources().
Matthew Barnes [Wed, 15 Aug 2012 16:18:53 +0000 (12:18 -0400)]
Add e_collection_backend_claim_all_resources().

Claims all previously used sources that have not yet been claimed by
e_collection_backend_new_child() and returns them in a GList.  Note
that previously used sources can only be claimed once, so subsequent
calls to this function for backend will return NULL.

The backend is then expected to compare the returned list with a
current list of resources from a remote server, create new ESource
instances as needed with e_collection_backend_new_child(), discard
unneeded ESource instances with e_source_remove(), and export the
remaining instances with e_source_registry_server_add_source().

12 years agoBug 681321 - Support both old and new-buf libxml2 APIs
Colin Walters [Mon, 13 Aug 2012 13:50:50 +0000 (09:50 -0400)]
Bug 681321 - Support both old and new-buf libxml2 APIs

libxml2 changed the API for xmlOutputBuffer incompatibly.
See https://mail.gnome.org/archives/desktop-devel-list/2012-August/msg00004.html

12 years agoBug 681640 - Check for Python interpreter in configure.ac
Matthew Barnes [Mon, 13 Aug 2012 13:39:56 +0000 (09:39 -0400)]
Bug 681640 - Check for Python interpreter in configure.ac

For /addressbook/libebook/gen-western-table.py.

12 years agoAssamese translation updated
Nilamdyuti Goswami [Mon, 13 Aug 2012 08:08:54 +0000 (13:38 +0530)]
Assamese translation updated

12 years agoBump libcamel soname.
Matthew Barnes [Sun, 12 Aug 2012 16:31:57 +0000 (12:31 -0400)]
Bump libcamel soname.

For the previous series of API changes.

12 years agoRename camel_service_get_settings().
Matthew Barnes [Sun, 12 Aug 2012 17:52:58 +0000 (13:52 -0400)]
Rename camel_service_get_settings().

Applying lessons learned from ESourceRegistry.

Rename camel_service_get_settings() to camel_service_ref_settings()
and have it return a new reference.

When returning a pointer to a reference-counted object in a multi-
threaded environment, always increase the object's reference count
before returning so as to transfer a new reference to the caller.

Otherwise it introduces a potential race where the reference-counted
object may lose its last reference and be freed while the caller is
still using the object.  Even if the caller immediately increments
the object's reference count, it's still a potential race.

Transferring a new reference to the caller means the caller must
unreference the object when finished with it so the object will be
properly freed when it's no longer needed.

12 years agoRename camel_session_get_service().
Matthew Barnes [Sun, 12 Aug 2012 14:12:38 +0000 (10:12 -0400)]
Rename camel_session_get_service().

Applying lessons learned from ESourceRegistry.

Rename camel_session_get_service() to camel_session_ref_service()
and have it return a new reference.

When returning a pointer to a reference-counted object in a multi-
threaded environment, always increase the object's reference count
before returning so as to transfer a new reference to the caller.

Otherwise it introduces a potential race where the reference-counted
object may lose its last reference and be freed while the caller is
still using the object.  Even if the caller immediately increments
the object's reference count, it's still a potential race.

Transferring a new reference to the caller means the caller must
unreference the object when finished with it so the object will be
properly freed when it's no longer needed.

Similarly for camel_session_get_service_by_url().

12 years agoHave camel_session_list_services() return new references.
Matthew Barnes [Sun, 12 Aug 2012 13:11:08 +0000 (09:11 -0400)]
Have camel_session_list_services() return new references.

Applying lessons learned from ESourceRegistry.

When returning a pointer to a reference-counted object in a multi-
threaded environment, always increase the object's reference count
before returning so as to transfer a new reference to the caller.

Otherwise it introduces a potential race where the reference-counted
object may lose its last reference and be freed while the caller is
still using the object.  Even if the caller immediately increments
the object's reference count, it's still a potential race.

Transferring a new reference to the caller means the caller must
unreference the object when finished with it so the object will be
properly freed when it's no longer needed.

Making subtle behavioral changes like this without renaming the API
is usually considered bad, but since Evolution is the only consumer
we can easily keep the side-effects under control.

12 years agoCamelSession: Have add_service() return a new reference.
Matthew Barnes [Sun, 12 Aug 2012 12:23:15 +0000 (08:23 -0400)]
CamelSession: Have add_service() return a new reference.

Applying lessons learned from ESourceRegistry.

When returning a pointer to a reference-counted object in a multi-
threaded environment, always increase the object's reference count
before returning so as to transfer a new reference to the caller.

Otherwise it introduces a potential race where the reference-counted
object may lose its last reference and be freed while the caller is
still using the object.  Even if the caller immediately increments
the object's reference count, it's still a potential race.

Transferring a new reference to the caller means the caller must
unreference the object when finished with it so the object will be
properly freed when it's no longer needed.

Making subtle behavioral changes like this without renaming the API
is usually considered bad, but since Evolution is the only consumer
we can easily keep the side-effects under control.

12 years agoCamelSession: Remove camel_session_lock/unlock().
Matthew Barnes [Sun, 12 Aug 2012 12:08:05 +0000 (08:08 -0400)]
CamelSession: Remove camel_session_lock/unlock().

Because exposing mutexes in a public API is horrible.

12 years agoCamelSession: Avoid camel_session_lock/unlock().
Matthew Barnes [Sun, 12 Aug 2012 12:05:08 +0000 (08:05 -0400)]
CamelSession: Avoid camel_session_lock/unlock().

Use an internal mutex to guard the services hash table.

12 years agoCamelSession: Make forward_to() method asynchronous.
Matthew Barnes [Sun, 12 Aug 2012 11:09:12 +0000 (07:09 -0400)]
CamelSession: Make forward_to() method asynchronous.

Missed this while converting the rest of Camel to GIO's async pattern,
but came to realize Evolution's forward_to() implementation starts an
asynchronous CamelFolder.append_to() operation and returns TRUE.

So the return value from camel_session_forward_to() does not actually
indicate whether the message was successfully forwarded.  In fact the
caller has no way of knowing!

This calls for an API break.

Split the forward_to() method into synchronous and asynchronous
variations:

  gboolean  (*forward_to_sync)    (CamelSession *session,
                                   CamelFolder *folder,
                                   CamelMimeMessage *message,
                                   const gchar *address,
                                   GCancellable *cancellable,
                                   GError **error);

  void      (*forward_to)         (CamelSession *session,
                                   CamelFolder *folder,
                                   CamelMimeMessage *message,
                                   const gchar *address,
                                   gint io_priority,
                                   GCancellable *cancellable,
                                   GAsyncReadyCallback callback,
                                   gpointer user_data);

  gboolean  (*forward_to_finish)  (CamelSession *session,
                                   GAsyncResult *result,
                                   GError **error);

12 years agoUpdate API documentation.
Matthew Barnes [Sat, 11 Aug 2012 21:38:20 +0000 (17:38 -0400)]
Update API documentation.

12 years agoUpdate git.mk.
Matthew Barnes [Sat, 11 Aug 2012 15:11:28 +0000 (11:11 -0400)]
Update git.mk.

Source: https://github.com/behdad/git.mk

12 years agoe-book-backend-db-cache.h: Cleanups.
Matthew Barnes [Fri, 10 Aug 2012 12:36:36 +0000 (08:36 -0400)]
e-book-backend-db-cache.h: Cleanups.

Clean up the header file while we're at it.

12 years agoe-book-backend-db-cache.h: Avoid DB typedef.
Matthew Barnes [Fri, 10 Aug 2012 12:31:01 +0000 (08:31 -0400)]
e-book-backend-db-cache.h: Avoid DB typedef.

Some distros use compiler settings that choke on duplicate typedefs.
Gentoo seems to be one of them.

Replace the DB typedef with a forward declaration of "struct __db"
and fix up all the function arguments that take a DB pointer.

12 years agombox_store_get_full_path(): Improve path building.
Matthew Barnes [Fri, 10 Aug 2012 11:34:19 +0000 (07:34 -0400)]
mbox_store_get_full_path(): Improve path building.

Deal with the root path not ending in a directory separator, and use a
GString for heaven sake!

12 years agosource_registry_server_create_source(): Create parent directories.
Matthew Barnes [Fri, 10 Aug 2012 01:55:17 +0000 (21:55 -0400)]
source_registry_server_create_source(): Create parent directories.

Same deal as the previous commit.

12 years agoserver_side_source_write(): Create parent directories.
Matthew Barnes [Fri, 10 Aug 2012 00:12:44 +0000 (20:12 -0400)]
server_side_source_write(): Create parent directories.

Had a situation while restoring from a backup tarball where the
"sources" directory was getting deleted and consequently causing
g_file_replace_contents() to fail.  So always make the directory
immediately before writing the key file to disk.

12 years agoFix typo in camel_debug() call, should be "pop3", not "pop", for POP3 provider
Milan Crha [Fri, 10 Aug 2012 10:14:12 +0000 (12:14 +0200)]
Fix typo in camel_debug() call, should be "pop3", not "pop", for POP3 provider

12 years agoDo not update unread count in source folder for junk/deleted messages
Milan Crha [Thu, 9 Aug 2012 17:21:15 +0000 (19:21 +0200)]
Do not update unread count in source folder for junk/deleted messages

12 years agoBug #681466 - Virtual Trash/Junk not updated on change
Milan Crha [Thu, 9 Aug 2012 17:14:22 +0000 (19:14 +0200)]
Bug #681466 - Virtual Trash/Junk not updated on change

12 years agoUpdated Marathi Translations
Sandeep Sheshrao Shedmake [Thu, 9 Aug 2012 11:33:52 +0000 (17:03 +0530)]
Updated Marathi Translations

12 years agoBug #679488 - Unable to send mail using SMTP
Milan Crha [Thu, 9 Aug 2012 11:25:11 +0000 (13:25 +0200)]
Bug #679488 - Unable to send mail using SMTP

12 years agoUpdated Lithuanian translation
Aurimas Černius [Wed, 8 Aug 2012 20:18:36 +0000 (23:18 +0300)]
Updated Lithuanian translation

12 years agoBug #681046 - Occasional crash of evolution-source-registry
Milan Crha [Wed, 8 Aug 2012 06:52:24 +0000 (08:52 +0200)]
Bug #681046 - Occasional crash of evolution-source-registry

12 years agoUpdated Spanish translation
Daniel Mustieles [Tue, 7 Aug 2012 18:57:37 +0000 (20:57 +0200)]
Updated Spanish translation

12 years agovala: Fix srcdir != builddir
Colin Walters [Tue, 7 Aug 2012 18:04:51 +0000 (14:04 -0400)]
vala: Fix srcdir != builddir

12 years agoFix regression after move to GSimpleAsyncResult in camel_service_disconnect
Milan Crha [Tue, 7 Aug 2012 17:04:39 +0000 (19:04 +0200)]
Fix regression after move to GSimpleAsyncResult in camel_service_disconnect

IMAP provider called disconnect in its finalize method, it was all fine
until move to GSimpleAsyncResult, which requires "live" GObject, which
is not true when called from finalize, thus everything breaks.
Moving the disconnect call to dispose function fixes this.
This was recognized when creating a new IMAP account and querying
for authentication methods.

12 years agoBug #681318 - Filter by Source account doesn't match in local folders
Milan Crha [Tue, 7 Aug 2012 16:13:51 +0000 (18:13 +0200)]
Bug #681318 - Filter by Source account doesn't match in local folders

12 years agoUpdated Traditional Chinese translation(Hong Kong and Taiwan)
Chao-Hsiung Liao [Tue, 7 Aug 2012 05:31:25 +0000 (13:31 +0800)]
Updated Traditional Chinese translation(Hong Kong and Taiwan)

12 years agoUpdated gujarati file
Sweta Kothari [Mon, 6 Aug 2012 06:14:01 +0000 (11:44 +0530)]
Updated gujarati file

12 years agoPost-release version bump.
Matthew Barnes [Sun, 5 Aug 2012 23:41:38 +0000 (19:41 -0400)]
Post-release version bump.

12 years agoNEWS update for 3.5.5 release.
Matthew Barnes [Sun, 5 Aug 2012 23:13:48 +0000 (19:13 -0400)]
NEWS update for 3.5.5 release.

12 years agoAssamese translation updated
Nilamdyuti Goswami [Mon, 6 Aug 2012 03:16:10 +0000 (08:46 +0530)]
Assamese translation updated

12 years agoSilly typo.
Matthew Barnes [Sun, 5 Aug 2012 20:45:22 +0000 (16:45 -0400)]
Silly typo.

12 years agoFix mistake in the previous commit.
Matthew Barnes [Sun, 5 Aug 2012 20:09:36 +0000 (16:09 -0400)]
Fix mistake in the previous commit.

Got the signal emissions mixed up.

12 years agoBug 679808 - e_source_selector_set_primary_selection() has side-effects
Matthew Barnes [Sun, 5 Aug 2012 19:56:18 +0000 (15:56 -0400)]
Bug 679808 - e_source_selector_set_primary_selection() has side-effects

In ESourceSelector parlance, the "primary selection" is the highlighted
tree view item.  A tree view item is "selected" if the check box cell is
ticked.  The two selection states are supposed to be orthogonal.

e_source_selector_set_primary_selection() has apparently for some time
been highlighting the requested item and also activating its check box.
That last part is an unwanted and undocumented side-effect.

This commit removes the side-effect and explicitly states in the API
documentation that the function does NOT alter the item's check box.

12 years agoUpdated Serbian translation
Мирослав Николић [Sat, 4 Aug 2012 02:51:57 +0000 (04:51 +0200)]
Updated Serbian translation

12 years agoevolution-source-viewer: Add icons for new interfaces.
Matthew Barnes [Fri, 3 Aug 2012 16:47:01 +0000 (12:47 -0400)]
evolution-source-viewer: Add icons for new interfaces.

12 years agoe_source_registry_commit_source_sync(): Handle collection members.
Matthew Barnes [Wed, 25 Jul 2012 18:47:57 +0000 (14:47 -0400)]
e_source_registry_commit_source_sync(): Handle collection members.

If a scratch source (with no GDBusObject) references a collection source
as an ancestor call e_source_remote_create_sync() on the collection source
instead of e_source_registry_create_sources_sync().

12 years agoEServerSideSource: Support creating/deleting remote resources.
Matthew Barnes [Thu, 2 Aug 2012 17:51:41 +0000 (13:51 -0400)]
EServerSideSource: Support creating/deleting remote resources.

Add "remote-creatable" and "remote-deletable" properties which work the
same as the "removable" and "writable" properties in terms of exporting
and unexporting D-Bus interfaces.

Add handlers for Create() and Delete() D-Bus method invocations, which
call e_source_remote_create() and e_source_remote_delete() respectively.

Override the remote_create_sync() and remote_delete_sync() methods to
ferry the request to an associated ECollectionBackend (or set an error
if there is no associated ECollectionBackend).

12 years agoESource: Add functions to create/delete remote resources.
Matthew Barnes [Wed, 25 Jul 2012 16:55:49 +0000 (12:55 -0400)]
ESource: Add functions to create/delete remote resources.

12 years agoECollectionBackend: Add virual methods to create/delete resources.
Matthew Barnes [Fri, 20 Jul 2012 17:24:31 +0000 (13:24 -0400)]
ECollectionBackend: Add virual methods to create/delete resources.

12 years agoAdd D-Bus interfaces for remote resource management.
Matthew Barnes [Thu, 19 Jul 2012 12:20:05 +0000 (08:20 -0400)]
Add D-Bus interfaces for remote resource management.

Defines two new D-Bus interfaces for data source object paths:

  org.gnome.evolution.dataserver.Source.RemoteCreatable

    Create() - creates a remote resource

  org.gnome.evolution.dataserver.Source.RemoteDeletable

    Delete() - deletes a remote resource

These methods will be invoked through ESource objects on the client
side.  On the server side, the corresponding EServerSideSource will
receive the method invocation, but forward to an ECollectionBackend
to perform the actual operation.

12 years agoAdd e_source_registry_server_ref_backend().
Matthew Barnes [Mon, 23 Jul 2012 03:27:36 +0000 (23:27 -0400)]
Add e_source_registry_server_ref_backend().

Returns the ECollectionBackend for a given ESource, if one exists.

This works for any collection member: the "collection" ESource itself
as well as any of its hierarchical descendants.

12 years agoRemove collection_backend_children_contains().
Matthew Barnes [Thu, 2 Aug 2012 18:58:49 +0000 (14:58 -0400)]
Remove collection_backend_children_contains().

Decided I don't need this for the moment, so removing it to silence an
"unused-function" compiler warning.

12 years agoAssamese translation updated
Nilamdyuti Goswami [Fri, 3 Aug 2012 08:58:47 +0000 (14:28 +0530)]
Assamese translation updated

12 years agoUpdated gujarati file
Sweta Kothari [Fri, 3 Aug 2012 06:31:37 +0000 (12:01 +0530)]
Updated gujarati file

12 years agoRemove docs/reference/.gitignore from source control.
Matthew Barnes [Fri, 3 Aug 2012 02:28:19 +0000 (22:28 -0400)]
Remove docs/reference/.gitignore from source control.

12 years agoconfigure.ac: Remove redundant check for gio-unix-2.0.
Matthew Barnes [Fri, 3 Aug 2012 02:27:47 +0000 (22:27 -0400)]
configure.ac: Remove redundant check for gio-unix-2.0.

12 years agolibecal: fix memory leak after failed object creation
Patrick Ohly [Mon, 23 Jul 2012 11:19:24 +0000 (11:19 +0000)]
libecal: fix memory leak after failed object creation

Apparently e_gdbus_cal_call_create_objects_sync() returns a muids
array even in case of failures. Free it when returning the error.
Found in SyncEvolution unit tests with valgrind.

12 years agoConditionally enable bug-buddy/gtk+ also for evolution-source-registry
Milan Crha [Thu, 2 Aug 2012 09:22:48 +0000 (11:22 +0200)]
Conditionally enable bug-buddy/gtk+ also for evolution-source-registry

12 years agoDebug-print also error message on ERROR authentication
Milan Crha [Thu, 2 Aug 2012 09:07:08 +0000 (11:07 +0200)]
Debug-print also error message on ERROR authentication

12 years agoFix a memory leak in e-cal-system-timezone.c
Dan Vrátil [Wed, 1 Aug 2012 19:25:33 +0000 (21:25 +0200)]
Fix a memory leak in e-cal-system-timezone.c

12 years agoUpdated POTFILES.in
Piotr Drąg [Wed, 1 Aug 2012 13:47:34 +0000 (15:47 +0200)]
Updated POTFILES.in

12 years agoUse e_backend_authenticate_sync() in backends.
Matthew Barnes [Tue, 31 Jul 2012 22:07:02 +0000 (18:07 -0400)]
Use e_backend_authenticate_sync() in backends.

12 years agoECollectionBackend: Implement authenticate_sync() method.
Matthew Barnes [Tue, 31 Jul 2012 21:58:18 +0000 (17:58 -0400)]
ECollectionBackend: Implement authenticate_sync() method.

12 years agoECalBackend: Implement authenticate_sync() method.
Matthew Barnes [Tue, 31 Jul 2012 21:49:13 +0000 (17:49 -0400)]
ECalBackend: Implement authenticate_sync() method.

12 years agoEBookBackend: Implement authenticate_sync() method.
Matthew Barnes [Tue, 31 Jul 2012 21:45:35 +0000 (17:45 -0400)]
EBookBackend: Implement authenticate_sync() method.

12 years agoEBackend: Add authenticate() sync+async methods.
Matthew Barnes [Tue, 31 Jul 2012 21:32:10 +0000 (17:32 -0400)]
EBackend: Add authenticate() sync+async methods.

These are convenience functions providing a consistent interface for
backends running in either the registry service itself or a client
process communicating with the registry service over D-Bus.

Dynamically loaded backend classes need not implement these methods.
They will inherit a suitable method implementation from ECalBackend,
EBookBackend or ECollectionBackend.

12 years agoCamelIMAPXServer: untagged handler descriptor needs untagged response code
Christian Hilberg [Mon, 30 Jul 2012 14:16:13 +0000 (16:16 +0200)]
CamelIMAPXServer: untagged handler descriptor needs untagged response code

* CamelIMAPXUntaggedRespHandlerDesc needs a member
  for the IMAP untagged response code
* this does also simplify much the code which generates
  the initial lookup tables for the untagged response
  handlers

12 years agoCamelIMAPXServer: fixed API function for running custom commands
Christian Hilberg [Fri, 20 Jul 2012 16:12:33 +0000 (18:12 +0200)]
CamelIMAPXServer: fixed API function for running custom commands

* imapx_command_run() deadlocks every now and then
  when running custom CamelIMAPXCommands
* imapx_command_run_sync() does not, so we're using
  this one although it is definitely not the best
  possible solution
* imapx_command_run_sync() expects a CamelIMAPXJob
  to be set on the CamelIMAPXCommand, so we're
  setting a local one if the command does not have
  a job set

12 years agoUpdated Galician translations
Fran Diéguez [Mon, 30 Jul 2012 00:40:39 +0000 (02:40 +0200)]
Updated Galician translations

12 years agoRemove flex/bison dependencies.
Matthew Barnes [Sun, 29 Jul 2012 12:54:20 +0000 (08:54 -0400)]
Remove flex/bison dependencies.

configure says "You need bison to build evolution-data-server"

No, actually, you don't.  In fact I have no idea why these were ever
needed.  "git blame" shows the requirements were present even in the
initial evolution-data-server commit in 2003, and yet even back then
I can't find evidence that flex or bison were actually used.

12 years agoReplace e_source_registry_server_queue_auth_session().
Matthew Barnes [Sat, 28 Jul 2012 16:04:27 +0000 (12:04 -0400)]
Replace e_source_registry_server_queue_auth_session().

I realized ECollectionBackends are going to need a proper asynchronous
authentication function so they know when authentication is achieved.

e_source_registry_server_queue_auth_session() is a "fire-and-forget"
function with no way for the caller to know if and when authentication
is achieved.

The replacement function, e_source_registry_server_authenticate_sync(),
is a variation of e_source_registry_authenticate_sync() for use in the
registry service itself.  It takes an EAuthenticationSession instead of
an ESource.

Since this API has not yet seen a stable release, I'm going to forego
deprecating the old function and just remove it.  This is an API break,
and the libebackend soname has been bumped accordingly.

12 years agoBug 678893 - Allow concurrent authentication sessions
Matthew Barnes [Fri, 27 Jul 2012 22:23:56 +0000 (18:23 -0400)]
Bug 678893 - Allow concurrent authentication sessions

I wrote the original queuing algorithm for authentication requests to
serialize requests to ensure password prompts never pile up.  But that
means requests for which a cached password exists may wait longer than
necessary, especially if an authentication session already in progress
is taking a long time to complete.

This was before I started using GcrSystemPrompt, which also serializes
requests to ensure password prompts never pile up.  That frees us up to
process authentication requests for different data sources concurrently.

This commit simplifies the queuing algorithm significantly and also
makes it thread-safe so authentication requests can be submitted from
any thread.  This is going to be important for ECollectionBackends.