The prefix is important: without it, myFUNAMBOL 6.x and 7.0 map
all SyncEvolution instances to the single phone that they support,
which leads to unwanted slow syncs when switching between multiple
instances.
git-svn-id: https://zeitsenke.de/svn/SyncEvolution/trunk@666 15ad00c4-1369-45f4-8270-35d70d36bdcd
The check for that was completely missing. Now SyncEvolution checks that the backend is available and
there is at least one database (the first one will be synchronized unless explicitly changed). If these
checks fail and the sync source was explicitly requested by the user by listing it after the server
name, then an error is printed and no configuration is written. If the user wants the default setup,
then the source is silently disabled.
git-svn-id: https://zeitsenke.de/svn/SyncEvolution/trunk@650 15ad00c4-1369-45f4-8270-35d70d36bdcd
The error was printed when listing databases failed without setting
an error, like on Maemo where memos are not supported by the Evolution
backend.
git-svn-id: https://zeitsenke.de/svn/SyncEvolution/trunk@648 15ad00c4-1369-45f4-8270-35d70d36bdcd
Currently the functions are identical, but at some point
they might diverge. Avoid conflicts by using different
names.
git-svn-id: https://zeitsenke.de/svn/SyncEvolution/trunk@634 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
Child items can now be inserted without the
corresponding parent or before the parent.
Semantically this makes no sense, but servers
which do not know about the semantic might do
it. Also removing the parent without the children
is now supported.
Technically this has to workaround limitations of
the EDS API and is done as:
* child before parent: temporarily save and remove children, insert parent, update parent with children
* remove parent, but not child: temporarily save and remove children, reinsert after removal of parent
git-svn-id: https://zeitsenke.de/svn/SyncEvolution/trunk@627 15ad00c4-1369-45f4-8270-35d70d36bdcd
The intented behavior is that inactive sources can only be activated
by listing them explicitly after the server name. Fixed by moving
the handling of the sync mode override from the generic config
handling to EvolutionSyncClient, which knows about this special
semantic.
Minor code cleanup: avoid duplicating the "sync" string by
declaring the syncSourceProp as member of EvolutionSyncSourceConfig.
git-svn-id: https://zeitsenke.de/svn/SyncEvolution/trunk@626 15ad00c4-1369-45f4-8270-35d70d36bdcd
- copyright transfer
- API documentation moved to .c file and reformatted
- simplified iterating over TZID parameter
- removed g_assert
Also implemented out-of-memory error handling. If allocating
a GError fails, the process is aborted by calling g_error().
git-svn-id: https://zeitsenke.de/svn/SyncEvolution/trunk@625 15ad00c4-1369-45f4-8270-35d70d36bdcd
SyncEvolution contained code which calls the LOG macros
with a pointer to a string buffer (LOG.debug(data))
which used to be okay when those calls dumped the data
verbatim, but now can segfault since printf
style formatting was added. Now LOG.debug("%s", data) is used.
git-svn-id: https://zeitsenke.de/svn/SyncEvolution/trunk@623 15ad00c4-1369-45f4-8270-35d70d36bdcd
- must track which items exist locally because
asking for a detached recurrence succeeds even if
the object doesn't exist yet; also reduces communication
with backend
- new child items must be created via e_cal_modify_object()
- log adding new items with extracted UID/RECURRENCE-ID
- sort item lists so that parent items are processed
first (required by ScheduleWorld)
More work is needed to handle semantically not quite
correct situations, like adding a child without a parent.
git-svn-id: https://zeitsenke.de/svn/SyncEvolution/trunk@620 15ad00c4-1369-45f4-8270-35d70d36bdcd