summaryrefslogtreecommitdiffstats
path: root/examples/imapresource/imapresource.cpp
diff options
context:
space:
mode:
authorChristian Mollekopf <chrigi_1@fastmail.fm>2016-12-08 13:18:19 +0100
committerChristian Mollekopf <chrigi_1@fastmail.fm>2016-12-08 13:18:19 +0100
commitae4b64b198a143240aa5dd1e202e5016abfdae71 (patch)
tree5d9d58a512ebc60c44637d11c9424f67a02887e8 /examples/imapresource/imapresource.cpp
parentf425c2070131161dc11bcf70e35f8d1848cadb65 (diff)
downloadsink-ae4b64b198a143240aa5dd1e202e5016abfdae71.tar.gz
sink-ae4b64b198a143240aa5dd1e202e5016abfdae71.zip
Wrap references in a Reerence type.
This allows us to make sure that references are not taken out of context (the resource). Because we need to use the type-specific accessors more we also ran into a problem that we cannot "downcast" a reference with the change recording still working, for that we have the cast<T>() operator now.
Diffstat (limited to 'examples/imapresource/imapresource.cpp')
-rw-r--r--examples/imapresource/imapresource.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/examples/imapresource/imapresource.cpp b/examples/imapresource/imapresource.cpp
index 9577f3e..238fb0c 100644
--- a/examples/imapresource/imapresource.cpp
+++ b/examples/imapresource/imapresource.cpp
@@ -92,17 +92,17 @@ public:
92 const auto remoteId = folderPath.toUtf8(); 92 const auto remoteId = folderPath.toUtf8();
93 const auto bufferType = ENTITY_TYPE_FOLDER; 93 const auto bufferType = ENTITY_TYPE_FOLDER;
94 Sink::ApplicationDomain::Folder folder; 94 Sink::ApplicationDomain::Folder folder;
95 folder.setProperty(ApplicationDomain::Folder::Name::name, folderName); 95 folder.setName(folderName);
96 folder.setProperty(ApplicationDomain::Folder::Icon::name, icon); 96 folder.setIcon(icon);
97 QHash<QByteArray, Query::Comparator> mergeCriteria; 97 QHash<QByteArray, Query::Comparator> mergeCriteria;
98 if (SpecialPurpose::isSpecialPurposeFolderName(folderName)) { 98 if (SpecialPurpose::isSpecialPurposeFolderName(folderName)) {
99 auto type = SpecialPurpose::getSpecialPurposeType(folderName); 99 auto type = SpecialPurpose::getSpecialPurposeType(folderName);
100 folder.setProperty(ApplicationDomain::Folder::SpecialPurpose::name, QVariant::fromValue(QByteArrayList() << type)); 100 folder.setSpecialPurpose(QByteArrayList() << type);
101 mergeCriteria.insert(ApplicationDomain::Folder::SpecialPurpose::name, Query::Comparator(type, Query::Comparator::Contains)); 101 mergeCriteria.insert(ApplicationDomain::Folder::SpecialPurpose::name, Query::Comparator(type, Query::Comparator::Contains));
102 } 102 }
103 103
104 if (!parentFolderRid.isEmpty()) { 104 if (!parentFolderRid.isEmpty()) {
105 folder.setProperty("parent", syncStore().resolveRemoteId(ENTITY_TYPE_FOLDER, parentFolderRid.toUtf8())); 105 folder.setParent(syncStore().resolveRemoteId(ENTITY_TYPE_FOLDER, parentFolderRid.toUtf8()));
106 } 106 }
107 createOrModify(bufferType, remoteId, folder, mergeCriteria); 107 createOrModify(bufferType, remoteId, folder, mergeCriteria);
108 return remoteId; 108 return remoteId;