platform/upstream/evolution-data-server.git
12 years agoAdd e_util_strdup_strip().
Matthew Barnes [Tue, 22 May 2012 23:55:03 +0000 (19:55 -0400)]
Add e_util_strdup_strip().

Duplicates an input string and strips off any leading or trailing
whitespace.  The resulting string is returned unless it is empty or
NULL, in which case the function returns NULL.

Useful in "set" functions for string properties.
Helps avoid expressions like (str != NULL && *str != '\0').

12 years agocamel_service_disconnect(): Missing break in switch statement.
Matthew Barnes [Tue, 22 May 2012 13:11:21 +0000 (09:11 -0400)]
camel_service_disconnect(): Missing break in switch statement.

12 years agoBug 667725 - imapx_untagged: code should not be reached
David Woodhouse [Mon, 21 May 2012 15:45:56 +0000 (16:45 +0100)]
Bug 667725 - imapx_untagged: code should not be reached

This code is evil.

When we scan a folder for new messages, we issue a 'FETCH 1:* (UID FLAGS)'
or similar command.

When we receive an untagged FETCH from the server telling us flags for a
message, we make a decision about whether that information was solicited
by such a command, or whether it was unsolicited.

If it was unsolicited, we process it normally as an asynchronous flags
update and all is well.

If it was solicited, we add the UID to a list. When the FETCH (UID FLAGS)
command *completes*, we'll sort that list and then fetch the full headers
for each message.

However, we weren't very good at telling when an update was solicited.
Assuming that only solicited messages will have a UID is bogus.

This was failing if an unsolicited update came in when the (UID FLAGS)
fetch had completed, and we were already fetching the message headers.
The "new" UID would be added to the end of the list, even if we were
already fetching that message or if we already had it in cache. We'd
issue a FETCH command for it, and the barf when the server complied,
because when the UID list wasn't sorted we wouldn't find the offending
uid when we looked for it.

The simple "fix" for this is to keep a boolean flag 'scan_changes' which
is TRUE only when that FETCH (UID FLAGS) command is running. If a flags
change comes in at any other time, it is definitely unsolicited and
should *not* be added to the uidset. This at least protects us from
having UIDs added after we've sorted the list and started to do other
things with it, which was causing the crash.

In fact, this whole 'solicited' vs. 'unsolicited' thing is a design
mistake. In imapx_untagged() we should never care about what we asked
for and what we didn't. That's why the responses are *untagged*. The
server tells us things about the state of the mailboxes, and we should
process that information into our own local cache — it shouldn't
*matter* what we asked for. But that's a more intrusive fix for another day.

In addition, we were reliably *triggering* this behaviour in some cases
because we had to issue a SELECT for the folder in question before
issuing the FETCH (UID FLAGS) command. And on completion of the SELECT,
if UIDNEXT had increased, we were automatically issuing a *new* FETCH
(UID FLAGS) command starting from the last-known-uid in our cache. This
was entirely gratiutous, so use the same scan_changes boolean flag to
avoid it in that situation.

12 years agoFix off-by-one in uidset handling for fetches
David Woodhouse [Mon, 21 May 2012 15:42:26 +0000 (16:42 +0100)]
Fix off-by-one in uidset handling for fetches

When we get to the end of the for() loop processing the uidset, the index
variable is one *more* than the last item. That's how for() loops in C
work.

But when we break out of the middle because we are limiting the batch
size, we were forgetting to do the same and we were storing the index
of the last item that we'd already fetched.

This was causing us to re-fetch the last message of one batch, as the
first message of the next batch. Mostly harmless, but spotted and fixed
as part of bug 667725.

12 years agoBug 676506 - imapx: After QRESYNC leaves us out of sync, a "full resync" doesn't...
David Woodhouse [Mon, 21 May 2012 15:22:36 +0000 (16:22 +0100)]
Bug 676506 - imapx: After QRESYNC leaves us out of sync, a "full resync" doesn't work either.

