diff options
author | Christian Mollekopf <chrigi_1@fastmail.fm> | 2015-04-27 10:56:50 +0200 |
---|---|---|
committer | Christian Mollekopf <chrigi_1@fastmail.fm> | 2015-04-27 10:56:50 +0200 |
commit | ed73e44d5ee7aaaeaa5130a08243909f2d45dcce (patch) | |
tree | d557d752bbd6244f83122ae5bdf151da89a1affe /examples/dummyresource/facade.cpp | |
parent | 71fd88a5b5839b228c824e61028787be8e825dad (diff) | |
download | sink-ed73e44d5ee7aaaeaa5130a08243909f2d45dcce.tar.gz sink-ed73e44d5ee7aaaeaa5130a08243909f2d45dcce.zip |
Moved the non-generic code back to dummyresource.
The dummy resource could now implement incremental queries.
Diffstat (limited to 'examples/dummyresource/facade.cpp')
-rw-r--r-- | examples/dummyresource/facade.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/examples/dummyresource/facade.cpp b/examples/dummyresource/facade.cpp index 37f75ae..c1e7a64 100644 --- a/examples/dummyresource/facade.cpp +++ b/examples/dummyresource/facade.cpp | |||
@@ -127,7 +127,7 @@ void DummyResourceFacade::readValue(QSharedPointer<Akonadi2::Storage> storage, c | |||
127 | }); | 127 | }); |
128 | } | 128 | } |
129 | 129 | ||
130 | Async::Job<qint64> DummyResourceFacade::load(const Akonadi2::Query &query, const std::function<void(const Akonadi2::ApplicationDomain::Event::Ptr &)> &resultCallback) | 130 | Async::Job<qint64> DummyResourceFacade::load(const Akonadi2::Query &query, const QSharedPointer<Akonadi2::ResultProvider<Akonadi2::ApplicationDomain::Event::Ptr> > &resultProvider, qint64 oldRevision, qint64 newRevision) |
131 | { | 131 | { |
132 | return Async::start<qint64>([=](Async::Future<qint64> &future) { | 132 | return Async::start<qint64>([=](Async::Future<qint64> &future) { |
133 | //Now that the sync is complete we can execute the query | 133 | //Now that the sync is complete we can execute the query |
@@ -153,6 +153,11 @@ Async::Job<qint64> DummyResourceFacade::load(const Akonadi2::Query &query, const | |||
153 | }); | 153 | }); |
154 | } | 154 | } |
155 | 155 | ||
156 | // TODO only emit changes and don't replace everything | ||
157 | resultProvider->clear(); | ||
158 | // rerun query | ||
159 | auto resultCallback = std::bind(&Akonadi2::ResultProvider<Akonadi2::ApplicationDomain::Event::Ptr>::add, resultProvider, std::placeholders::_1); | ||
160 | |||
156 | if (keys.isEmpty()) { | 161 | if (keys.isEmpty()) { |
157 | Log() << "Executing a full scan"; | 162 | Log() << "Executing a full scan"; |
158 | readValue(storage, QByteArray(), resultCallback, preparedQuery); | 163 | readValue(storage, QByteArray(), resultCallback, preparedQuery); |