summaryrefslogtreecommitdiffstats
path: root/examples
diff options
context:
space:
mode:
authorChristian Mollekopf <chrigi_1@fastmail.fm>2017-03-01 01:03:18 +0100
committerChristian Mollekopf <chrigi_1@fastmail.fm>2017-03-01 01:05:01 +0100
commitc08c329580a6f5e5da1ebba931461e7e7e47ba72 (patch)
treea60e2c3c5d189d554bd69de600d96d024b49e864 /examples
parent4be4995e7b430226b763f06a051fd0e5cbf398ab (diff)
downloadsink-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.cpp8
-rw-r--r--examples/imapresource/imapresource.cpp4
-rw-r--r--examples/maildirresource/maildirresource.cpp4
-rw-r--r--examples/mailtransportresource/mailtransportresource.cpp6
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
178DummyResourceFactory::DummyResourceFactory(QObject *parent) 178DummyResourceFactory::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
880ImapResourceFactory::ImapResourceFactory(QObject *parent) 880ImapResourceFactory::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
573MaildirResourceFactory::MaildirResourceFactory(QObject *parent) 573MaildirResourceFactory::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
195MailtransportResourceFactory::MailtransportResourceFactory(QObject *parent) 198MailtransportResourceFactory::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}