diff options
author | Christian Mollekopf <chrigi_1@fastmail.fm> | 2017-03-01 01:03:18 +0100 |
---|---|---|
committer | Christian Mollekopf <chrigi_1@fastmail.fm> | 2017-03-01 01:05:01 +0100 |
commit | c08c329580a6f5e5da1ebba931461e7e7e47ba72 (patch) | |
tree | a60e2c3c5d189d554bd69de600d96d024b49e864 /examples | |
parent | 4be4995e7b430226b763f06a051fd0e5cbf398ab (diff) | |
download | sink-c08c329580a6f5e5da1ebba931461e7e7e47ba72.tar.gz sink-c08c329580a6f5e5da1ebba931461e7e7e47ba72.zip |
Filter resources by the types they support.
This avoid uselessly querying resources only to discover that they don't
have a facade for the type.
Diffstat (limited to 'examples')
-rw-r--r-- | examples/dummyresource/resourcefactory.cpp | 8 | ||||
-rw-r--r-- | examples/imapresource/imapresource.cpp | 4 | ||||
-rw-r--r-- | examples/maildirresource/maildirresource.cpp | 4 | ||||
-rw-r--r-- | examples/mailtransportresource/mailtransportresource.cpp | 6 |
4 files changed, 18 insertions, 4 deletions
diff --git a/examples/dummyresource/resourcefactory.cpp b/examples/dummyresource/resourcefactory.cpp index 0663bdb..a7d30c5 100644 --- a/examples/dummyresource/resourcefactory.cpp +++ b/examples/dummyresource/resourcefactory.cpp | |||
@@ -176,7 +176,13 @@ DummyResource::~DummyResource() | |||
176 | } | 176 | } |
177 | 177 | ||
178 | DummyResourceFactory::DummyResourceFactory(QObject *parent) | 178 | DummyResourceFactory::DummyResourceFactory(QObject *parent) |
179 | : Sink::ResourceFactory(parent, QByteArrayList() << Sink::ApplicationDomain::ResourceCapabilities::Mail::storage << "-folder.rename" << Sink::ApplicationDomain::ResourceCapabilities::Mail::sent) | 179 | : Sink::ResourceFactory(parent, {Sink::ApplicationDomain::ResourceCapabilities::Mail::mail, |
180 | "event", | ||
181 | Sink::ApplicationDomain::ResourceCapabilities::Mail::folder, | ||
182 | Sink::ApplicationDomain::ResourceCapabilities::Mail::storage, | ||
183 | "-folder.rename", | ||
184 | Sink::ApplicationDomain::ResourceCapabilities::Mail::sent} | ||
185 | ) | ||
180 | { | 186 | { |
181 | 187 | ||
182 | } | 188 | } |
diff --git a/examples/imapresource/imapresource.cpp b/examples/imapresource/imapresource.cpp index 5bf0c30..09f57d5 100644 --- a/examples/imapresource/imapresource.cpp +++ b/examples/imapresource/imapresource.cpp | |||
@@ -879,7 +879,9 @@ ImapResource::ImapResource(const ResourceContext &resourceContext) | |||
879 | 879 | ||
880 | ImapResourceFactory::ImapResourceFactory(QObject *parent) | 880 | ImapResourceFactory::ImapResourceFactory(QObject *parent) |
881 | : Sink::ResourceFactory(parent, | 881 | : Sink::ResourceFactory(parent, |
882 | {Sink::ApplicationDomain::ResourceCapabilities::Mail::storage, | 882 | {Sink::ApplicationDomain::ResourceCapabilities::Mail::mail, |
883 | Sink::ApplicationDomain::ResourceCapabilities::Mail::folder, | ||
884 | Sink::ApplicationDomain::ResourceCapabilities::Mail::storage, | ||
883 | Sink::ApplicationDomain::ResourceCapabilities::Mail::drafts, | 885 | Sink::ApplicationDomain::ResourceCapabilities::Mail::drafts, |
884 | Sink::ApplicationDomain::ResourceCapabilities::Mail::folderhierarchy, | 886 | Sink::ApplicationDomain::ResourceCapabilities::Mail::folderhierarchy, |
885 | Sink::ApplicationDomain::ResourceCapabilities::Mail::trash, | 887 | Sink::ApplicationDomain::ResourceCapabilities::Mail::trash, |
diff --git a/examples/maildirresource/maildirresource.cpp b/examples/maildirresource/maildirresource.cpp index 3d299b4..813d84f 100644 --- a/examples/maildirresource/maildirresource.cpp +++ b/examples/maildirresource/maildirresource.cpp | |||
@@ -572,7 +572,9 @@ MaildirResource::MaildirResource(const Sink::ResourceContext &resourceContext) | |||
572 | 572 | ||
573 | MaildirResourceFactory::MaildirResourceFactory(QObject *parent) | 573 | MaildirResourceFactory::MaildirResourceFactory(QObject *parent) |
574 | : Sink::ResourceFactory(parent, | 574 | : Sink::ResourceFactory(parent, |
575 | {Sink::ApplicationDomain::ResourceCapabilities::Mail::storage, | 575 | {Sink::ApplicationDomain::ResourceCapabilities::Mail::mail, |
576 | Sink::ApplicationDomain::ResourceCapabilities::Mail::folder, | ||
577 | Sink::ApplicationDomain::ResourceCapabilities::Mail::storage, | ||
576 | Sink::ApplicationDomain::ResourceCapabilities::Mail::drafts, | 578 | Sink::ApplicationDomain::ResourceCapabilities::Mail::drafts, |
577 | "-folder.rename", | 579 | "-folder.rename", |
578 | Sink::ApplicationDomain::ResourceCapabilities::Mail::trash, | 580 | Sink::ApplicationDomain::ResourceCapabilities::Mail::trash, |
diff --git a/examples/mailtransportresource/mailtransportresource.cpp b/examples/mailtransportresource/mailtransportresource.cpp index 0118140..88a90c6 100644 --- a/examples/mailtransportresource/mailtransportresource.cpp +++ b/examples/mailtransportresource/mailtransportresource.cpp | |||
@@ -91,6 +91,9 @@ public: | |||
91 | modifiedMail.setSent(true); | 91 | modifiedMail.setSent(true); |
92 | 92 | ||
93 | auto resource = Store::readOne<ApplicationDomain::SinkResource>(Query{}.filter(mResourceInstanceIdentifier).request<ApplicationDomain::SinkResource::Account>()); | 93 | auto resource = Store::readOne<ApplicationDomain::SinkResource>(Query{}.filter(mResourceInstanceIdentifier).request<ApplicationDomain::SinkResource::Account>()); |
94 | if (resource.identifier().isEmpty()) { | ||
95 | SinkWarning() << "Failed to retrieve target resource: " << mResourceInstanceIdentifier; | ||
96 | } | ||
94 | //Then copy the mail to the target resource | 97 | //Then copy the mail to the target resource |
95 | Query query; | 98 | Query query; |
96 | query.containsFilter<ApplicationDomain::SinkResource::Capabilities>(ApplicationDomain::ResourceCapabilities::Mail::sent); | 99 | query.containsFilter<ApplicationDomain::SinkResource::Capabilities>(ApplicationDomain::ResourceCapabilities::Mail::sent); |
@@ -193,7 +196,8 @@ MailtransportResource::MailtransportResource(const Sink::ResourceContext &resour | |||
193 | } | 196 | } |
194 | 197 | ||
195 | MailtransportResourceFactory::MailtransportResourceFactory(QObject *parent) | 198 | MailtransportResourceFactory::MailtransportResourceFactory(QObject *parent) |
196 | : Sink::ResourceFactory(parent, {Sink::ApplicationDomain::ResourceCapabilities::Mail::transport}) | 199 | : Sink::ResourceFactory(parent, {Sink::ApplicationDomain::ResourceCapabilities::Mail::mail, |
200 | Sink::ApplicationDomain::ResourceCapabilities::Mail::transport}) | ||
197 | { | 201 | { |
198 | 202 | ||
199 | } | 203 | } |