From d03c67ede657851735945c52895da411458cb7c4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20Knau=C3=9F?= Date: Thu, 26 Jan 2017 00:03:25 +0100 Subject: Make syncing of contacts successfully --- examples/davresource/davresource.cpp | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) (limited to 'examples') diff --git a/examples/davresource/davresource.cpp b/examples/davresource/davresource.cpp index b7843b7..81ae675 100644 --- a/examples/davresource/davresource.cpp +++ b/examples/davresource/davresource.cpp @@ -340,18 +340,19 @@ public: QHash mergeCriteria; QStringList ridList; for(const auto &item : davItemsListJob->items()) { - auto davItemFetchJob = new KDAV::DavItemFetchJob(item); - auto job = runJob(davItemFetchJob).syncThen([this, davItemFetchJob,bufferType, mergeCriteria] { + QByteArray rid = item.url().toDisplayString().toUtf8(); + if (item.etag().toLatin1() != syncStore().readValue(rid + "_etag")) { + SinkTrace() << "Updating " << rid; + auto davItemFetchJob = new KDAV::DavItemFetchJob(item); + davItemFetchJob->exec(); const auto item = davItemFetchJob->item(); - const QByteArray rid = item.url().toDisplayString().toUtf8(); + rid = item.url().toDisplayString().toUtf8(); Sink::ApplicationDomain::Contact contact; - /*contact.setUid(""); - contact.setFn("fn"); - contact.setEmails(QByteArrayList());*/ contact.setVcard(item.data()); createOrModify(bufferType, rid, contact, mergeCriteria); - }); - ridList << item.url().toDisplayString(); + syncStore().writeValue(rid + "_etag", item.etag().toLatin1()); + } + ridList << rid; } scanForRemovals(bufferType, -- cgit v1.2.3