From 9a9557b6431e8d27420603f4895e480d766f6ae2 Mon Sep 17 00:00:00 2001 From: Christian Mollekopf Date: Sun, 31 May 2015 20:51:09 +0200 Subject: Use type implementation to define default buffer and buffer-builder --- common/domain/event.cpp | 20 ++++++++++---------- common/domain/event.h | 9 ++++++--- 2 files changed, 16 insertions(+), 13 deletions(-) (limited to 'common/domain') diff --git a/common/domain/event.cpp b/common/domain/event.cpp index ea0931c..776fa50 100644 --- a/common/domain/event.cpp +++ b/common/domain/event.cpp @@ -56,28 +56,28 @@ void TypeImplementation::index(const Event &type) } } -QSharedPointer > TypeImplementation::initializeReadPropertyMapper() +QSharedPointer::Buffer> > TypeImplementation::initializeReadPropertyMapper() { - auto propertyMapper = QSharedPointer >::create(); - propertyMapper->addMapping("summary", [](Buffer::Event const *buffer) -> QVariant { + auto propertyMapper = QSharedPointer >::create(); + propertyMapper->addMapping("summary", [](Buffer const *buffer) -> QVariant { return propertyToVariant(buffer->summary()); }); - propertyMapper->addMapping("uid", [](Buffer::Event const *buffer) -> QVariant { + propertyMapper->addMapping("uid", [](Buffer const *buffer) -> QVariant { return propertyToVariant(buffer->uid()); }); return propertyMapper; } -QSharedPointer > TypeImplementation::initializeWritePropertyMapper() +QSharedPointer::BufferBuilder> > TypeImplementation::initializeWritePropertyMapper() { - auto propertyMapper = QSharedPointer >::create(); - propertyMapper->addMapping("summary", [](const QVariant &value, flatbuffers::FlatBufferBuilder &fbb) -> std::function { + auto propertyMapper = QSharedPointer >::create(); + propertyMapper->addMapping("summary", [](const QVariant &value, flatbuffers::FlatBufferBuilder &fbb) -> std::function { auto offset = variantToProperty(value, fbb); - return [offset](Buffer::EventBuilder &builder) { builder.add_summary(offset); }; + return [offset](BufferBuilder &builder) { builder.add_summary(offset); }; }); - propertyMapper->addMapping("uid", [](const QVariant &value, flatbuffers::FlatBufferBuilder &fbb) -> std::function { + propertyMapper->addMapping("uid", [](const QVariant &value, flatbuffers::FlatBufferBuilder &fbb) -> std::function { auto offset = variantToProperty(value, fbb); - return [offset](Buffer::EventBuilder &builder) { builder.add_uid(offset); }; + return [offset](BufferBuilder &builder) { builder.add_uid(offset); }; }); return propertyMapper; } diff --git a/common/domain/event.h b/common/domain/event.h index d4ce20e..d40e55d 100644 --- a/common/domain/event.h +++ b/common/domain/event.h @@ -41,7 +41,10 @@ namespace ApplicationDomain { * Implements all type-specific code such as updating and querying indexes. */ template<> -struct TypeImplementation { +class TypeImplementation { +public: + typedef Akonadi2::ApplicationDomain::Buffer::Event Buffer; + typedef Akonadi2::ApplicationDomain::Buffer::EventBuilder BufferBuilder; /** * Returns the potential result set based on the indexes. * @@ -49,8 +52,8 @@ struct TypeImplementation { */ static ResultSet queryIndexes(const Akonadi2::Query &query, const QByteArray &resourceInstanceIdentifier); static void index(const Event &type); - static QSharedPointer > initializeReadPropertyMapper(); - static QSharedPointer > initializeWritePropertyMapper(); + static QSharedPointer > initializeReadPropertyMapper(); + static QSharedPointer > initializeWritePropertyMapper(); }; } -- cgit v1.2.3