From 938554f267193b652478fc12343819fa45d76034 Mon Sep 17 00:00:00 2001 From: Christian Mollekopf Date: Mon, 28 Nov 2016 19:33:01 +0100 Subject: Moved inspection commands to a separate inspector. --- .../mailtransportresource.cpp | 48 ++++++++++++---------- 1 file changed, 27 insertions(+), 21 deletions(-) (limited to 'examples/mailtransportresource/mailtransportresource.cpp') diff --git a/examples/mailtransportresource/mailtransportresource.cpp b/examples/mailtransportresource/mailtransportresource.cpp index c135de9..524b411 100644 --- a/examples/mailtransportresource/mailtransportresource.cpp +++ b/examples/mailtransportresource/mailtransportresource.cpp @@ -22,7 +22,7 @@ #include "facadefactory.h" #include "resourceconfig.h" #include "definitions.h" -#include "domainadaptor.h" +#include "inspector.h" #include #include #include @@ -124,6 +124,31 @@ public: MailtransportResource::Settings mSettings; }; +class MailtransportInspector : public Sink::Inspector { +public: + MailtransportInspector(const Sink::ResourceContext &resourceContext) + : Sink::Inspector(resourceContext) + { + + } + +protected: + KAsync::Job inspect(int inspectionType, const QByteArray &inspectionId, const QByteArray &domainType, const QByteArray &entityId, const QByteArray &property, const QVariant &expectedValue) Q_DECL_OVERRIDE + { + if (domainType == ENTITY_TYPE_MAIL) { + if (inspectionType == Sink::ResourceControl::Inspection::ExistenceInspectionType) { + auto path = resourceStorageLocation(mResourceContext.instanceId()) + "/test/" + entityId; + if (QFileInfo::exists(path)) { + return KAsync::null(); + } + return KAsync::error(1, "Couldn't find message: " + path); + } + } + return KAsync::null(); + } +}; + + MailtransportResource::MailtransportResource(const Sink::ResourceContext &resourceContext) : Sink::GenericResource(resourceContext) { @@ -138,30 +163,11 @@ MailtransportResource::MailtransportResource(const Sink::ResourceContext &resour auto synchronizer = QSharedPointer::create(resourceContext); synchronizer->mSettings = mSettings; setupSynchronizer(synchronizer); + setupInspector(QSharedPointer::create(resourceContext)); setupPreprocessors(ENTITY_TYPE_MAIL, QVector() << new MimeMessageMover << new MailPropertyExtractor); } -void MailtransportResource::removeFromDisk(const QByteArray &instanceIdentifier) -{ - GenericResource::removeFromDisk(instanceIdentifier); - Sink::Storage::DataStore(Sink::storageLocation(), instanceIdentifier + ".synchronization", Sink::Storage::DataStore::ReadWrite).removeFromDisk(); -} - -KAsync::Job MailtransportResource::inspect(int inspectionType, const QByteArray &inspectionId, const QByteArray &domainType, const QByteArray &entityId, const QByteArray &property, const QVariant &expectedValue) -{ - if (domainType == ENTITY_TYPE_MAIL) { - if (inspectionType == Sink::ResourceControl::Inspection::ExistenceInspectionType) { - auto path = resourceStorageLocation(mResourceContext.instanceId()) + "/test/" + entityId; - if (QFileInfo::exists(path)) { - return KAsync::null(); - } - return KAsync::error(1, "Couldn't find message: " + path); - } - } - return KAsync::null(); -} - MailtransportResourceFactory::MailtransportResourceFactory(QObject *parent) : Sink::ResourceFactory(parent) { -- cgit v1.2.3