summaryrefslogtreecommitdiffstats
path: root/common/sourcewriteback.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'common/sourcewriteback.cpp')
-rw-r--r--common/sourcewriteback.cpp16
1 files changed, 12 insertions, 4 deletions
diff --git a/common/sourcewriteback.cpp b/common/sourcewriteback.cpp
index 7d21ea6..fe996cb 100644
--- a/common/sourcewriteback.cpp
+++ b/common/sourcewriteback.cpp
@@ -55,18 +55,26 @@ RemoteIdMap &SourceWriteBack::syncStore()
55 return *mSyncStore; 55 return *mSyncStore;
56} 56}
57 57
58KAsync::Job<void> SourceWriteBack::replay(const QByteArray &type, const QByteArray &key, const QByteArray &value) 58bool SourceWriteBack::canReplay(const QByteArray &type, const QByteArray &key, const QByteArray &value)
59{ 59{
60 SinkTrace() << "Replaying" << type << key;
61
62 Sink::EntityBuffer buffer(value); 60 Sink::EntityBuffer buffer(value);
63 const Sink::Entity &entity = buffer.entity(); 61 const Sink::Entity &entity = buffer.entity();
64 const auto metadataBuffer = Sink::EntityBuffer::readBuffer<Sink::Metadata>(entity.metadata()); 62 const auto metadataBuffer = Sink::EntityBuffer::readBuffer<Sink::Metadata>(entity.metadata());
65 Q_ASSERT(metadataBuffer); 63 Q_ASSERT(metadataBuffer);
66 if (!metadataBuffer->replayToSource()) { 64 if (!metadataBuffer->replayToSource()) {
67 SinkTrace() << "Change is coming from the source"; 65 SinkTrace() << "Change is coming from the source";
68 return KAsync::null<void>();
69 } 66 }
67 return metadataBuffer->replayToSource();
68}
69
70KAsync::Job<void> SourceWriteBack::replay(const QByteArray &type, const QByteArray &key, const QByteArray &value)
71{
72 SinkTrace() << "Replaying" << type << key;
73
74 Sink::EntityBuffer buffer(value);
75 const Sink::Entity &entity = buffer.entity();
76 const auto metadataBuffer = Sink::EntityBuffer::readBuffer<Sink::Metadata>(entity.metadata());
77 Q_ASSERT(metadataBuffer);
70 Q_ASSERT(!mSyncStore); 78 Q_ASSERT(!mSyncStore);
71 Q_ASSERT(!mEntityStore); 79 Q_ASSERT(!mEntityStore);
72 Q_ASSERT(!mTransaction); 80 Q_ASSERT(!mTransaction);