Matthew Barnes [Sat, 26 Jan 2013 13:42:01 +0000 (08:42 -0500)]
ECalClient: Handle set_backend_property() requests directly.
Neither ECalBackend itself nor any known ECalBackend subclass allows
clients to set backend properties, so forego the D-Bus message and fail
immediately on the client side with an E_CLIENT_ERROR_NOT_SUPPORTED.
Matthew Barnes [Sat, 26 Jan 2013 13:34:23 +0000 (08:34 -0500)]
EBookClient: Handle set_backend_property() requests directly.
Neither EBookBackend itself nor any known EBookBackend subclass allows
clients to set backend properties, so forego the D-Bus message and fail
immediately on the client side with an E_CLIENT_ERROR_NOT_SUPPORTED.
Matthew Barnes [Sat, 26 Jan 2013 13:30:10 +0000 (08:30 -0500)]
EClient: Add default implementations for async virtual methods.
Subclasses will need only implement the synchronous virtual methods.
Мирослав Николић [Sat, 26 Jan 2013 09:18:14 +0000 (10:18 +0100)]
Updated Serbian translation
Matthew Barnes [Fri, 25 Jan 2013 21:12:51 +0000 (16:12 -0500)]
Deprecate e_cal_backend_is_opening().
This always returns FALSE now.
Matthew Barnes [Fri, 25 Jan 2013 21:08:51 +0000 (16:08 -0500)]
Deprecate e_book_backend_is_opening().
This always returns FALSE now.
Matthew Barnes [Fri, 25 Jan 2013 20:04:32 +0000 (15:04 -0500)]
Deprecate e_client_is_opened().
This always returns TRUE now.
Matthew Barnes [Fri, 25 Jan 2013 19:47:47 +0000 (14:47 -0500)]
Deprecate CLIENT_BACKEND_PROPERTY_OPENING.
Clients don't need to care if they're fully opened anymore.
Matthew Barnes [Fri, 25 Jan 2013 19:35:49 +0000 (14:35 -0500)]
Deprecate CLIENT_BACKEND_PROPERTY_OPENED.
Clients don't need to care if they're fully opened anymore.
Matthew Barnes [Fri, 25 Jan 2013 17:57:10 +0000 (12:57 -0500)]
ECalBackend: Add a "writable" boolean property.
Matthew Barnes [Fri, 25 Jan 2013 17:41:04 +0000 (12:41 -0500)]
EBookBackend: Remove redundant "online" flag.
Matthew Barnes [Fri, 25 Jan 2013 17:37:43 +0000 (12:37 -0500)]
EBookBackend: Add a "writable" boolean property.
Matthew Barnes [Fri, 25 Jan 2013 16:59:07 +0000 (11:59 -0500)]
EDataCal: Give OperationData a GDBusMethodInvocation.
Not used just yet, but will be.
Matthew Barnes [Fri, 25 Jan 2013 16:55:23 +0000 (11:55 -0500)]
EDataBook: Give OperationData a GDBusMethodInvocation.
Not used just yet, but will be.
Matthew Barnes [Fri, 25 Jan 2013 16:46:56 +0000 (11:46 -0500)]
EDataCal: operation_thread() cleanups.
Matthew Barnes [Fri, 25 Jan 2013 16:37:04 +0000 (11:37 -0500)]
EDataBook: operation_thread() cleanups.
Milan Crha [Fri, 25 Jan 2013 16:21:31 +0000 (17:21 +0100)]
EGdbusTemplates: Address crash on operation cancel
In situations when a synchronous operation was cancelled, but the response
was already piled in main context the client could receive two replies, one
from the reply, the other from the cancelled operation, effectively accessing
invalid memory in the second response. This may address also other similar
situations caused by cancelled operations.
Matthew Barnes [Fri, 25 Jan 2013 15:52:04 +0000 (10:52 -0500)]
EDataCal: Have pending_ops hold OperationData references.
Matthew Barnes [Fri, 25 Jan 2013 15:45:23 +0000 (10:45 -0500)]
EDataBook: Have pending_ops hold OperationData references.
Matthew Barnes [Fri, 25 Jan 2013 15:32:18 +0000 (10:32 -0500)]
EDataCal: Give OperationData a reference count.
Matthew Barnes [Fri, 25 Jan 2013 14:45:19 +0000 (09:45 -0500)]
EDataBook: Give OperationData a reference count.
Matthew Barnes [Fri, 25 Jan 2013 14:25:07 +0000 (09:25 -0500)]
EDataCal: Rename signal handlers.
Matthew Barnes [Fri, 25 Jan 2013 14:14:39 +0000 (09:14 -0500)]
EDataBook: Rename signal handlers.
Milan Crha [Fri, 25 Jan 2013 14:03:11 +0000 (15:03 +0100)]
Avoid crash in e_book_backend_file_load_revision()
There could happen a crash in e_book_backend_file_load_revision()
due to NULL 'error' when an application did a quick open/close
operations, in which case a backend was reused, with already set
priv::revision, and the call failed on a runtime constraint, but
didn't set the 'error', which led to the crash.
Matthew Barnes [Fri, 25 Jan 2013 13:55:37 +0000 (08:55 -0500)]
EDataCal: Add argument guards where needed.
Matthew Barnes [Fri, 25 Jan 2013 13:48:11 +0000 (08:48 -0500)]
EDataBook: Add argument guards where needed.
Daniel Mustieles [Fri, 25 Jan 2013 11:53:42 +0000 (12:53 +0100)]
Updated Spanish translation
Nilamdyuti Goswami [Fri, 25 Jan 2013 09:32:32 +0000 (15:02 +0530)]
Assamese translation updated
Matthew Barnes [Thu, 24 Jan 2013 18:16:46 +0000 (13:16 -0500)]
Replace EGdbusCalFactory with EDBusCalendarFactory.
Matthew Barnes [Thu, 24 Jan 2013 18:06:24 +0000 (13:06 -0500)]
Replace EGdbusBookFactory with EDBusAddressBookFactory.
Matthew Barnes [Thu, 24 Jan 2013 18:05:37 +0000 (13:05 -0500)]
Generate D-Bus factory interfaces with gdbus-codegen.
Matthew Barnes [Wed, 28 Nov 2012 15:29:20 +0000 (10:29 -0500)]
Bump D-Bus service names for new factory APIs.
Piotr Drąg [Thu, 24 Jan 2013 17:45:37 +0000 (18:45 +0100)]
Updated POTFILES.in
Matthew Barnes [Thu, 24 Jan 2013 16:49:31 +0000 (11:49 -0500)]
E_CLIENT_ERROR_BUSY is no longer used.
Matthew Barnes [Wed, 23 Jan 2013 17:09:10 +0000 (12:09 -0500)]
EDataCal: Queue operations while opening.
When an open operation is in progress, queue any subsequent operations
and dispatch them after the current open operation is complete.
The old behavior returned a BUSY error and forced the client to retry.
Clients are not involved in authentication anymore, so they should not
have to retry operations nor worry about whether the backend is opened.
This should really be handled directly by ECalBackend, but because of
the weird async semantics between ECalBackend and EDataCal, the queue
needs to live in EDataCal for now.
Matthew Barnes [Wed, 23 Jan 2013 15:01:50 +0000 (10:01 -0500)]
EDataBook: Queue operations while opening.
When an open operation is in progress, queue any subsequent operations
and dispatch them after the current open operation is complete.
The old behavior returned a BUSY error and forced the client to retry.
Clients are not involved in authentication anymore, so they should not
have to retry operations nor worry about whether the backend is opened.
This should really be handled directly by EBookBackend, but because of
the weird async semantics between EBookBackend and EDataBook, the queue
needs to live in EDataBook for now.
Matthew Barnes [Wed, 23 Jan 2013 17:14:35 +0000 (12:14 -0500)]
EDataBook/EDataCal: Minor cleanups.
Matthew Barnes [Tue, 22 Jan 2013 19:43:05 +0000 (14:43 -0500)]
EBookBackend: Initialize "cache-dir" from constructed().
Also tweak ECalBackend's constructed() method to match.
Daniel Mustieles [Thu, 24 Jan 2013 15:40:07 +0000 (16:40 +0100)]
Updated Spanish translation
Mathias Hasselmann [Thu, 24 Jan 2013 12:29:27 +0000 (13:29 +0100)]
Revert accidential commit from
a761eade
Mathias Hasselmann [Thu, 24 Jan 2013 11:01:14 +0000 (12:01 +0100)]
libebook: Avoid accidental implicit const-cast
Introduced by accident with
663c169e
Tristan Van Berkom [Thu, 24 Jan 2013 10:02:37 +0000 (19:02 +0900)]
Make ETestServerFixture more reliable.
Since e_source_registry_commit_source_sync() does not delay execution
until the source is actually added, use the "source-added" signal instead
to wait for the source to actually be added.
Also, created loops in the fixture test and run more iterations
(should help to catch problems with the fixture early, in case
there are still races).
Mathias Hasselmann [Wed, 23 Jan 2013 16:11:45 +0000 (17:11 +0100)]
Make use of G_DEFINE_QUARK()
This reduces boilerplate and ensures that quark definition functions make
proper use of the G_UNLIKELY macro.
https://bugzilla.gnome.org/show_bug.cgi?id=692398
Aurimas Černius [Wed, 23 Jan 2013 21:20:50 +0000 (23:20 +0200)]
Updated Lithuanian translation
Mathias Hasselmann [Tue, 11 Dec 2012 23:09:24 +0000 (00:09 +0100)]
libebook: Support phone number specific queries
This adds new values to the EBookQueryTest enumeration:
* E_BOOK_QUERY_EQUALS_PHONE_NUMBER
* E_BOOK_QUERY_EQUALS_NATIONAL_PHONE_NUMBER
* E_BOOK_QUERY_EQUALS_SHORT_PHONE_NUMBER
This values get translated to the binary sexp functions "eqphone",
"eqphone_national" and "eqphone_short".
See: https://bugzilla.gnome.org/show_bug.cgi?id=689622
Mathias Hasselmann [Tue, 4 Dec 2012 23:47:07 +0000 (00:47 +0100)]
libebook: Add phone number utilities
This functionality covers parsing, formatting and comparing
phone numbers.
Note that this commit introduces an optional depedency on C++.
See: https://bugzilla.gnome.org/show_bug.cgi?id=689622
Tristan Van Berkom [Wed, 23 Jan 2013 05:34:54 +0000 (14:34 +0900)]
Fixed regression in e_book_get_book_view_async().
The reference counting scheme on the returned view was changed while
porting the EBook apis to use EBookClient apis internally, the result
is that the async callback no longer receives ownership of the passed
EBookView (this commit reverts to the old behaviour).
Tristan Van Berkom [Wed, 23 Jan 2013 08:49:49 +0000 (17:49 +0900)]
test-ecal-get-objects-for-uid: Fixed assertions in test case.
Similar to test-ecal-create-object, this test was comparing a component
built from scratch (with no UID) against a component fetched from
the calendar (with a UID).
Fixed test case to compare the components in the returned list against
a component fetched from the calendar (both with UIDs).
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