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
- 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
- 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
- simplified the database schema by removing unused tables
- added more per-contact properties missing in the original Apple schema
- added comments
- implemented storing of properties with 1:1 mapping to columns in database
- simplified the test cases used for sqlite
Client::Source::sqlite passes now. Client::Sync::sqlite still had some issues,
partly network timeouts due to load on the server, partly problems in the client (?).
git-svn-id: https://zeitsenke.de/svn/SyncEvolution/trunk@496 15ad00c4-1369-45f4-8270-35d70d36bdcd
This is a first step towards deriving SQLiteContactSource from a sync source base
class which does change tracking.
git-svn-id: https://zeitsenke.de/svn/SyncEvolution/trunk@483 15ad00c4-1369-45f4-8270-35d70d36bdcd