Commit Graph

30 Commits

Author SHA1 Message Date
Patrick Ohly 5e8fa6eb94 major restructuring of the file layout and autotools build
This change makes it possible to add a new backend without
changing any of the core files. It also gets rid of some
hacks (like -export-dynamic for the binary) by putting all
core SyncEvolution code into a library.

The transition is not quite complete: there are still
some lists of existing backends, which will be removed
soon. EvolutionSmartPtr.h and EvolutionSyncSource depend
on Evolution/GNOME libs, which forces all backends to
use the right -I flags.


git-svn-id: https://zeitsenke.de/svn/SyncEvolution/trunk@684 15ad00c4-1369-45f4-8270-35d70d36bdcd
2008-07-29 21:06:11 +00:00
Patrick Ohly a8b9c1f25f turned fileSuffix() into a const function
git-svn-id: https://zeitsenke.de/svn/SyncEvolution/trunk@667 15ad00c4-1369-45f4-8270-35d70d36bdcd
2008-07-12 18:36:56 +00:00
Patrick Ohly ca390a7743 cleaned up EvolutionSyncSource interface+implementation
git-svn-id: https://zeitsenke.de/svn/SyncEvolution/trunk@664 15ad00c4-1369-45f4-8270-35d70d36bdcd
2008-07-10 19:17:42 +00:00
Patrick Ohly 77ae1aecee the useless clone() method is no longer needed because SyncSource no longer inherits from ArrayElement
git-svn-id: https://zeitsenke.de/svn/SyncEvolution/trunk@580 15ad00c4-1369-45f4-8270-35d70d36bdcd
2008-04-10 18:16:39 +00:00
Patrick Ohly af7d2783c2 EvolutionCalendarSyncSource now uses change tracking based on modification time stamp.
- const SyncItem cleanup
- distinguish between added/merged in TrackingSyncSource::insertItem():
  required for calendar events
- getData() util function not needed.
- TrackingSyncSource key/value strings can be arbitrary strings now.
- Clarified insertItem() semantic and errors.
- Added new required SyncSource::removeAllItems() call.


git-svn-id: https://zeitsenke.de/svn/SyncEvolution/trunk@574 15ad00c4-1369-45f4-8270-35d70d36bdcd
2008-04-07 17:59:17 +00:00
Patrick Ohly 7538b19553 fixed some memory leaks for results of e_book_get_contacts/changes and e_cal_get_object_list_as_comp/e_cal_get_changes
The API documentation of these calls doesn't say so explicitly, but it
seems that a combination of g_object_unref()/g_free()/g_list_free() is
necessary. Rewrote the eptr smart pointer so that different deleter
functions can be selected as template parameters.


git-svn-id: https://zeitsenke.de/svn/SyncEvolution/trunk@521 15ad00c4-1369-45f4-8270-35d70d36bdcd
2008-03-18 13:36:59 +00:00
Patrick Ohly f88d117d64 - introduced new SyncEvolution config handling
- cleaned up passing of SyncSource creation parameters
- reads old configs and should also work with new layout (not tested yet)


git-svn-id: https://zeitsenke.de/svn/SyncEvolution/trunk@507 15ad00c4-1369-45f4-8270-35d70d36bdcd
2008-03-06 22:23:13 +00:00
Patrick Ohly 64756c9860 removed SyncState parameter out of all createItem() implementations into the caller; requires smartptr release()
git-svn-id: https://zeitsenke.de/svn/SyncEvolution/trunk@484 15ad00c4-1369-45f4-8270-35d70d36bdcd
2008-01-13 01:41:21 +00:00
Patrick Ohly e7cd458d37 copyright transfer to Funambol
git-svn-id: https://zeitsenke.de/svn/SyncEvolution/trunk@297 15ad00c4-1369-45f4-8270-35d70d36bdcd
2006-12-10 17:35:20 +00:00
Patrick Ohly d649064860 messages about local changes are now logged as DEBUG and not INFO because they were confusing for users; now they are not visible in the final report
git-svn-id: https://zeitsenke.de/svn/SyncEvolution/trunk@282 15ad00c4-1369-45f4-8270-35d70d36bdcd
2006-11-11 16:00:37 +00:00
Patrick Ohly 4de56c607e adapted to new API
git-svn-id: https://zeitsenke.de/svn/SyncEvolution/trunk@263 15ad00c4-1369-45f4-8270-35d70d36bdcd
2006-10-03 11:44:34 +00:00
Patrick Ohly 0a533feef3 adapted to additional SyncSourceConfig parameter in SyncSource constructor, added testing of LargeObject support
git-svn-id: https://zeitsenke.de/svn/SyncEvolution/trunk@260 15ad00c4-1369-45f4-8270-35d70d36bdcd
2006-09-28 23:02:43 +00:00
Patrick Ohly 0a67a4a786 adapted to C++ client API change: supported datatypes now in config
git-svn-id: https://zeitsenke.de/svn/SyncEvolution/trunk@258 15ad00c4-1369-45f4-8270-35d70d36bdcd
2006-09-16 09:00:50 +00:00
Patrick Ohly 168dd2b911 adapted to official DevInf API with one patch: config passed to SyncClient::conf()
git-svn-id: https://zeitsenke.de/svn/SyncEvolution/trunk@237 15ad00c4-1369-45f4-8270-35d70d36bdcd
2006-09-07 19:47:29 +00:00
Patrick Ohly 1668c30008 - rename qptr to eptr to avoid name clash with sstring
- moved unref() into global name space so that more unref() functions
  can be added (otherwise local methods shadow the global functions)
- use eptr for SourceList (wasn't destructed in case of error otherwise and
  logging in 0.4 pre continued to go to file)
