diff options
Diffstat (limited to 'common/entitystorage.h')
-rw-r--r-- | common/entitystorage.h | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/common/entitystorage.h b/common/entitystorage.h index f1d7f84..68b9e46 100644 --- a/common/entitystorage.h +++ b/common/entitystorage.h | |||
@@ -54,7 +54,7 @@ protected: | |||
54 | * TODO: Resources should be able to customize this for cases where an entity is not the same as a single buffer. | 54 | * TODO: Resources should be able to customize this for cases where an entity is not the same as a single buffer. |
55 | */ | 55 | */ |
56 | void readEntity(const Akonadi2::Storage::Transaction &transaction, const QByteArray &key, const std::function<void(const Akonadi2::ApplicationDomain::ApplicationDomainType::Ptr &, Akonadi2::Operation)> &resultCallback); | 56 | void readEntity(const Akonadi2::Storage::Transaction &transaction, const QByteArray &key, const std::function<void(const Akonadi2::ApplicationDomain::ApplicationDomainType::Ptr &, Akonadi2::Operation)> &resultCallback); |
57 | ResultSet getResultSet(const Akonadi2::Query &query, Akonadi2::Storage::Transaction &transaction, qint64 baseRevision, qint64 topRevision); | 57 | ResultSet getResultSet(const Akonadi2::Query &query, Akonadi2::Storage::Transaction &transaction, qint64 baseRevision); |
58 | 58 | ||
59 | protected: | 59 | protected: |
60 | QByteArray mResourceInstanceIdentifier; | 60 | QByteArray mResourceInstanceIdentifier; |
@@ -99,7 +99,7 @@ protected: | |||
99 | 99 | ||
100 | public: | 100 | public: |
101 | 101 | ||
102 | virtual void read(const Akonadi2::Query &query, const QPair<qint64, qint64> &revisionRange, const QSharedPointer<Akonadi2::ResultProvider<typename DomainType::Ptr> > &resultProvider) | 102 | virtual qint64 read(const Akonadi2::Query &query, qint64 baseRevision, const QSharedPointer<Akonadi2::ResultProvider<typename DomainType::Ptr> > &resultProvider) |
103 | { | 103 | { |
104 | Akonadi2::Storage storage(Akonadi2::storageLocation(), mResourceInstanceIdentifier); | 104 | Akonadi2::Storage storage(Akonadi2::storageLocation(), mResourceInstanceIdentifier); |
105 | storage.setDefaultErrorHandler([](const Akonadi2::Storage::Error &error) { | 105 | storage.setDefaultErrorHandler([](const Akonadi2::Storage::Error &error) { |
@@ -108,10 +108,10 @@ public: | |||
108 | 108 | ||
109 | auto transaction = storage.createTransaction(Akonadi2::Storage::ReadOnly); | 109 | auto transaction = storage.createTransaction(Akonadi2::Storage::ReadOnly); |
110 | 110 | ||
111 | Log() << "Querying" << revisionRange.first << revisionRange.second; | 111 | Log() << "Querying" << baseRevision; |
112 | //TODO fallback in case the old revision is no longer available to clear + redo complete initial scan | 112 | //TODO fallback in case the old revision is no longer available to clear + redo complete initial scan |
113 | // | 113 | // |
114 | auto resultSet = getResultSet(query, transaction, revisionRange.first, revisionRange.second); | 114 | auto resultSet = getResultSet(query, transaction, baseRevision); |
115 | while(resultSet.next([this, resultProvider](const Akonadi2::ApplicationDomain::ApplicationDomainType::Ptr &value, Akonadi2::Operation operation) -> bool { | 115 | while(resultSet.next([this, resultProvider](const Akonadi2::ApplicationDomain::ApplicationDomainType::Ptr &value, Akonadi2::Operation operation) -> bool { |
116 | switch (operation) { | 116 | switch (operation) { |
117 | case Akonadi2::Operation_Creation: | 117 | case Akonadi2::Operation_Creation: |
@@ -128,6 +128,7 @@ public: | |||
128 | } | 128 | } |
129 | return true; | 129 | return true; |
130 | })){}; | 130 | })){}; |
131 | return Akonadi2::Storage::maxRevision(transaction); | ||
131 | } | 132 | } |
132 | 133 | ||
133 | }; | 134 | }; |