diff options
author | Christian Mollekopf <chrigi_1@fastmail.fm> | 2015-10-21 14:10:07 +0200 |
---|---|---|
committer | Christian Mollekopf <chrigi_1@fastmail.fm> | 2015-10-21 14:10:07 +0200 |
commit | 264fb692ccd122e53c7592a26447ed8281179c8b (patch) | |
tree | ea27c846fe1b478505937d1f8f407e1808e8aaaf /common/clientapi.h | |
parent | af0f69d6c267d231d01b69525b91add8309e43e0 (diff) | |
download | sink-264fb692ccd122e53c7592a26447ed8281179c8b.tar.gz sink-264fb692ccd122e53c7592a26447ed8281179c8b.zip |
Avoid hardcoding a made-up resource type for config that doesn't belong
to a resource
Diffstat (limited to 'common/clientapi.h')
-rw-r--r-- | common/clientapi.h | 13 |
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) { |