From 41ba42150d4232807299214a6fcfa44c669489b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Nicole?= Date: Thu, 3 May 2018 09:45:45 +0200 Subject: Implement replaying CalDAV events and calendars Summary: Notes: - For calendars, only removal is implemented because: - There is no DavCollectionCreateJob, possibly because there can't be an empty DAV collection - DavCollectionModifyJob only allows modifying "properties", which we don't use (except for the name, if the name is considered a property) - Currently, modifying an item with Sink overrides the one on the server, even if the store is not up-to-date Reviewers: cmollekopf Tags: #sink Differential Revision: https://phabricator.kde.org/D12611 --- common/synchronizer.cpp | 14 ++++++++++++++ common/synchronizer.h | 2 ++ 2 files changed, 16 insertions(+) (limited to 'common') diff --git a/common/synchronizer.cpp b/common/synchronizer.cpp index aa4f030..fa16002 100644 --- a/common/synchronizer.cpp +++ b/common/synchronizer.cpp @@ -632,6 +632,10 @@ KAsync::Job Synchronizer::replay(const QByteArray &type, const QByteArray job = replay(store().readEntity(key), operation, oldRemoteId, modifiedProperties); } else if (type == ApplicationDomain::getTypeName()) { job = replay(store().readEntity(key), operation, oldRemoteId, modifiedProperties); + } else if (type == ApplicationDomain::getTypeName()) { + job = replay(store().readEntity(key), operation, oldRemoteId, modifiedProperties); + } else if (type == ApplicationDomain::getTypeName()) { + job = replay(store().readEntity(key), operation, oldRemoteId, modifiedProperties); } else { SinkErrorCtx(mLogCtx) << "Replayed unknown type: " << type; } @@ -688,6 +692,16 @@ KAsync::Job Synchronizer::replay(const ApplicationDomain::Folder &, return KAsync::null(); } +KAsync::Job Synchronizer::replay(const ApplicationDomain::Event &, Sink::Operation, const QByteArray &, const QList &) +{ + return KAsync::null(); +} + +KAsync::Job Synchronizer::replay(const ApplicationDomain::Calendar &, Sink::Operation, const QByteArray &, const QList &) +{ + return KAsync::null(); +} + bool Synchronizer::allChangesReplayed() { if (!mSyncRequestQueue.isEmpty()) { diff --git a/common/synchronizer.h b/common/synchronizer.h index 16905d7..2a3c3d8 100644 --- a/common/synchronizer.h +++ b/common/synchronizer.h @@ -79,6 +79,8 @@ protected: virtual KAsync::Job replay(const Sink::ApplicationDomain::Addressbook &, Sink::Operation, const QByteArray &oldRemoteId, const QList &); virtual KAsync::Job replay(const Sink::ApplicationDomain::Mail &, Sink::Operation, const QByteArray &oldRemoteId, const QList &); virtual KAsync::Job replay(const Sink::ApplicationDomain::Folder &, Sink::Operation, const QByteArray &oldRemoteId, const QList &); + virtual KAsync::Job replay(const Sink::ApplicationDomain::Event &, Sink::Operation, const QByteArray &oldRemoteId, const QList &); + virtual KAsync::Job replay(const Sink::ApplicationDomain::Calendar &, Sink::Operation, const QByteArray &oldRemoteId, const QList &); protected: QString secret() const; -- cgit v1.2.3