diff options
Diffstat (limited to 'common')
-rw-r--r-- | common/commands/createentity.fbs | 1 | ||||
-rw-r--r-- | common/commands/deleteentity.fbs | 1 | ||||
-rw-r--r-- | common/commands/modifyentity.fbs | 1 | ||||
-rw-r--r-- | common/metadata.fbs | 3 | ||||
-rw-r--r-- | common/pipeline.cpp | 9 |
5 files changed, 10 insertions, 5 deletions
diff --git a/common/commands/createentity.fbs b/common/commands/createentity.fbs index a5bc95c..5358dea 100644 --- a/common/commands/createentity.fbs +++ b/common/commands/createentity.fbs | |||
@@ -4,6 +4,7 @@ table CreateEntity { | |||
4 | entityId: string; | 4 | entityId: string; |
5 | domainType: string; | 5 | domainType: string; |
6 | delta: [ubyte]; | 6 | delta: [ubyte]; |
7 | replayToSource: bool = true; | ||
7 | } | 8 | } |
8 | 9 | ||
9 | root_type CreateEntity; | 10 | root_type CreateEntity; |
diff --git a/common/commands/deleteentity.fbs b/common/commands/deleteentity.fbs index 4f32b54..9f865be 100644 --- a/common/commands/deleteentity.fbs +++ b/common/commands/deleteentity.fbs | |||
@@ -4,6 +4,7 @@ table DeleteEntity { | |||
4 | revision: ulong; | 4 | revision: ulong; |
5 | entityId: string; | 5 | entityId: string; |
6 | domainType: string; | 6 | domainType: string; |
7 | replayToSource: bool = true; | ||
7 | } | 8 | } |
8 | 9 | ||
9 | root_type DeleteEntity; | 10 | root_type DeleteEntity; |
diff --git a/common/commands/modifyentity.fbs b/common/commands/modifyentity.fbs index a59eb9b..03b543f 100644 --- a/common/commands/modifyentity.fbs +++ b/common/commands/modifyentity.fbs | |||
@@ -6,6 +6,7 @@ table ModifyEntity { | |||
6 | deletions: [string]; //A list of deleted properties | 6 | deletions: [string]; //A list of deleted properties |
7 | domainType: string; | 7 | domainType: string; |
8 | delta: [ubyte]; //Contains an entity buffer with all changed properties set | 8 | delta: [ubyte]; //Contains an entity buffer with all changed properties set |
9 | replayToSource: bool = true; | ||
9 | } | 10 | } |
10 | 11 | ||
11 | root_type ModifyEntity; | 12 | root_type ModifyEntity; |
diff --git a/common/metadata.fbs b/common/metadata.fbs index 1455238..0a709fe 100644 --- a/common/metadata.fbs +++ b/common/metadata.fbs | |||
@@ -4,8 +4,7 @@ enum Operation : byte { Creation = 1, Modification, Removal } | |||
4 | 4 | ||
5 | table Metadata { | 5 | table Metadata { |
6 | revision: ulong; | 6 | revision: ulong; |
7 | processed: bool = true; | 7 | replayToSource: bool = true; |
8 | processingProgress: [string]; | ||
9 | operation: Operation = Modification; | 8 | operation: Operation = Modification; |
10 | } | 9 | } |
11 | 10 | ||
diff --git a/common/pipeline.cpp b/common/pipeline.cpp index f8b1fb1..06d8114 100644 --- a/common/pipeline.cpp +++ b/common/pipeline.cpp | |||
@@ -142,6 +142,7 @@ KAsync::Job<qint64> Pipeline::newEntity(void const *command, size_t size) | |||
142 | } | 142 | } |
143 | auto createEntity = Akonadi2::Commands::GetCreateEntity(command); | 143 | auto createEntity = Akonadi2::Commands::GetCreateEntity(command); |
144 | 144 | ||
145 | const bool replayToSource = createEntity->replayToSource(); | ||
145 | const QByteArray bufferType = QByteArray(reinterpret_cast<char const*>(createEntity->domainType()->Data()), createEntity->domainType()->size()); | 146 | const QByteArray bufferType = QByteArray(reinterpret_cast<char const*>(createEntity->domainType()->Data()), createEntity->domainType()->size()); |
146 | { | 147 | { |
147 | flatbuffers::Verifier verifyer(reinterpret_cast<const uint8_t *>(createEntity->delta()->Data()), createEntity->delta()->size()); | 148 | flatbuffers::Verifier verifyer(reinterpret_cast<const uint8_t *>(createEntity->delta()->Data()), createEntity->delta()->size()); |
@@ -175,8 +176,8 @@ KAsync::Job<qint64> Pipeline::newEntity(void const *command, size_t size) | |||
175 | flatbuffers::FlatBufferBuilder metadataFbb; | 176 | flatbuffers::FlatBufferBuilder metadataFbb; |
176 | auto metadataBuilder = Akonadi2::MetadataBuilder(metadataFbb); | 177 | auto metadataBuilder = Akonadi2::MetadataBuilder(metadataFbb); |
177 | metadataBuilder.add_revision(newRevision); | 178 | metadataBuilder.add_revision(newRevision); |
178 | metadataBuilder.add_processed(false); | ||
179 | metadataBuilder.add_operation(Akonadi2::Operation_Creation); | 179 | metadataBuilder.add_operation(Akonadi2::Operation_Creation); |
180 | metadataBuilder.add_replayToSource(replayToSource); | ||
180 | auto metadataBuffer = metadataBuilder.Finish(); | 181 | auto metadataBuffer = metadataBuilder.Finish(); |
181 | Akonadi2::FinishMetadataBuffer(metadataFbb, metadataBuffer); | 182 | Akonadi2::FinishMetadataBuffer(metadataFbb, metadataBuffer); |
182 | 183 | ||
@@ -224,6 +225,7 @@ KAsync::Job<qint64> Pipeline::modifiedEntity(void const *command, size_t size) | |||
224 | Q_ASSERT(modifyEntity); | 225 | Q_ASSERT(modifyEntity); |
225 | 226 | ||
226 | const qint64 baseRevision = modifyEntity->revision(); | 227 | const qint64 baseRevision = modifyEntity->revision(); |
228 | const bool replayToSource = modifyEntity->replayToSource(); | ||
227 | //TODO rename modifyEntity->domainType to bufferType | 229 | //TODO rename modifyEntity->domainType to bufferType |
228 | const QByteArray bufferType = QByteArray(reinterpret_cast<char const*>(modifyEntity->domainType()->Data()), modifyEntity->domainType()->size()); | 230 | const QByteArray bufferType = QByteArray(reinterpret_cast<char const*>(modifyEntity->domainType()->Data()), modifyEntity->domainType()->size()); |
229 | const QByteArray key = QByteArray(reinterpret_cast<char const*>(modifyEntity->entityId()->Data()), modifyEntity->entityId()->size()); | 231 | const QByteArray key = QByteArray(reinterpret_cast<char const*>(modifyEntity->entityId()->Data()), modifyEntity->entityId()->size()); |
@@ -291,8 +293,8 @@ KAsync::Job<qint64> Pipeline::modifiedEntity(void const *command, size_t size) | |||
291 | flatbuffers::FlatBufferBuilder metadataFbb; | 293 | flatbuffers::FlatBufferBuilder metadataFbb; |
292 | auto metadataBuilder = Akonadi2::MetadataBuilder(metadataFbb); | 294 | auto metadataBuilder = Akonadi2::MetadataBuilder(metadataFbb); |
293 | metadataBuilder.add_revision(newRevision); | 295 | metadataBuilder.add_revision(newRevision); |
294 | metadataBuilder.add_processed(false); | ||
295 | metadataBuilder.add_operation(Akonadi2::Operation_Modification); | 296 | metadataBuilder.add_operation(Akonadi2::Operation_Modification); |
297 | metadataBuilder.add_replayToSource(replayToSource); | ||
296 | auto metadataBuffer = metadataBuilder.Finish(); | 298 | auto metadataBuffer = metadataBuilder.Finish(); |
297 | Akonadi2::FinishMetadataBuffer(metadataFbb, metadataBuffer); | 299 | Akonadi2::FinishMetadataBuffer(metadataFbb, metadataBuffer); |
298 | 300 | ||
@@ -329,6 +331,7 @@ KAsync::Job<qint64> Pipeline::deletedEntity(void const *command, size_t size) | |||
329 | } | 331 | } |
330 | auto deleteEntity = Akonadi2::Commands::GetDeleteEntity(command); | 332 | auto deleteEntity = Akonadi2::Commands::GetDeleteEntity(command); |
331 | 333 | ||
334 | const bool replayToSource = deleteEntity->replayToSource(); | ||
332 | const QByteArray bufferType = QByteArray(reinterpret_cast<char const*>(deleteEntity->domainType()->Data()), deleteEntity->domainType()->size()); | 335 | const QByteArray bufferType = QByteArray(reinterpret_cast<char const*>(deleteEntity->domainType()->Data()), deleteEntity->domainType()->size()); |
333 | const QByteArray key = QByteArray(reinterpret_cast<char const*>(deleteEntity->entityId()->Data()), deleteEntity->entityId()->size()); | 336 | const QByteArray key = QByteArray(reinterpret_cast<char const*>(deleteEntity->entityId()->Data()), deleteEntity->entityId()->size()); |
334 | 337 | ||
@@ -366,8 +369,8 @@ KAsync::Job<qint64> Pipeline::deletedEntity(void const *command, size_t size) | |||
366 | flatbuffers::FlatBufferBuilder metadataFbb; | 369 | flatbuffers::FlatBufferBuilder metadataFbb; |
367 | auto metadataBuilder = Akonadi2::MetadataBuilder(metadataFbb); | 370 | auto metadataBuilder = Akonadi2::MetadataBuilder(metadataFbb); |
368 | metadataBuilder.add_revision(newRevision); | 371 | metadataBuilder.add_revision(newRevision); |
369 | metadataBuilder.add_processed(false); | ||
370 | metadataBuilder.add_operation(Akonadi2::Operation_Removal); | 372 | metadataBuilder.add_operation(Akonadi2::Operation_Removal); |
373 | metadataBuilder.add_replayToSource(replayToSource); | ||
371 | auto metadataBuffer = metadataBuilder.Finish(); | 374 | auto metadataBuffer = metadataBuilder.Finish(); |
372 | Akonadi2::FinishMetadataBuffer(metadataFbb, metadataBuffer); | 375 | Akonadi2::FinishMetadataBuffer(metadataFbb, metadataBuffer); |
373 | 376 | ||