summaryrefslogtreecommitdiffstats
path: root/common/sourcewriteback.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'common/sourcewriteback.cpp')
-rw-r--r--common/sourcewriteback.cpp13
1 files changed, 4 insertions, 9 deletions
diff --git a/common/sourcewriteback.cpp b/common/sourcewriteback.cpp
index 204793e..e2994d1 100644
--- a/common/sourcewriteback.cpp
+++ b/common/sourcewriteback.cpp
@@ -41,12 +41,9 @@ SourceWriteBack::SourceWriteBack(const ResourceContext &context)
41 41
42} 42}
43 43
44EntityStore &SourceWriteBack::store() 44Storage::EntityStore &SourceWriteBack::store()
45{ 45{
46 if (!mEntityStoreWrapper) { 46 return *mEntityStore;
47 mEntityStoreWrapper = QSharedPointer<EntityStore>::create(*mEntityStore);
48 }
49 return *mEntityStoreWrapper;
50} 47}
51 48
52RemoteIdMap &SourceWriteBack::syncStore() 49RemoteIdMap &SourceWriteBack::syncStore()
@@ -78,7 +75,6 @@ KAsync::Job<void> SourceWriteBack::replay(const QByteArray &type, const QByteArr
78 const auto metadataBuffer = Sink::EntityBuffer::readBuffer<Sink::Metadata>(entity.metadata()); 75 const auto metadataBuffer = Sink::EntityBuffer::readBuffer<Sink::Metadata>(entity.metadata());
79 Q_ASSERT(metadataBuffer); 76 Q_ASSERT(metadataBuffer);
80 Q_ASSERT(!mSyncStore); 77 Q_ASSERT(!mSyncStore);
81 Q_ASSERT(!mEntityStoreWrapper);
82 Q_ASSERT(!mSyncTransaction); 78 Q_ASSERT(!mSyncTransaction);
83 mEntityStore->startTransaction(Storage::DataStore::ReadOnly); 79 mEntityStore->startTransaction(Storage::DataStore::ReadOnly);
84 mSyncTransaction = mSyncStorage.createTransaction(Sink::Storage::DataStore::ReadWrite); 80 mSyncTransaction = mSyncStorage.createTransaction(Sink::Storage::DataStore::ReadWrite);
@@ -100,10 +96,10 @@ KAsync::Job<void> SourceWriteBack::replay(const QByteArray &type, const QByteArr
100 96
101 KAsync::Job<QByteArray> job = KAsync::null<QByteArray>(); 97 KAsync::Job<QByteArray> job = KAsync::null<QByteArray>();
102 if (type == ENTITY_TYPE_FOLDER) { 98 if (type == ENTITY_TYPE_FOLDER) {
103 auto folder = store().readFromKey<ApplicationDomain::Folder>(key); 99 auto folder = store().readEntity<ApplicationDomain::Folder>(key);
104 job = replay(folder, operation, oldRemoteId, modifiedProperties); 100 job = replay(folder, operation, oldRemoteId, modifiedProperties);
105 } else if (type == ENTITY_TYPE_MAIL) { 101 } else if (type == ENTITY_TYPE_MAIL) {
106 auto mail = store().readFromKey<ApplicationDomain::Mail>(key); 102 auto mail = store().readEntity<ApplicationDomain::Mail>(key);
107 job = replay(mail, operation, oldRemoteId, modifiedProperties); 103 job = replay(mail, operation, oldRemoteId, modifiedProperties);
108 } 104 }
109 105
@@ -134,7 +130,6 @@ KAsync::Job<void> SourceWriteBack::replay(const QByteArray &type, const QByteArr
134 SinkWarning() << "Failed to replay change: " << error.errorMessage; 130 SinkWarning() << "Failed to replay change: " << error.errorMessage;
135 } 131 }
136 mSyncStore.clear(); 132 mSyncStore.clear();
137 mEntityStoreWrapper.clear();
138 mSyncTransaction.commit(); 133 mSyncTransaction.commit();
139 mEntityStore->abortTransaction(); 134 mEntityStore->abortTransaction();
140 }); 135 });