summaryrefslogtreecommitdiffstats
path: root/common/resourcefacade.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'common/resourcefacade.cpp')
-rw-r--r--common/resourcefacade.cpp13
1 files changed, 10 insertions, 3 deletions
diff --git a/common/resourcefacade.cpp b/common/resourcefacade.cpp
index 54185f8..6510c90 100644
--- a/common/resourcefacade.cpp
+++ b/common/resourcefacade.cpp
@@ -54,9 +54,15 @@ KAsync::Job<void> ResourceFacade::remove(const Akonadi2::ApplicationDomain::Akon
54 }); 54 });
55} 55}
56 56
57KAsync::Job<void> ResourceFacade::load(const Akonadi2::Query &query, const QSharedPointer<Akonadi2::ResultProvider<typename Akonadi2::ApplicationDomain::AkonadiResource::Ptr> > &resultProvider) 57QPair<KAsync::Job<void>, typename Akonadi2::ResultEmitter<Akonadi2::ApplicationDomain::AkonadiResource::Ptr>::Ptr > ResourceFacade::load(const Akonadi2::Query &query)
58{ 58{
59 return KAsync::start<void>([query, resultProvider]() { 59 auto resultProvider = new Akonadi2::ResultProvider<typename Akonadi2::ApplicationDomain::AkonadiResource::Ptr>();
60 auto emitter = resultProvider->emitter();
61 resultProvider->setFetcher([](const QSharedPointer<Akonadi2::ApplicationDomain::AkonadiResource> &) {});
62 resultProvider->onDone([resultProvider]() {
63 delete resultProvider;
64 });
65 auto job = KAsync::start<void>([query, resultProvider]() {
60 const auto configuredResources = ResourceConfig::getResources(); 66 const auto configuredResources = ResourceConfig::getResources();
61 for (const auto &res : configuredResources.keys()) { 67 for (const auto &res : configuredResources.keys()) {
62 const auto type = configuredResources.value(res); 68 const auto type = configuredResources.value(res);
@@ -68,8 +74,9 @@ KAsync::Job<void> ResourceFacade::load(const Akonadi2::Query &query, const QShar
68 } 74 }
69 } 75 }
70 //TODO initialResultSetComplete should be implicit 76 //TODO initialResultSetComplete should be implicit
71 resultProvider->initialResultSetComplete(); 77 resultProvider->initialResultSetComplete(Akonadi2::ApplicationDomain::AkonadiResource::Ptr());
72 resultProvider->complete(); 78 resultProvider->complete();
73 }); 79 });
80 return qMakePair(job, emitter);
74} 81}
75 82