- check for server configuration and abort in prepare if none given with
  a suitable error message


git-svn-id: https://zeitsenke.de/svn/SyncEvolution/trunk@215 15ad00c4-1369-45f4-8270-35d70d36bdcd
2006-08-14 20:52:34 +00:00
Patrick Ohly f157e630b4 send configured vCard format as part of DevInf (Synthesis server gets confused otherwise)
git-svn-id: https://zeitsenke.de/svn/SyncEvolution/trunk@209 15ad00c4-1369-45f4-8270-35d70d36bdcd
2006-08-13 20:12:01 +00:00
Patrick Ohly b1067bfe5b added inclusion of config.h (needed since adding ENABLE_ECAL/EBOOK)
added meta information callbacks


git-svn-id: https://zeitsenke.de/svn/SyncEvolution/trunk@193 15ad00c4-1369-45f4-8270-35d70d36bdcd
2006-07-25 21:25:51 +00:00
Patrick Ohly 9c886fd2b5 added --disable-ecal/ebook for installations without the required libs
git-svn-id: https://zeitsenke.de/svn/SyncEvolution/trunk@192 15ad00c4-1369-45f4-8270-35d70d36bdcd
2006-07-23 10:27:21 +00:00
Patrick Ohly a5775d4026 - renamed "test" program to "TestEvolution"
- copy original test cases to fit the name expected by TestEvolution and to have
  them in the build directory
- handle merge with existing item in addItem(): return special status


git-svn-id: https://zeitsenke.de/svn/SyncEvolution/trunk@71 15ad00c4-1369-45f4-8270-35d70d36bdcd
2006-04-17 09:41:37 +00:00
Patrick Ohly 6acd0891b1 - added support for calendars and tasks: not yet tested automatically
but manual tests show that it works in principle, albeit with some
  loss of attributes in the server for calendars (time zone)
- removed "disabled" configuration option, use "sync = none" instead
- added selection of databases to synchronize via additional command
  line parameters

Source:
- Refactored code so that EvolutionSyncSource contains the client-library
  facing code and commong logging/error handling. EvolutionContactSource
  and EvolutionCalendarSource (for both calendars and tasks) can now
  indicate errors via exceptions in all functions.


git-svn-id: https://zeitsenke.de/svn/SyncEvolution/trunk@62 15ad00c4-1369-45f4-8270-35d70d36bdcd
2006-04-09 11:48:11 +00:00
Patrick Ohly 12b98e85c4 - implemented automatic backups, logging and database comparison
- prepared 0.2 release


git-svn-id: https://zeitsenke.de/svn/SyncEvolution/trunk@57 15ad00c4-1369-45f4-8270-35d70d36bdcd
2006-03-19 21:37:30 +00:00
Patrick Ohly 4c145a616c ensure that unique properties occur not more than once
git-svn-id: https://zeitsenke.de/svn/SyncEvolution/trunk@47 15ad00c4-1369-45f4-8270-35d70d36bdcd
2006-03-18 14:18:14 +00:00
Patrick Ohly 191dd40b23 test for copying via server now transmits testVCard.vcf and also compares against it
git-svn-id: https://zeitsenke.de/svn/SyncEvolution/trunk@45 15ad00c4-1369-45f4-8270-35d70d36bdcd
2006-03-18 13:35:23 +00:00
Patrick Ohly 4b6549c077 added workarounds for FBURL/CALURI and ADR without TYPE
git-svn-id: https://zeitsenke.de/svn/SyncEvolution/trunk@39 15ad00c4-1369-45f4-8270-35d70d36bdcd
2006-03-12 22:30:35 +00:00
Patrick Ohly 608a5b261f added conflict handling
git-svn-id: https://zeitsenke.de/svn/SyncEvolution/trunk@22 15ad00c4-1369-45f4-8270-35d70d36bdcd
2006-01-23 21:51:43 +00:00
Patrick Ohly 5883a5fa39 added test cases for vcard conversion
use VOCL classes to fix vcard encoding


git-svn-id: https://zeitsenke.de/svn/SyncEvolution/trunk@16 15ad00c4-1369-45f4-8270-35d70d36bdcd
2006-01-08 21:49:03 +00:00
Patrick Ohly 8ef6f693cd added logging of contact vcards
added hack to make Evolution's vcard V3.0 compatible with Sync4j 2.3b3 (needs to be remove or made configurable)


git-svn-id: https://zeitsenke.de/svn/SyncEvolution/trunk@8 15ad00c4-1369-45f4-8270-35d70d36bdcd
2005-12-03 14:35:11 +00:00
Patrick Ohly 6b09f2f6c3 implemented front-end based on new SyncML C++ config API
implemented the new begin/endSync() callbacks
explain the change tracking and error handling
-> copying from server works, the other way around fails, probably because of vcard 3.0 parsing problems on the server


git-svn-id: https://zeitsenke.de/svn/SyncEvolution/trunk@6 15ad00c4-1369-45f4-8270-35d70d36bdcd
2005-11-26 21:16:03 +00:00
Patrick Ohly 3a81621f3e adapted to Sync4j C++ client API 3.x
git-svn-id: https://zeitsenke.de/svn/SyncEvolution/trunk@5 15ad00c4-1369-45f4-8270-35d70d36bdcd
2005-11-25 20:53:04 +00:00
Patrick Ohly 3bc37288c2 first working version of SyncSource for Evolution contacts (requires Sync4j C++ API 2.0, not currently available)
added unit testing


git-svn-id: https://zeitsenke.de/svn/SyncEvolution/trunk@3 15ad00c4-1369-45f4-8270-35d70d36bdcd
2005-11-05 22:04:33 +00:00