From 681da6818a171203acce0f525856f82112757606 Mon Sep 17 00:00:00 2001 From: Minijackson Date: Thu, 3 May 2018 16:16:14 +0200 Subject: todo: Fix type impl + register replay/factory/facade --- common/domain/typeimplementations.h | 2 +- common/synchronizer.cpp | 5 +++++ common/synchronizer.h | 1 + examples/caldavresource/caldavresource.cpp | 19 +++++++++++++++---- 4 files changed, 22 insertions(+), 5 deletions(-) diff --git a/common/domain/typeimplementations.h b/common/domain/typeimplementations.h index dea7426..5c6ba14 100644 --- a/common/domain/typeimplementations.h +++ b/common/domain/typeimplementations.h @@ -101,7 +101,7 @@ template<> class SINK_EXPORT TypeImplementation { public: typedef Sink::ApplicationDomain::Buffer::Todo Buffer; - typedef Sink::ApplicationDomain::Buffer::EventBuilder BufferBuilder; + typedef Sink::ApplicationDomain::Buffer::TodoBuilder BufferBuilder; static void configure(TypeIndex &); static void configure(PropertyMapper &); static void configure(IndexPropertyMapper &indexPropertyMapper); diff --git a/common/synchronizer.cpp b/common/synchronizer.cpp index fa16002..85b0d30 100644 --- a/common/synchronizer.cpp +++ b/common/synchronizer.cpp @@ -697,6 +697,11 @@ KAsync::Job Synchronizer::replay(const ApplicationDomain::Event &, S return KAsync::null(); } +KAsync::Job Synchronizer::replay(const ApplicationDomain::Todo &, Sink::Operation, const QByteArray &, const QList &) +{ + return KAsync::null(); +} + KAsync::Job Synchronizer::replay(const ApplicationDomain::Calendar &, Sink::Operation, const QByteArray &, const QList &) { return KAsync::null(); diff --git a/common/synchronizer.h b/common/synchronizer.h index 2a3c3d8..fffd705 100644 --- a/common/synchronizer.h +++ b/common/synchronizer.h @@ -80,6 +80,7 @@ protected: virtual KAsync::Job replay(const Sink::ApplicationDomain::Mail &, Sink::Operation, const QByteArray &oldRemoteId, const QList &); virtual KAsync::Job replay(const Sink::ApplicationDomain::Folder &, Sink::Operation, const QByteArray &oldRemoteId, const QList &); virtual KAsync::Job replay(const Sink::ApplicationDomain::Event &, Sink::Operation, const QByteArray &oldRemoteId, const QList &); + virtual KAsync::Job replay(const Sink::ApplicationDomain::Todo &, Sink::Operation, const QByteArray &oldRemoteId, const QList &); virtual KAsync::Job replay(const Sink::ApplicationDomain::Calendar &, Sink::Operation, const QByteArray &oldRemoteId, const QList &); protected: QString secret() const; diff --git a/examples/caldavresource/caldavresource.cpp b/examples/caldavresource/caldavresource.cpp index d9f8c69..cdd224f 100644 --- a/examples/caldavresource/caldavresource.cpp +++ b/examples/caldavresource/caldavresource.cpp @@ -25,12 +25,14 @@ #include "applicationdomaintype.h" #include "domainadaptor.h" #include "eventpreprocessor.h" +#include "todopreprocessor.h" #include "facade.h" #include "facadefactory.h" #include #define ENTITY_TYPE_EVENT "event" +#define ENTITY_TYPE_TODO "todo" #define ENTITY_TYPE_CALENDAR "calendar" using Sink::ApplicationDomain::getTypeName; @@ -38,12 +40,14 @@ using Sink::ApplicationDomain::getTypeName; class EventSynchronizer : public WebDavSynchronizer { using Event = Sink::ApplicationDomain::Event; + using Todo = Sink::ApplicationDomain::Todo; using Calendar = Sink::ApplicationDomain::Calendar; public: explicit EventSynchronizer(const Sink::ResourceContext &context) : WebDavSynchronizer(context, KDAV2::CalDav, getTypeName(), getTypeName()) - {} + { + } protected: void updateLocalCollections(KDAV2::DavCollection::List calendarList) Q_DECL_OVERRIDE @@ -183,16 +187,20 @@ CalDavResource::CalDavResource(const Sink::ResourceContext &context) auto synchronizer = QSharedPointer::create(context); setupSynchronizer(synchronizer); - setupPreprocessors(ENTITY_TYPE_EVENT, QVector() << new EventPropertyExtractor); + setupPreprocessors(ENTITY_TYPE_EVENT, QVector() << new EventPropertyExtractor); + setupPreprocessors(ENTITY_TYPE_TODO, QVector() << new TodoPropertyExtractor); } CalDavResourceFactory::CalDavResourceFactory(QObject *parent) : Sink::ResourceFactory(parent, { - Sink::ApplicationDomain::ResourceCapabilities::Event::event, Sink::ApplicationDomain::ResourceCapabilities::Event::calendar, + Sink::ApplicationDomain::ResourceCapabilities::Event::event, Sink::ApplicationDomain::ResourceCapabilities::Event::storage, + Sink::ApplicationDomain::ResourceCapabilities::Todo::todo, + Sink::ApplicationDomain::ResourceCapabilities::Todo::storage, }) -{} +{ +} Sink::Resource *CalDavResourceFactory::createResource(const Sink::ResourceContext &context) { @@ -201,10 +209,12 @@ Sink::Resource *CalDavResourceFactory::createResource(const Sink::ResourceContex using Sink::ApplicationDomain::Calendar; using Sink::ApplicationDomain::Event; +using Sink::ApplicationDomain::Todo; void CalDavResourceFactory::registerFacades(const QByteArray &resourceName, Sink::FacadeFactory &factory) { factory.registerFacade>(resourceName); + factory.registerFacade>(resourceName); factory.registerFacade>(resourceName); } @@ -213,6 +223,7 @@ void CalDavResourceFactory::registerAdaptorFactories( const QByteArray &resourceName, Sink::AdaptorFactoryRegistry ®istry) { registry.registerFactory>(resourceName); + registry.registerFactory>(resourceName); registry.registerFactory>(resourceName); } -- cgit v1.2.3