Always fetch from the beginning of the folder.

12 years agoBug 676403 - imapx: Syncing folder after server-side deletion of many messages is...
David Woodhouse [Sat, 19 May 2012 23:40:53 +0000 (00:40 +0100)]
Bug 676403 - imapx: Syncing folder after server-side deletion of many messages is *very* slow

Fix this by introducing a new camel_folder_change_info_remove_uids()
function, and using it for the 'vanished' code. This reduces the time taken
from about 40ms per message, to about 50µs.

12 years agoBug 676108 - OpenBSD needs _XOPEN_SOURCE_EXTENDED for strptime(3)
Antoine Jacoutot [Mon, 21 May 2012 00:28:44 +0000 (20:28 -0400)]
Bug 676108 - OpenBSD needs _XOPEN_SOURCE_EXTENDED for strptime(3)

strptime(3) was introduced in XPG4. On OpenBSD, just defining
_XOPEN_SOURCE gets you the older XPG3 which doesn't include strptime(3),
so we need to define _XOPEN_SOURCE_EXTENDED to get XPG4v2.

12 years agoUpdated Galician translations
Fran Diéguez [Sun, 20 May 2012 15:59:37 +0000 (17:59 +0200)]
Updated Galician translations

12 years agogoogle: Fix a gcc warning in the Google backend
Philip Withnall [Sat, 19 May 2012 22:16:27 +0000 (23:16 +0100)]
google: Fix a gcc warning in the Google backend

Signed/Unsigned comparison.

12 years agogoogle: Fix some gcc warnings in the GOA authoriser
Philip Withnall [Sat, 19 May 2012 22:11:31 +0000 (23:11 +0100)]
google: Fix some gcc warnings in the GOA authoriser

Variable shadowing, missing default cases and signed/unsigned comparisons.

12 years agoBump Camel's shared object name.
Matthew Barnes [Sat, 19 May 2012 17:39:56 +0000 (13:39 -0400)]
Bump Camel's shared object name.

For CamelService connect/disconnect API changes.

12 years agoRemove camel_service_lock/unlock().
Matthew Barnes [Sat, 19 May 2012 16:02:05 +0000 (12:02 -0400)]
Remove camel_service_lock/unlock().

This has been the cause of many deadlocks, and is no longer needed with
CamelService's new asynchronous connect/disconnect API.

12 years agoCamelService: Rewrite connect/disconnect API.
Matthew Barnes [Sat, 19 May 2012 12:41:15 +0000 (08:41 -0400)]
CamelService: Rewrite connect/disconnect API.

CamelService now has proper cancellable asynchronous functions for
connect and disconnect operations.  The way this works is as follows:

The first service connect request runs asynchronously internally, even
if camel_service_connect_sync() is called.  Subsequent connect requests
are queued until the first connect request finishes, then all requests
finish simultaneously with the same result.  There are no retries; if
the first request fails, they all fail with the same error.

If a service disconnect is requested with one or more connect requests
outstanding, the connect requests are all cancelled and the disconnect
request runs asynchronously and plays by the same queueing rules.

CamelService's "connection-status" property will immediately reflect any
connect or disconnect requests in progress.  Change notification signals
for this property, however, are emitted from CamelSession's main context.

12 years agoCamel: Use camel_session_idle_add() for idle callbacks.
Matthew Barnes [Sat, 19 May 2012 13:38:04 +0000 (09:38 -0400)]
Camel: Use camel_session_idle_add() for idle callbacks.

Ensures all idle callbacks are dispatched from the same GMainContext,
especially important for scheduling signal emissions.

12 years agoCamelSession: Add camel_session_idle_add().
Matthew Barnes [Sat, 19 May 2012 13:08:11 +0000 (09:08 -0400)]
CamelSession: Add camel_session_idle_add().

Schedules an idle callback on CamelSession's GMainContext.

