summaryrefslogtreecommitdiffstats
path: root/examples
diff options
context:
space:
mode:
Diffstat (limited to 'examples')
-rw-r--r--examples/dummyresource/facade.cpp7
-rw-r--r--examples/dummyresource/facade.h2
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
130Async::Job<qint64> DummyResourceFacade::load(const Akonadi2::Query &query, const std::function<void(const Akonadi2::ApplicationDomain::Event::Ptr &)> &resultCallback) 130Async::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
34public: 34public:
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
39private: 39private:
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)>);