diff options
Diffstat (limited to 'examples')
-rw-r--r-- | examples/dummyresource/facade.cpp | 7 | ||||
-rw-r--r-- | examples/dummyresource/facade.h | 2 |
2 files changed, 7 insertions, 2 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); |
diff --git a/examples/dummyresource/facade.h b/examples/dummyresource/facade.h index 2fd2fa9..d0af487 100644 --- a/examples/dummyresource/facade.h +++ b/examples/dummyresource/facade.h | |||
@@ -34,7 +34,7 @@ class DummyResourceFacade : public Akonadi2::GenericFacade<Akonadi2::Application | |||
34 | public: | 34 | public: |
35 | DummyResourceFacade(); | 35 | DummyResourceFacade(); |
36 | virtual ~DummyResourceFacade(); | 36 | virtual ~DummyResourceFacade(); |
37 | Async::Job<qint64> load(const Akonadi2::Query &query, const std::function<void(const Akonadi2::ApplicationDomain::Event::Ptr &)> &resultCallback) Q_DECL_OVERRIDE; | 37 | Async::Job<qint64> load(const Akonadi2::Query &query, const QSharedPointer<Akonadi2::ResultProvider<Akonadi2::ApplicationDomain::Event::Ptr> > &resultProvider, qint64 oldRevision, qint64 newRevision) Q_DECL_OVERRIDE; |
38 | 38 | ||
39 | private: | 39 | private: |
40 | void readValue(QSharedPointer<Akonadi2::Storage> storage, const QByteArray &key, const std::function<void(const Akonadi2::ApplicationDomain::Event::Ptr &)> &resultCallback, std::function<bool(const std::string &key, DummyCalendar::DummyEvent const *buffer, Akonadi2::ApplicationDomain::Buffer::Event const *local)>); | 40 | void readValue(QSharedPointer<Akonadi2::Storage> storage, const QByteArray &key, const std::function<void(const Akonadi2::ApplicationDomain::Event::Ptr &)> &resultCallback, std::function<bool(const std::string &key, DummyCalendar::DummyEvent const *buffer, Akonadi2::ApplicationDomain::Buffer::Event const *local)>); |