12 years agoCamelSession: Add a read-only "main-context" property.
Matthew Barnes [Sat, 19 May 2012 12:35:14 +0000 (08:35 -0400)]
CamelSession: Add a read-only "main-context" property.

12 years agoRemove camel_folder_has_search_capability()
Milan Crha [Fri, 18 May 2012 06:58:28 +0000 (08:58 +0200)]
Remove camel_folder_has_search_capability()

CamelFolder descendants are supposed to implement search API now.

12 years agoCamel: Allow SSL certificate resave and use detailed errors from SSL stream
Milan Crha [Thu, 17 May 2012 07:42:21 +0000 (09:42 +0200)]
Camel: Allow SSL certificate resave and use detailed errors from SSL stream

12 years agoUpdated Spanish translation
Daniel Mustieles [Wed, 16 May 2012 10:35:35 +0000 (12:35 +0200)]
Updated Spanish translation

12 years agoUpdated Swedish translation
Daniel Nylander [Wed, 16 May 2012 10:27:44 +0000 (12:27 +0200)]
Updated Swedish translation

12 years agoUpdated Norwegian bokmål translation
Kjartan Maraas [Tue, 15 May 2012 12:16:06 +0000 (14:16 +0200)]
Updated Norwegian bokmål translation

12 years agoBug #671603 - Birthday calendar broken since 3.3.4
Milan Crha [Tue, 15 May 2012 11:43:16 +0000 (13:43 +0200)]
Bug #671603 - Birthday calendar broken since 3.3.4

12 years agoBug 664639 - [IMAPX] Doesn't quit gracefully on account disable
Chenthill Palanisamy [Tue, 15 May 2012 11:31:35 +0000 (17:01 +0530)]
Bug 664639 - [IMAPX] Doesn't quit gracefully on account disable

12 years agoSignal shutdown when imapx connection shutsdown so that the connection is
Chenthill Palanisamy [Tue, 15 May 2012 08:25:57 +0000 (13:55 +0530)]
Signal shutdown when imapx connection shutsdown so that the connection is
pruned from connection manager.

12 years agoRemove unused variable
Milan Crha [Tue, 15 May 2012 06:10:10 +0000 (08:10 +0200)]
Remove unused variable

12 years agoBug #670279 - "Category" selector mnemonic not shown
Milan Crha [Mon, 14 May 2012 18:16:22 +0000 (20:16 +0200)]
Bug #670279 - "Category" selector mnemonic not shown

12 years agoBug 675387 - Store certificates under $XDG_DATA_HOME
Matthew Barnes [Mon, 14 May 2012 14:15:17 +0000 (10:15 -0400)]
Bug 675387 - Store certificates under $XDG_DATA_HOME

Move certificates from $HOME/.camel_certs to $XDG_DATA_HOME/camel_certs.

12 years agoUse g_simple_async_result_set_check_cancellable().
Matthew Barnes [Sun, 13 May 2012 13:50:28 +0000 (09:50 -0400)]
Use g_simple_async_result_set_check_cancellable().

Always call it immediately after g_simple_async_result_new().

12 years agoWhitespace cleanups.
Matthew Barnes [Sun, 13 May 2012 13:35:01 +0000 (09:35 -0400)]
Whitespace cleanups.

12 years agoUpdated Italian translation
Luca Ferretti [Sat, 12 May 2012 18:02:57 +0000 (20:02 +0200)]
Updated Italian translation

12 years agoUse locks in factory's weak object notify callback on data-book/cal
Milan Crha [Fri, 11 May 2012 14:48:30 +0000 (16:48 +0200)]
Use locks in factory's weak object notify callback on data-book/cal

12 years agoCalDAV: Also rename NoSuchCal to ObjectNotFound in caldav_server_put_object()
Milan Crha [Fri, 11 May 2012 12:33:44 +0000 (14:33 +0200)]
CalDAV: Also rename NoSuchCal to ObjectNotFound in caldav_server_put_object()

