summaryrefslogtreecommitdiffstats
path: root/examples/davresource/davresource.cpp
diff options
context:
space:
mode:
authorSandro Knauß <sknauss@kde.org>2017-01-26 00:03:25 +0100
committerSandro Knauß <sknauss@kde.org>2017-01-30 10:59:30 +0100
commitd03c67ede657851735945c52895da411458cb7c4 (patch)
tree5c52fbdaabf9571e61eea2817135bc9dde3d6a79 /examples/davresource/davresource.cpp
parenta8075ac935cec172972b7bea375db2c70eb4bec8 (diff)
downloadsink-d03c67ede657851735945c52895da411458cb7c4.tar.gz
sink-d03c67ede657851735945c52895da411458cb7c4.zip
Make syncing of contacts successfully
Diffstat (limited to 'examples/davresource/davresource.cpp')
-rw-r--r--examples/davresource/davresource.cpp17
1 files changed, 9 insertions, 8 deletions
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:
340 QHash<QByteArray, Query::Comparator> mergeCriteria; 340 QHash<QByteArray, Query::Comparator> mergeCriteria;
341 QStringList ridList; 341 QStringList ridList;
342 for(const auto &item : davItemsListJob->items()) { 342 for(const auto &item : davItemsListJob->items()) {
343 auto davItemFetchJob = new KDAV::DavItemFetchJob(item); 343 QByteArray rid = item.url().toDisplayString().toUtf8();
344 auto job = runJob(davItemFetchJob).syncThen<void>([this, davItemFetchJob,bufferType, mergeCriteria] { 344 if (item.etag().toLatin1() != syncStore().readValue(rid + "_etag")) {
345 SinkTrace() << "Updating " << rid;
346 auto davItemFetchJob = new KDAV::DavItemFetchJob(item);
347 davItemFetchJob->exec();
345 const auto item = davItemFetchJob->item(); 348 const auto item = davItemFetchJob->item();
346 const QByteArray rid = item.url().toDisplayString().toUtf8(); 349 rid = item.url().toDisplayString().toUtf8();
347 Sink::ApplicationDomain::Contact contact; 350 Sink::ApplicationDomain::Contact contact;
348 /*contact.setUid("");
349 contact.setFn("fn");
350 contact.setEmails(QByteArrayList());*/
351 contact.setVcard(item.data()); 351 contact.setVcard(item.data());
352 createOrModify(bufferType, rid, contact, mergeCriteria); 352 createOrModify(bufferType, rid, contact, mergeCriteria);
353 }); 353 syncStore().writeValue(rid + "_etag", item.etag().toLatin1());
354 ridList << item.url().toDisplayString(); 354 }
355 ridList << rid;
355 } 356 }
356 357
357 scanForRemovals(bufferType, 358 scanForRemovals(bufferType,