summaryrefslogtreecommitdiffstats
path: root/dummyresource/facade.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'dummyresource/facade.cpp')
-rw-r--r--dummyresource/facade.cpp23
1 files changed, 15 insertions, 8 deletions
diff --git a/dummyresource/facade.cpp b/dummyresource/facade.cpp
index 13c174b..b7ba2c2 100644
--- a/dummyresource/facade.cpp
+++ b/dummyresource/facade.cpp
@@ -118,22 +118,29 @@ static std::function<bool(const std::string &key, DummyEvent const *buffer)> pre
118 return preparedQuery; 118 return preparedQuery;
119} 119}
120 120
121void DummyResourceFacade::synchronizeResource(const std::function<void()> &continuation) 121Async::Job<void> DummyResourceFacade::synchronizeResource(bool sync)
122{ 122{
123 //TODO check if a sync is necessary 123 //TODO check if a sync is necessary
124 //TODO Only sync what was requested 124 //TODO Only sync what was requested
125 //TODO timeout 125 //TODO timeout
126 mResourceAccess->synchronizeResource().then<void>([continuation](Async::Future<void> &f){ 126
127 continuation(); 127 if (sync) {
128 f.setFinished(); 128 return Async::start<void>([=](Async::Future<void> &future) {
129 }).exec(); 129 mResourceAccess->open();
130 mResourceAccess->synchronizeResource().then<void>([&future](Async::Future<void> &f) {
131 future.setFinished();
132 f.setFinished();
133 }).exec();
134 });
135 }
136 return Async::null<void>();
130} 137}
131 138
132void DummyResourceFacade::load(const Akonadi2::Query &query, const std::function<void(const Akonadi2::Domain::Event::Ptr &)> &resultCallback, const std::function<void()> &completeCallback) 139Async::Job<void> DummyResourceFacade::load(const Akonadi2::Query &query, const std::function<void(const Akonadi2::Domain::Event::Ptr &)> &resultCallback)
133{ 140{
134 qDebug() << "load called"; 141 qDebug() << "load called";
135 142
136 synchronizeResource([=]() { 143 return synchronizeResource(query.syncOnDemand).then<void>([=](Async::Future<void> &future) {
137 qDebug() << "sync complete"; 144 qDebug() << "sync complete";
138 //Now that the sync is complete we can execute the query 145 //Now that the sync is complete we can execute the query
139 const auto preparedQuery = prepareQuery(query); 146 const auto preparedQuery = prepareQuery(query);
@@ -188,7 +195,7 @@ void DummyResourceFacade::load(const Akonadi2::Query &query, const std::function
188 } 195 }
189 return true; 196 return true;
190 }); 197 });
191 completeCallback(); 198 future.setFinished();
192 }); 199 });
193} 200}
194 201