12 years agoUpdated Galician translations
Fran Diéguez [Fri, 11 May 2012 09:34:39 +0000 (11:34 +0200)]
Updated Galician translations

12 years agoUpdated Spanish translation
Daniel Mustieles [Fri, 11 May 2012 08:56:20 +0000 (10:56 +0200)]
Updated Spanish translation

12 years agoBetter error message for SOUP_STATUS_SSL_FAILED response
Milan Crha [Thu, 10 May 2012 18:02:31 +0000 (20:02 +0200)]
Better error message for SOUP_STATUS_SSL_FAILED response

12 years agoCalDAV: Report NoSuchCal only when opening, ObjectNotFound otherwise
Milan Crha [Thu, 10 May 2012 17:15:27 +0000 (19:15 +0200)]
CalDAV: Report NoSuchCal only when opening, ObjectNotFound otherwise

12 years agoMake sure data-book/cal is closed/freed in a separate thread
Milan Crha [Thu, 10 May 2012 10:54:16 +0000 (12:54 +0200)]
Make sure data-book/cal is closed/freed in a separate thread

When EDataBook/EDataCal was unreffed in the main thread then
any later calls to the factory were blocked by the backend
till it freed its resources, possibly making client look like
frozen/unresponsive.

12 years agoUpdated POTFILES.in
Piotr Drąg [Tue, 8 May 2012 16:22:43 +0000 (18:22 +0200)]
Updated POTFILES.in

12 years agoAdd EAsyncClosure.
Matthew Barnes [Tue, 8 May 2012 14:46:33 +0000 (10:46 -0400)]
Add EAsyncClosure.

EAsyncClosure provides a simple way to run an asynchronous function
synchronously without blocking a running GMainLoop or using threads.

Merging this API from the account-mgmt branch as it has proven stable
and quite convenient.  I've seen this pattern in use throughout GIO,
but to my knowledge it has never been formalized like this.

12 years agoAdd a extended response handler for unhandled imapx tokens to be handled
Chenthill Palanisamy [Tue, 8 May 2012 09:29:48 +0000 (14:59 +0530)]
Add a extended response handler for unhandled imapx tokens to be handled
by the derived providers.

12 years agoSplit camel-imapx library and merge into camel so that providers can be written on...
Chenthill Palanisamy [Tue, 8 May 2012 09:17:04 +0000 (14:47 +0530)]
Split camel-imapx library and merge into camel so that providers can be written on top of imapx

12 years agoBug #606181 - Accepting bad SSL certificate applies to any hostname
Matt McCutchen [Fri, 4 May 2012 12:28:03 +0000 (14:28 +0200)]
Bug #606181 - Accepting bad SSL certificate applies to any hostname

Change the Camel certdb to look up certificates by expected hostname.

This way, accepting a bad certificate for one mail server does not give
it a free pass to impersonate the user's other mail servers.  Storing a
second bad certificate for the same server will replace the first, but
that should be OK (Mozilla PSM works the same way).

The camel-cert.db format is unchanged except that it can now contain
multiple entries for the same certificate with different hostnames, and
if it contains multiple certificates for the same hostname, all but the
last will be dropped (becoming permanent the next time the certdb is
saved).

Users who were taking advantage of evolution-data-server's previous,
vulnerable behavior of accepting a certificate for a hostname other than
the originally user-approved one will get bad certificate dialogs and
will need to re-approve the certificate for the desired hostname(s).

Note: Case insensitive compare of host names added by mcrha.

12 years agoRemove extra test on Google server photo data validity
Milan Crha [Fri, 4 May 2012 11:15:21 +0000 (13:15 +0200)]
Remove extra test on Google server photo data validity

It sometimes can happen that a contact has filled photo's etag,
while the photo itself is not present. In that case backend skipped
the contact, instead of passing it without photo.

