refs #581 Refactoring: extract method applyDeferredChanges.

This commit is contained in:
Mathew Sutcliffe
2016-02-03 21:26:52 +00:00
parent e1b40f54cb
commit c1d3e2aabb
2 changed files with 9 additions and 8 deletions

View File

@@ -141,12 +141,7 @@ namespace BlackMisc
m_cache->saveToFiles(persistentStore(), values); m_cache->saveToFiles(persistentStore(), values);
if (! m_deferredChanges.isEmpty()) // apply changes which we grabbed at the last minute above applyDeferredChanges(); // apply changes which we grabbed at the last minute above
{
m_deferredChanges.setSaved();
emit valuesLoadedFromStore(m_deferredChanges, CIdentifier::anonymous());
m_deferredChanges.clear();
}
} }
CDataCacheRevision::LockGuard CDataCacheSerializer::loadFromStore(const BlackMisc::CValueCachePacket &baseline, bool defer) CDataCacheRevision::LockGuard CDataCacheSerializer::loadFromStore(const BlackMisc::CValueCachePacket &baseline, bool defer)
@@ -159,13 +154,18 @@ namespace BlackMisc
m_deferredChanges.insert(newValues); m_deferredChanges.insert(newValues);
} }
if (! (m_deferredChanges.isEmpty() || defer)) if (! defer) { applyDeferredChanges(); }
return lock;
}
void CDataCacheSerializer::applyDeferredChanges()
{
if (! m_deferredChanges.isEmpty())
{ {
m_deferredChanges.setSaved(); m_deferredChanges.setSaved();
emit valuesLoadedFromStore(m_deferredChanges, CIdentifier::anonymous()); emit valuesLoadedFromStore(m_deferredChanges, CIdentifier::anonymous());
m_deferredChanges.clear(); m_deferredChanges.clear();
} }
return lock;
} }
CDataCacheRevision::LockGuard CDataCacheRevision::beginUpdate(const QMap<QString, qint64> &timestamps) CDataCacheRevision::LockGuard CDataCacheRevision::beginUpdate(const QMap<QString, qint64> &timestamps)

View File

@@ -107,6 +107,7 @@ namespace BlackMisc
private: private:
const QString &persistentStore() const; const QString &persistentStore() const;
void applyDeferredChanges();
CDataCache *const m_cache = nullptr; CDataCache *const m_cache = nullptr;
QUuid m_revision; QUuid m_revision;