CalDAV: revised RECURRENCE-ID -> EXDATE support
authorPatrick Ohly <patrick.ohly@intel.com>
Sat, 12 Nov 2011 12:50:09 +0000 (12:50 +0000)
committerPatrick Ohly <patrick.ohly@intel.com>
Sat, 12 Nov 2011 12:50:09 +0000 (12:50 +0000)
commit1cd49e9ecd60b38593ef87665fe318aec7692d91
tree7d419fe8e849ad43a580e847784fb88f486583d4
parent8b073e776717dd75186122411a6c6564f8eed9b0
CalDAV: revised RECURRENCE-ID -> EXDATE support

The previous approach (updating the internal cache) had the drawback
that X-SYNCEVOLUTION-EXDATE-DETACHED was also sent to the CalDAV
server. The work of generating it was done in all cases, even if not
needed. Found when running the full test suite.

Now the X-SYNCEVOLUTION-EXDATE-DETACHED properties are only added to
the icalcomponent that is generated for the engine in
readSubItem(). There's still the risk that such an extended VEVENT
will be stored again (read/modify/write conflict resolution), so
further changes will be needed to filter them out.

To ensure that this change doesn't break the intended semantic of
X-SYNCEVOLUTION-EXDATE-DETACHED, the presence of these properties is
now checked in the LinkedItems::testLinkedItemsParentChild test.
src/backends/webdav/CalDAVSource.cpp
src/backends/webdav/WebDAVSourceRegister.cpp
src/syncevo/SyncSource.h
test/ClientTest.cpp