summaryrefslogtreecommitdiffstats
path: root/common/clientapi.h
diff options
context:
space:
mode:
Diffstat (limited to 'common/clientapi.h')
-rw-r--r--common/clientapi.h13
1 files changed, 9 insertions, 4 deletions
diff --git a/common/clientapi.h b/common/clientapi.h
index 6237cfb..c4125bd 100644
--- a/common/clientapi.h
+++ b/common/clientapi.h
@@ -62,14 +62,19 @@ public:
62 return Akonadi2::resourceName(instanceIdentifier); 62 return Akonadi2::resourceName(instanceIdentifier);
63 } 63 }
64 64
65 static QList<QByteArray> getResources(const QList<QByteArray> &resourceFilter) 65 static QList<QByteArray> getResources(const QList<QByteArray> &resourceFilter, const QByteArray &type)
66 { 66 {
67 //Return the global resource (signified by an empty name) for types that don't eblong to a specific resource
68 if (type == "akonadiresource") {
69 return QList<QByteArray>() << "";
70 }
67 QList<QByteArray> resources; 71 QList<QByteArray> resources;
68 const auto configuredResources = ResourceConfig::getResources(); 72 const auto configuredResources = ResourceConfig::getResources();
69 if (resourceFilter.isEmpty()) { 73 if (resourceFilter.isEmpty()) {
70 for (const auto &res : configuredResources) { 74 for (const auto &res : configuredResources) {
71 //TODO filter by type 75 if (configuredResources.value(res) == type) {
72 resources << res; 76 resources << res;
77 }
73 } 78 }
74 } else { 79 } else {
75 for (const auto &res : resourceFilter) { 80 for (const auto &res : resourceFilter) {
@@ -100,7 +105,7 @@ public:
100 eventLoop.quit(); 105 eventLoop.quit();
101 }); 106 });
102 // Query all resources and aggregate results 107 // Query all resources and aggregate results
103 KAsync::iterate(getResources(query.resources)) 108 KAsync::iterate(getResources(query.resources, ApplicationDomain::getTypeName<DomainType>()))
104 .template each<void, QByteArray>([query, resultSet](const QByteArray &resource, KAsync::Future<void> &future) { 109 .template each<void, QByteArray>([query, resultSet](const QByteArray &resource, KAsync::Future<void> &future) {
105 auto facade = FacadeFactory::instance().getFacade<DomainType>(resourceName(resource), resource); 110 auto facade = FacadeFactory::instance().getFacade<DomainType>(resourceName(resource), resource);
106 if (facade) { 111 if (facade) {