diff options
author | Christian Mollekopf <chrigi_1@fastmail.fm> | 2015-11-19 17:37:39 +0100 |
---|---|---|
committer | Christian Mollekopf <chrigi_1@fastmail.fm> | 2015-11-19 17:37:39 +0100 |
commit | 8d5684292ef92f32487ba32df716a00c4a0841b5 (patch) | |
tree | 1af55d3216f79175a55c1890d75cef2ae1f041d0 /examples/dummyresource/resourcefactory.cpp | |
parent | ef205affdb73bfdbef5830996e6336e583660fbc (diff) | |
download | sink-8d5684292ef92f32487ba32df716a00c4a0841b5.tar.gz sink-8d5684292ef92f32487ba32df716a00c4a0841b5.zip |
Loading data with the new model for the test client
Diffstat (limited to 'examples/dummyresource/resourcefactory.cpp')
-rw-r--r-- | examples/dummyresource/resourcefactory.cpp | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/examples/dummyresource/resourcefactory.cpp b/examples/dummyresource/resourcefactory.cpp index bed1d71..2a5a3e8 100644 --- a/examples/dummyresource/resourcefactory.cpp +++ b/examples/dummyresource/resourcefactory.cpp | |||
@@ -163,6 +163,27 @@ void DummyResource::createMail(const QByteArray &ridBuffer, const QMap<QString, | |||
163 | Akonadi2::EntityBuffer::assembleEntityBuffer(entityFbb, 0, 0, 0, 0, m_fbb.GetBufferPointer(), m_fbb.GetSize()); | 163 | Akonadi2::EntityBuffer::assembleEntityBuffer(entityFbb, 0, 0, 0, 0, m_fbb.GetBufferPointer(), m_fbb.GetSize()); |
164 | } | 164 | } |
165 | 165 | ||
166 | void DummyResource::createFolder(const QByteArray &ridBuffer, const QMap<QString, QVariant> &data, flatbuffers::FlatBufferBuilder &entityFbb) | ||
167 | { | ||
168 | //Map the source format to the buffer format (which happens to be an exact copy here) | ||
169 | auto name = m_fbb.CreateString(data.value("name").toString().toStdString()); | ||
170 | flatbuffers::Offset<flatbuffers::String> parent; | ||
171 | bool hasParent = false; | ||
172 | if (!data.value("parent").toString().isEmpty()) { | ||
173 | hasParent = true; | ||
174 | parent = m_fbb.CreateString(data.value("parent").toString().toStdString()); | ||
175 | } | ||
176 | |||
177 | auto builder = Akonadi2::ApplicationDomain::Buffer::FolderBuilder(m_fbb); | ||
178 | builder.add_name(name); | ||
179 | if (hasParent) { | ||
180 | builder.add_parent(parent); | ||
181 | } | ||
182 | auto buffer = builder.Finish(); | ||
183 | Akonadi2::ApplicationDomain::Buffer::FinishFolderBuffer(m_fbb, buffer); | ||
184 | Akonadi2::EntityBuffer::assembleEntityBuffer(entityFbb, 0, 0, 0, 0, m_fbb.GetBufferPointer(), m_fbb.GetSize()); | ||
185 | } | ||
186 | |||
166 | void DummyResource::synchronize(const QString &bufferType, const QMap<QString, QMap<QString, QVariant> > &data, Akonadi2::Storage::Transaction &transaction, std::function<void(const QByteArray &ridBuffer, const QMap<QString, QVariant> &data, flatbuffers::FlatBufferBuilder &entityFbb)> createEntity) | 187 | void DummyResource::synchronize(const QString &bufferType, const QMap<QString, QMap<QString, QVariant> > &data, Akonadi2::Storage::Transaction &transaction, std::function<void(const QByteArray &ridBuffer, const QMap<QString, QVariant> &data, flatbuffers::FlatBufferBuilder &entityFbb)> createEntity) |
167 | { | 188 | { |
168 | Index uidIndex("index.uid", transaction); | 189 | Index uidIndex("index.uid", transaction); |
@@ -209,6 +230,9 @@ KAsync::Job<void> DummyResource::synchronizeWithSource() | |||
209 | synchronize(ENTITY_TYPE_MAIL, DummyStore::instance().mails(), transaction, [this](const QByteArray &ridBuffer, const QMap<QString, QVariant> &data, flatbuffers::FlatBufferBuilder &entityFbb) { | 230 | synchronize(ENTITY_TYPE_MAIL, DummyStore::instance().mails(), transaction, [this](const QByteArray &ridBuffer, const QMap<QString, QVariant> &data, flatbuffers::FlatBufferBuilder &entityFbb) { |
210 | createMail(ridBuffer, data, entityFbb); | 231 | createMail(ridBuffer, data, entityFbb); |
211 | }); | 232 | }); |
233 | synchronize(ENTITY_TYPE_FOLDER, DummyStore::instance().folders(), transaction, [this](const QByteArray &ridBuffer, const QMap<QString, QVariant> &data, flatbuffers::FlatBufferBuilder &entityFbb) { | ||
234 | createFolder(ridBuffer, data, entityFbb); | ||
235 | }); | ||
212 | 236 | ||
213 | f.setFinished(); | 237 | f.setFinished(); |
214 | }); | 238 | }); |