summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMinijackson <minijackson@riseup.net>2018-05-03 16:16:14 +0200
committerMinijackson <minijackson@riseup.net>2018-05-03 16:16:14 +0200
commit681da6818a171203acce0f525856f82112757606 (patch)
tree05c5d70f6d9685df456e843e0987d0b9fa69e676
parent29695a1949c4f846f0d4ed21a400f3b864518ed1 (diff)
downloadsink-681da6818a171203acce0f525856f82112757606.tar.gz
sink-681da6818a171203acce0f525856f82112757606.zip
todo: Fix type impl + register replay/factory/facade
-rw-r--r--common/domain/typeimplementations.h2
-rw-r--r--common/synchronizer.cpp5
-rw-r--r--common/synchronizer.h1
-rw-r--r--examples/caldavresource/caldavresource.cpp19
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<>
101class SINK_EXPORT TypeImplementation<Sink::ApplicationDomain::Todo> { 101class SINK_EXPORT TypeImplementation<Sink::ApplicationDomain::Todo> {
102public: 102public:
103 typedef Sink::ApplicationDomain::Buffer::Todo Buffer; 103 typedef Sink::ApplicationDomain::Buffer::Todo Buffer;
104 typedef Sink::ApplicationDomain::Buffer::EventBuilder BufferBuilder; 104 typedef Sink::ApplicationDomain::Buffer::TodoBuilder BufferBuilder;
105 static void configure(TypeIndex &); 105 static void configure(TypeIndex &);
106 static void configure(PropertyMapper &); 106 static void configure(PropertyMapper &);
107 static void configure(IndexPropertyMapper &indexPropertyMapper); 107 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<QByteArray> Synchronizer::replay(const ApplicationDomain::Event &, S
697 return KAsync::null<QByteArray>(); 697 return KAsync::null<QByteArray>();
698} 698}
699 699
700KAsync::Job<QByteArray> Synchronizer::replay(const ApplicationDomain::Todo &, Sink::Operation, const QByteArray &, const QList<QByteArray> &)
701{
702 return KAsync::null<QByteArray>();
703}
704
700KAsync::Job<QByteArray> Synchronizer::replay(const ApplicationDomain::Calendar &, Sink::Operation, const QByteArray &, const QList<QByteArray> &) 705KAsync::Job<QByteArray> Synchronizer::replay(const ApplicationDomain::Calendar &, Sink::Operation, const QByteArray &, const QList<QByteArray> &)
701{ 706{
702 return KAsync::null<QByteArray>(); 707 return KAsync::null<QByteArray>();
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:
80 virtual KAsync::Job<QByteArray> replay(const Sink::ApplicationDomain::Mail &, Sink::Operation, const QByteArray &oldRemoteId, const QList<QByteArray> &); 80 virtual KAsync::Job<QByteArray> replay(const Sink::ApplicationDomain::Mail &, Sink::Operation, const QByteArray &oldRemoteId, const QList<QByteArray> &);
81 virtual KAsync::Job<QByteArray> replay(const Sink::ApplicationDomain::Folder &, Sink::Operation, const QByteArray &oldRemoteId, const QList<QByteArray> &); 81 virtual KAsync::Job<QByteArray> replay(const Sink::ApplicationDomain::Folder &, Sink::Operation, const QByteArray &oldRemoteId, const QList<QByteArray> &);
82 virtual KAsync::Job<QByteArray> replay(const Sink::ApplicationDomain::Event &, Sink::Operation, const QByteArray &oldRemoteId, const QList<QByteArray> &); 82 virtual KAsync::Job<QByteArray> replay(const Sink::ApplicationDomain::Event &, Sink::Operation, const QByteArray &oldRemoteId, const QList<QByteArray> &);
83 virtual KAsync::Job<QByteArray> replay(const Sink::ApplicationDomain::Todo &, Sink::Operation, const QByteArray &oldRemoteId, const QList<QByteArray> &);
83 virtual KAsync::Job<QByteArray> replay(const Sink::ApplicationDomain::Calendar &, Sink::Operation, const QByteArray &oldRemoteId, const QList<QByteArray> &); 84 virtual KAsync::Job<QByteArray> replay(const Sink::ApplicationDomain::Calendar &, Sink::Operation, const QByteArray &oldRemoteId, const QList<QByteArray> &);
84protected: 85protected:
85 QString secret() const; 86 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 @@
25#include "applicationdomaintype.h" 25#include "applicationdomaintype.h"
26#include "domainadaptor.h" 26#include "domainadaptor.h"
27#include "eventpreprocessor.h" 27#include "eventpreprocessor.h"
28#include "todopreprocessor.h"
28#include "facade.h" 29#include "facade.h"
29#include "facadefactory.h" 30#include "facadefactory.h"
30 31
31#include <KCalCore/ICalFormat> 32#include <KCalCore/ICalFormat>
32 33
33#define ENTITY_TYPE_EVENT "event" 34#define ENTITY_TYPE_EVENT "event"
35#define ENTITY_TYPE_TODO "todo"
34#define ENTITY_TYPE_CALENDAR "calendar" 36#define ENTITY_TYPE_CALENDAR "calendar"
35 37
36using Sink::ApplicationDomain::getTypeName; 38using Sink::ApplicationDomain::getTypeName;
@@ -38,12 +40,14 @@ using Sink::ApplicationDomain::getTypeName;
38class EventSynchronizer : public WebDavSynchronizer 40class EventSynchronizer : public WebDavSynchronizer
39{ 41{
40 using Event = Sink::ApplicationDomain::Event; 42 using Event = Sink::ApplicationDomain::Event;
43 using Todo = Sink::ApplicationDomain::Todo;
41 using Calendar = Sink::ApplicationDomain::Calendar; 44 using Calendar = Sink::ApplicationDomain::Calendar;
42 45
43public: 46public:
44 explicit EventSynchronizer(const Sink::ResourceContext &context) 47 explicit EventSynchronizer(const Sink::ResourceContext &context)
45 : WebDavSynchronizer(context, KDAV2::CalDav, getTypeName<Calendar>(), getTypeName<Event>()) 48 : WebDavSynchronizer(context, KDAV2::CalDav, getTypeName<Calendar>(), getTypeName<Event>())
46 {} 49 {
50 }
47 51
48protected: 52protected:
49 void updateLocalCollections(KDAV2::DavCollection::List calendarList) Q_DECL_OVERRIDE 53 void updateLocalCollections(KDAV2::DavCollection::List calendarList) Q_DECL_OVERRIDE
@@ -183,16 +187,20 @@ CalDavResource::CalDavResource(const Sink::ResourceContext &context)
183 auto synchronizer = QSharedPointer<EventSynchronizer>::create(context); 187 auto synchronizer = QSharedPointer<EventSynchronizer>::create(context);
184 setupSynchronizer(synchronizer); 188 setupSynchronizer(synchronizer);
185 189
186 setupPreprocessors(ENTITY_TYPE_EVENT, QVector<Sink::Preprocessor*>() << new EventPropertyExtractor); 190 setupPreprocessors(ENTITY_TYPE_EVENT, QVector<Sink::Preprocessor *>() << new EventPropertyExtractor);
191 setupPreprocessors(ENTITY_TYPE_TODO, QVector<Sink::Preprocessor *>() << new TodoPropertyExtractor);
187} 192}
188 193
189CalDavResourceFactory::CalDavResourceFactory(QObject *parent) 194CalDavResourceFactory::CalDavResourceFactory(QObject *parent)
190 : Sink::ResourceFactory(parent, { 195 : Sink::ResourceFactory(parent, {
191 Sink::ApplicationDomain::ResourceCapabilities::Event::event,
192 Sink::ApplicationDomain::ResourceCapabilities::Event::calendar, 196 Sink::ApplicationDomain::ResourceCapabilities::Event::calendar,
197 Sink::ApplicationDomain::ResourceCapabilities::Event::event,
193 Sink::ApplicationDomain::ResourceCapabilities::Event::storage, 198 Sink::ApplicationDomain::ResourceCapabilities::Event::storage,
199 Sink::ApplicationDomain::ResourceCapabilities::Todo::todo,
200 Sink::ApplicationDomain::ResourceCapabilities::Todo::storage,
194 }) 201 })
195{} 202{
203}
196 204
197Sink::Resource *CalDavResourceFactory::createResource(const Sink::ResourceContext &context) 205Sink::Resource *CalDavResourceFactory::createResource(const Sink::ResourceContext &context)
198{ 206{
@@ -201,10 +209,12 @@ Sink::Resource *CalDavResourceFactory::createResource(const Sink::ResourceContex
201 209
202using Sink::ApplicationDomain::Calendar; 210using Sink::ApplicationDomain::Calendar;
203using Sink::ApplicationDomain::Event; 211using Sink::ApplicationDomain::Event;
212using Sink::ApplicationDomain::Todo;
204 213
205void CalDavResourceFactory::registerFacades(const QByteArray &resourceName, Sink::FacadeFactory &factory) 214void CalDavResourceFactory::registerFacades(const QByteArray &resourceName, Sink::FacadeFactory &factory)
206{ 215{
207 factory.registerFacade<Event, Sink::DefaultFacade<Event>>(resourceName); 216 factory.registerFacade<Event, Sink::DefaultFacade<Event>>(resourceName);
217 factory.registerFacade<Todo, Sink::DefaultFacade<Todo>>(resourceName);
208 factory.registerFacade<Calendar, Sink::DefaultFacade<Calendar>>(resourceName); 218 factory.registerFacade<Calendar, Sink::DefaultFacade<Calendar>>(resourceName);
209} 219}
210 220
@@ -213,6 +223,7 @@ void CalDavResourceFactory::registerAdaptorFactories(
213 const QByteArray &resourceName, Sink::AdaptorFactoryRegistry &registry) 223 const QByteArray &resourceName, Sink::AdaptorFactoryRegistry &registry)
214{ 224{
215 registry.registerFactory<Event, DefaultAdaptorFactory<Event>>(resourceName); 225 registry.registerFactory<Event, DefaultAdaptorFactory<Event>>(resourceName);
226 registry.registerFactory<Todo, DefaultAdaptorFactory<Todo>>(resourceName);
216 registry.registerFactory<Calendar, DefaultAdaptorFactory<Calendar>>(resourceName); 227 registry.registerFactory<Calendar, DefaultAdaptorFactory<Calendar>>(resourceName);
217} 228}
218 229