12 years agoBug #669191 - Address book dialog has incorrect default size
Mathieu Trudel-Lapierre [Thu, 3 May 2012 10:00:10 +0000 (12:00 +0200)]
Bug #669191 - Address book dialog has incorrect default size

12 years agoRequire libsoup >= 2.38.1.
Matthew Barnes [Mon, 30 Apr 2012 17:13:02 +0000 (13:13 -0400)]
Require libsoup >= 2.38.1.

To pick up the fix for bug 673678:
"Property SSL_USE_SYSTEM_CA_FILE's value is ignored"

12 years agoUpdated Galician translations
Fran Diéguez [Mon, 30 Apr 2012 14:28:37 +0000 (16:28 +0200)]
Updated Galician translations

12 years agoUpdated Norwegian bokmål translation
Kjartan Maraas [Mon, 30 Apr 2012 08:00:06 +0000 (10:00 +0200)]
Updated Norwegian bokmål translation

12 years agoPost-release version bump.
Matthew Barnes [Sun, 29 Apr 2012 00:46:14 +0000 (20:46 -0400)]
Post-release version bump.

12 years agoNEWS update for 3.5.1 release.
Matthew Barnes [Sun, 29 Apr 2012 00:42:40 +0000 (20:42 -0400)]
NEWS update for 3.5.1 release.

12 years agoUpdate API documentation.
Matthew Barnes [Sun, 29 Apr 2012 00:04:39 +0000 (20:04 -0400)]
Update API documentation.

12 years agoUpdated Galician translations
Fran Diéguez [Fri, 27 Apr 2012 15:16:41 +0000 (17:16 +0200)]
Updated Galician translations

12 years agoBug #669085 - Saving draft on Google server emits runtime warning
Milan Crha [Fri, 27 Apr 2012 11:42:14 +0000 (13:42 +0200)]
Bug #669085 - Saving draft on Google server emits runtime warning

12 years agoUpdated Spanish translation
Daniel Mustieles [Fri, 27 Apr 2012 10:57:49 +0000 (12:57 +0200)]
Updated Spanish translation

12 years agoBug #664639 - [IMAPX] Doesn't quit gracefully on account disable
Milan Crha [Fri, 27 Apr 2012 09:23:47 +0000 (11:23 +0200)]
Bug #664639 - [IMAPX] Doesn't quit gracefully on account disable

12 years agoBug #674257 - Recheck attachment availability on message download
Milan Crha [Fri, 27 Apr 2012 07:37:17 +0000 (09:37 +0200)]
Bug #674257 - Recheck attachment availability on message download

12 years agoBug #669034 - [IMAP] Shows "Unknown background operation" on start
Milan Crha [Thu, 26 Apr 2012 12:41:09 +0000 (14:41 +0200)]
Bug #669034 - [IMAP] Shows "Unknown background operation" on start

12 years agoFix Google Talk vCard attribute name definition
Milan Crha [Thu, 26 Apr 2012 11:49:15 +0000 (13:49 +0200)]
Fix Google Talk vCard attribute name definition

12 years agoBug #668989 - Add a twitter username to IM in contacts
Milan Crha [Thu, 26 Apr 2012 11:46:11 +0000 (13:46 +0200)]
Bug #668989 - Add a twitter username to IM in contacts

12 years agoRevert unintentional API break in libedataserver.
Matthew Barnes [Tue, 24 Apr 2012 15:01:11 +0000 (11:01 -0400)]
Revert unintentional API break in libedataserver.

Partially reverses commit 90eb7da3ab9b00f504f5fed1f740c59485356f41.

Apparently this unintentionally broke language bindings.

Instead of renaming the e_source_peek_uid() and e_source_peek_name()
functions themselves, leave the old functions alone and define aliases
for the new names:

   #define e_source_get_uid            e_source_peek_uid
   #define e_source_get_display_name   e_source_peek_name

