summaryrefslogtreecommitdiffstats
path: root/common/storage/entitystore.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'common/storage/entitystore.cpp')
-rw-r--r--common/storage/entitystore.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/common/storage/entitystore.cpp b/common/storage/entitystore.cpp
index 9615eca..fe63f0b 100644
--- a/common/storage/entitystore.cpp
+++ b/common/storage/entitystore.cpp
@@ -184,6 +184,15 @@ void EntityStore::readLatest(const QByteArray &type, const QByteArray &uid, cons
184 }); 184 });
185} 185}
186 186
187void EntityStore::readLatest(const QByteArray &type, const QByteArray &uid, const std::function<void(const ApplicationDomain::ApplicationDomainType &, Sink::Operation)> callback)
188{
189 readLatest(type, uid, [&](const QByteArray &uid, const EntityBuffer &buffer) {
190 auto adaptor = d->resourceContext.adaptorFactory(type).createAdaptor(buffer.entity());
191 //TODO cache max revision for the duration of the transaction.
192 callback(ApplicationDomain::ApplicationDomainType{d->resourceContext.instanceId(), uid, DataStore::maxRevision(d->getTransaction()), adaptor}, buffer.operation());
193 });
194}
195
187ApplicationDomain::ApplicationDomainType EntityStore::readLatest(const QByteArray &type, const QByteArray &uid) 196ApplicationDomain::ApplicationDomainType EntityStore::readLatest(const QByteArray &type, const QByteArray &uid)
188{ 197{
189 ApplicationDomain::ApplicationDomainType dt; 198 ApplicationDomain::ApplicationDomainType dt;