Hi, Please find attached a patch to port the EDS calendar backend from the ECal API to ECalClient when using EDS >= v3.2. A view is used to list the components but no optimization is made yet because e_cal_client_view_set_fields_of_interest() is not ready for it.
*** [PATCH] Support for the new ECalClient API in EDS 3.2 SyncEvolution EDS backend currently uses the ECal API which is deprecated as of EDS v3.2 and replaced by the new ECalClient API. This patch brings support for this new ECalClient API (when EDS 3.2 is detected at compile time). The new code based on the ECalClient API will enable a few optimizations, especially the partial fetching of components to avoid useless DBus trafic. This results in better component change tracking by fetching only the UID/RID/REV attributes for each component. Note: The new code uses the new GLibSupport header instead of the deprecated SmartPointer (eptr). *** The eds_event tests are passing: Client::Source::eds_event::testOpen okay Client::Source::eds_event::testIterateTwice okay Client::Source::eds_event::testSimpleInsert okay Client::Source::eds_event::testLocalDeleteAll okay Client::Source::eds_event::testComplexInsert okay Client::Source::eds_event::testLocalUpdate okay Client::Source::eds_event::testChanges okay Client::Source::eds_event::testImport okay Client::Source::eds_event::testImportDelete okay Client::Source::eds_event::testManyChanges okay Client::Source::eds_event::testLinkedItemsParent okay Client::Source::eds_event::testLinkedItemsChild okay Client::Source::eds_event::testLinkedItemsParentChild okay Client::Source::eds_event::testLinkedItemsChildParent okay Client::Source::eds_event::testLinkedItemsChildChangesParent okay Client::Source::eds_event::testLinkedItemsRemoveParentFirst okay Client::Source::eds_event::testLinkedItemsRemoveNormal okay Client::Source::eds_event::testLinkedItemsInsertParentTwice okay Client::Source::eds_event::testLinkedItemsInsertChildTwice okay Client::Source::eds_event::testLinkedItemsParentUpdate okay Client::Source::eds_event::testLinkedItemsUpdateChild okay Client::Source::eds_event::testLinkedItemsInsertBothUpdateChild okay Client::Source::eds_event::testLinkedItemsInsertBothUpdateParent okay OK (23) *** Note that the EDS patches attached to https://bugzilla.gnome.org/show_bug.cgi?id=655986 are required for the tests to pass (with or without my changes). Also note that while porting to the ECalClient API, I found the following bug in EDS (several tests don't pass without this fix): https://bugzilla.gnome.org/show_bug.cgi?id=656207 Kr, -- Dr. Christophe Dumez Linux Software Engineer Intel Finland Oy - Open Source Technology Center
0001-Support-for-the-new-ECalClient-API-in-EDS-3.2.patch.gz
Description: GNU Zip compressed data
_______________________________________________ SyncEvolution mailing list [email protected] http://lists.syncevolution.org/listinfo/syncevolution