Using the new names throughout Evo and EDS is very helpful in reducing
diff noise between "master" and the "account-mgmt" branches so I can see
the important differences, so I don't want to revert the commit entirely.

12 years agoBug #672398 - CalDAV backend doesn't respect "Copy for offline" option
Milan Crha [Tue, 24 Apr 2012 12:45:54 +0000 (14:45 +0200)]
Bug #672398 - CalDAV backend doesn't respect "Copy for offline" option

12 years agoBug #668679 - Crash on insertion of NULL in e_destination_set_contact()
Milan Crha [Mon, 23 Apr 2012 14:53:54 +0000 (16:53 +0200)]
Bug #668679 - Crash on insertion of NULL in e_destination_set_contact()

12 years agoBug #668549 - Crash in objects_added_cb() in e-book-client-view.c
Milan Crha [Mon, 23 Apr 2012 11:44:11 +0000 (13:44 +0200)]
Bug #668549 - Crash in objects_added_cb() in e-book-client-view.c

12 years agoBug #671537 - Option to validate SLL certificates with libsoup
Milan Crha [Mon, 23 Apr 2012 10:09:36 +0000 (12:09 +0200)]
Bug #671537 - Option to validate SLL certificates with libsoup

12 years agoRemove deprecated API from ESourceSelector
Milan Crha [Mon, 23 Apr 2012 06:02:48 +0000 (08:02 +0200)]
Remove deprecated API from ESourceSelector

12 years agoESourceComboBox: Add e_source_combo_box_ref_active().
Matthew Barnes [Sat, 21 Apr 2012 20:27:49 +0000 (16:27 -0400)]
ESourceComboBox: Add e_source_combo_box_ref_active().

Replaces e_source_combo_box_get_active().

Returns a new ESource reference that the caller must unreference.

12 years agoRemove e_source_combo_box_get/set_active_uid().
Matthew Barnes [Sat, 21 Apr 2012 20:20:53 +0000 (16:20 -0400)]
Remove e_source_combo_box_get/set_active_uid().

Adapt ESourceComboBox to use GtkComboBox's "active-id" property.

To get or set the active ESource UID, use:

   gtk_combo_box_get_active_id()
   gtk_combo_box_set_active_id()

12 years agoDiff noise reduction.
Matthew Barnes [Sat, 21 Apr 2012 19:00:23 +0000 (15:00 -0400)]
Diff noise reduction.

Comparing 'master' and 'account-mgmt' branches.

12 years agoNudge ESource toward its new API.
Matthew Barnes [Sat, 21 Apr 2012 17:20:23 +0000 (13:20 -0400)]
Nudge ESource toward its new API.

Rename e_source_peek_uid() to e_source_get_uid(), and
e_source_peek_name() to e_source_get_display_name().

The old names are retained for now as deprecated aliases.

12 years agoESourceSelector: Add e_source_selector_ref_primary_selection().
Matthew Barnes [Sat, 21 Apr 2012 16:01:12 +0000 (12:01 -0400)]
ESourceSelector: Add e_source_selector_ref_primary_selection().

Replaces e_source_selector_get_primary_selection().

Returns a new ESource reference that the caller must unreference.

12 years agoESourceSelector: Add e_source_selector_ref_source_by_path().
Matthew Barnes [Sat, 21 Apr 2012 14:49:02 +0000 (10:49 -0400)]
ESourceSelector: Add e_source_selector_ref_source_by_path().

Replaces e_source_selector_get_source_by_path().

Returns a new ESource reference that the caller must unreference.

12 years agoBump libedataserverui shared object name.
Matthew Barnes [Sat, 21 Apr 2012 14:48:10 +0000 (10:48 -0400)]
Bump libedataserverui shared object name.

In anticipation of some API breaks.

12 years agoEBookBackendLDAP: Miscellaneous tweaks.
Matthew Barnes [Sat, 21 Apr 2012 13:47:20 +0000 (09:47 -0400)]
EBookBackendLDAP: Miscellaneous tweaks.

