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
Most devices only synchronize plain text and do
not have a separate summary field. Such an extra
summary field was added to Evolution after memo
support was initially implemented in SyncEvolution,
therefore SyncEvolution did not transmit that field.
Added transmitting the summary by inserting it
as first line of the plain text blob *if* it is
not already identical with the first line. When
receiving a memo, the summary is set from the first
line *without* removing the first line because
the first line might have been used as a normal
part of the memo.
git-svn-id: https://zeitsenke.de/svn/SyncEvolution/trunk@631 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