Eliminating diff noise with the account-mgmt branch.

12 years agoForgot one.
Matthew Barnes [Sat, 21 Apr 2012 17:23:04 +0000 (13:23 -0400)]
Forgot one.

12 years agoAdd yet more missing linker flags.
Matthew Barnes [Sat, 21 Apr 2012 17:16:15 +0000 (13:16 -0400)]
Add yet more missing linker flags.

12 years agoAdd another missing linker flag.
Matthew Barnes [Sat, 21 Apr 2012 17:07:04 +0000 (13:07 -0400)]
Add another missing linker flag.

12 years agoAdd missing linker flag.
Matthew Barnes [Sat, 21 Apr 2012 17:05:11 +0000 (13:05 -0400)]
Add missing linker flag.

12 years agoBug #665381 - LDAP backend crash when query_ldap_root_dse() fails
Milan Crha [Fri, 20 Apr 2012 08:33:21 +0000 (10:33 +0200)]
Bug #665381 - LDAP backend crash when query_ldap_root_dse() fails

12 years agoUpdated Galician translations
Fran Diéguez [Thu, 19 Apr 2012 17:49:05 +0000 (19:49 +0200)]
Updated Galician translations

12 years agoUpdate API documentation.
Matthew Barnes [Wed, 18 Apr 2012 18:37:59 +0000 (14:37 -0400)]
Update API documentation.

12 years agoRemove some redundant argument checks.
Matthew Barnes [Wed, 18 Apr 2012 15:54:13 +0000 (11:54 -0400)]
Remove some redundant argument checks.

12 years agoBug #674309 - Crash when calling oauth_init_nss() from two threads
Milan Crha [Wed, 18 Apr 2012 09:30:21 +0000 (11:30 +0200)]
Bug #674309 - Crash when calling oauth_init_nss() from two threads

12 years agoUpdated Norwegian bokmål translation
Kjartan Maraas [Wed, 18 Apr 2012 07:25:46 +0000 (09:25 +0200)]
Updated Norwegian bokmål translation

12 years agoEDataFactory: Readability tweaks.
Matthew Barnes [Tue, 17 Apr 2012 16:54:29 +0000 (12:54 -0400)]
EDataFactory: Readability tweaks.

12 years agoAdd e_data_factory_ref_backend_factory().
Matthew Barnes [Tue, 17 Apr 2012 16:43:43 +0000 (12:43 -0400)]
Add e_data_factory_ref_backend_factory().

Just a way to get access to the EBackendFactory itself.

Needed on the account-mgmt branch to check whether a suitable E-D-S
backend factory is available to handle a given GNOME Online Account
provider type such as "exchange".

12 years agoBug #667891 - Rapid message list regen when downloading a folder
Milan Crha [Tue, 17 Apr 2012 15:44:52 +0000 (17:44 +0200)]
Bug #667891 - Rapid message list regen when downloading a folder

12 years agoUpdated Telugu Translation
Sasi Bhushan [Tue, 17 Apr 2012 09:49:41 +0000 (15:19 +0530)]
Updated Telugu Translation

12 years agoEDataFactory: Clarify a comment.
Matthew Barnes [Mon, 16 Apr 2012 22:02:53 +0000 (18:02 -0400)]
EDataFactory: Clarify a comment.

Verified this with Ryan Lortie.

12 years agoEDataFactory: Move reload policy to subclasses.
Matthew Barnes [Mon, 16 Apr 2012 21:43:47 +0000 (17:43 -0400)]
EDataFactory: Move reload policy to subclasses.

The upcoming D-Bus service for data sources will be derived from
EDataFactoryClass, and it *does* support E_DBUS_SERVER_EXIT_RELOAD.

12 years agoRemove EBackend::last-client-gone signal.
Matthew Barnes [Mon, 16 Apr 2012 14:03:10 +0000 (10:03 -0400)]
Remove EBackend::last-client-gone signal.

The signal is no longer needed due to the previous EDataFactory commit.

I also removed a couple unused "last_client_gone" function pointers in
EBookBackendClass and ECalBackendClass just to get rid of all traces of
the signal (and since I'm on an ABI breaking spree anyway).

The API breakage should be contained within E-D-S.  The ABI breakage
will affect 3rd party extensions so the libedata-book and libedata-cal
shared object names have been bumped for good measure.

12 years agoEDataFactory: Keep only weak references to backends.
Matthew Barnes [Mon, 16 Apr 2012 13:43:09 +0000 (09:43 -0400)]
EDataFactory: Keep only weak references to backends.

Have EDataFactory keep only weak references to the EBackend instances it
creates.  Then, when the last client connection to a backend closes, the
backend finalizes automatically.  No explicit action required.

This breaks the API slightly by renaming e_data_factory_get_backend() to
e_data_factory_ref_backend() to reflect the fact that a strong reference
is now returned to the caller, and the caller must call g_object_unref()
when finished with it.  The impact of the API break should be contained
within E-D-S.

This uses the new GWeakRef API in GLib 2.32 to ensure thread-safety.

The libebackend shared object name has already been bumped for 3.5.1.

12 years agoFix more missing linker flags.
Matthew Barnes [Mon, 16 Apr 2012 13:30:23 +0000 (09:30 -0400)]
Fix more missing linker flags.

12 years agoEDataCalFactory: Implement GInitable.
Matthew Barnes [Mon, 16 Apr 2012 14:55:17 +0000 (10:55 -0400)]
EDataCalFactory: Implement GInitable.

Not needed just yet, but my previous batch of commits broke this
and it's needed on the account-mgmt branch.  So rough it in now.

12 years agoEDataBookFactory: Implement GInitable.
Matthew Barnes [Mon, 16 Apr 2012 14:53:40 +0000 (10:53 -0400)]
EDataBookFactory: Implement GInitable.

Not needed just yet, but my previous batch of commits broke this
and it's needed on the account-mgmt branch.  So rough it in now.

12 years agoEBookBackendLDAP: GSource IDs are unsigned.
Matthew Barnes [Mon, 16 Apr 2012 14:32:03 +0000 (10:32 -0400)]
EBookBackendLDAP: GSource IDs are unsigned.

12 years agoEDataCalFactory targets ECalBackendFactory.
Matthew Barnes [Sun, 15 Apr 2012 17:20:19 +0000 (13:20 -0400)]
EDataCalFactory targets ECalBackendFactory.

12 years agoEDataCalFactory: Cosmetic tweaks.
Matthew Barnes [Sun, 15 Apr 2012 17:18:52 +0000 (13:18 -0400)]
EDataCalFactory: Cosmetic tweaks.

12 years agoEDataBookFactory targets EBookBackendFactory.
Matthew Barnes [Sun, 15 Apr 2012 17:15:52 +0000 (13:15 -0400)]
EDataBookFactory targets EBookBackendFactory.

12 years agoEDataBookFactory: Cosmetic tweaks.
Matthew Barnes [Sun, 15 Apr 2012 17:14:23 +0000 (13:14 -0400)]
EDataBookFactory: Cosmetic tweaks.

12 years agoECalBackendFactory is missing a 'priv' pointer.
Matthew Barnes [Sun, 15 Apr 2012 16:44:17 +0000 (12:44 -0400)]
ECalBackendFactory is missing a 'priv' pointer.

Unfortunately fixing this breaks libedata-cal's ABI.

12 years agoEBookBackendFactory is missing a 'priv' pointer.
Matthew Barnes [Sun, 15 Apr 2012 16:45:58 +0000 (12:45 -0400)]
EBookBackendFactory is missing a 'priv' pointer.

Unfortunately fixing this breaks libedata-book's ABI.