From 9e002cca99ad176fd9168123955cc0779a4e1237 Mon Sep 17 00:00:00 2001 From: Christian Mollekopf Date: Tue, 10 May 2016 14:26:33 +0200 Subject: Property definitions Instead of hardcoding assumptions all over the place we create typesafe setters and getters for all properties. --- common/propertymapper.h | 50 ++++++++++++++++++++++++------------------------- 1 file changed, 25 insertions(+), 25 deletions(-) (limited to 'common/propertymapper.h') diff --git a/common/propertymapper.h b/common/propertymapper.h index edbc7f1..8227940 100644 --- a/common/propertymapper.h +++ b/common/propertymapper.h @@ -78,33 +78,33 @@ public: } template - void addMapping(const QByteArray &name, const flatbuffers::String *(Buffer::*f)() const) + void addMapping(const flatbuffers::String *(Buffer::*f)() const) { - addMapping(name, [f](Buffer const *buffer) -> QVariant { return propertyToVariant((buffer->*f)()); }); + addMapping(T::name, [f](Buffer const *buffer) -> QVariant { return propertyToVariant((buffer->*f)()); }); } template - void addMapping(const QByteArray &name, uint8_t (Buffer::*f)() const) + void addMapping(uint8_t (Buffer::*f)() const) { - addMapping(name, [f](Buffer const *buffer) -> QVariant { return propertyToVariant((buffer->*f)()); }); + addMapping(T::name, [f](Buffer const *buffer) -> QVariant { return propertyToVariant((buffer->*f)()); }); } template - void addMapping(const QByteArray &name, bool (Buffer::*f)() const) + void addMapping(bool (Buffer::*f)() const) { - addMapping(name, [f](Buffer const *buffer) -> QVariant { return propertyToVariant((buffer->*f)()); }); + addMapping(T::name, [f](Buffer const *buffer) -> QVariant { return propertyToVariant((buffer->*f)()); }); } template - void addMapping(const QByteArray &name, const flatbuffers::Vector *(Buffer::*f)() const) + void addMapping(const flatbuffers::Vector *(Buffer::*f)() const) { - addMapping(name, [f](Buffer const *buffer) -> QVariant { return propertyToVariant((buffer->*f)()); }); + addMapping(T::name, [f](Buffer const *buffer) -> QVariant { return propertyToVariant((buffer->*f)()); }); } template - void addMapping(const QByteArray &name, const flatbuffers::Vector> *(Buffer::*f)() const) + void addMapping(const flatbuffers::Vector> *(Buffer::*f)() const) { - addMapping(name, [f](Buffer const *buffer) -> QVariant { return propertyToVariant((buffer->*f)()); }); + addMapping(T::name, [f](Buffer const *buffer) -> QVariant { return propertyToVariant((buffer->*f)()); }); } private: @@ -134,44 +134,44 @@ public: } template - void addMapping(const QByteArray &name, void (BufferBuilder::*f)(uint8_t)) + void addMapping(void (BufferBuilder::*f)(uint8_t)) { - addMapping(name, [f](const QVariant &value, flatbuffers::FlatBufferBuilder &fbb) -> std::function { - return [value, f](BufferBuilder &builder) { (builder.*f)(value.value()); }; + addMapping(T::name, [f](const QVariant &value, flatbuffers::FlatBufferBuilder &fbb) -> std::function { + return [value, f](BufferBuilder &builder) { (builder.*f)(value.value()); }; }); } template - void addMapping(const QByteArray &name, void (BufferBuilder::*f)(bool)) + void addMapping(void (BufferBuilder::*f)(bool)) { - addMapping(name, [f](const QVariant &value, flatbuffers::FlatBufferBuilder &fbb) -> std::function { - return [value, f](BufferBuilder &builder) { (builder.*f)(value.value()); }; + addMapping(T::name, [f](const QVariant &value, flatbuffers::FlatBufferBuilder &fbb) -> std::function { + return [value, f](BufferBuilder &builder) { (builder.*f)(value.value()); }; }); } template - void addMapping(const QByteArray &name, void (BufferBuilder::*f)(flatbuffers::Offset)) + void addMapping(void (BufferBuilder::*f)(flatbuffers::Offset)) { - addMapping(name, [f](const QVariant &value, flatbuffers::FlatBufferBuilder &fbb) -> std::function { - auto offset = variantToProperty(value, fbb); + addMapping(T::name, [f](const QVariant &value, flatbuffers::FlatBufferBuilder &fbb) -> std::function { + auto offset = variantToProperty(value, fbb); return [offset, f](BufferBuilder &builder) { (builder.*f)(offset); }; }); } template - void addMapping(const QByteArray &name, void (BufferBuilder::*f)(flatbuffers::Offset>)) + void addMapping(void (BufferBuilder::*f)(flatbuffers::Offset>)) { - addMapping(name, [f](const QVariant &value, flatbuffers::FlatBufferBuilder &fbb) -> std::function { - auto offset = variantToProperty(value, fbb); + addMapping(T::name, [f](const QVariant &value, flatbuffers::FlatBufferBuilder &fbb) -> std::function { + auto offset = variantToProperty(value, fbb); return [offset, f](BufferBuilder &builder) { (builder.*f)(offset); }; }); } template - void addMapping(const QByteArray &name, void (BufferBuilder::*f)(flatbuffers::Offset>>)) + void addMapping(void (BufferBuilder::*f)(flatbuffers::Offset>>)) { - addMapping(name, [f](const QVariant &value, flatbuffers::FlatBufferBuilder &fbb) -> std::function { - auto offset = variantToProperty(value, fbb); + addMapping(T::name, [f](const QVariant &value, flatbuffers::FlatBufferBuilder &fbb) -> std::function { + auto offset = variantToProperty(value, fbb); return [offset, f](BufferBuilder &builder) { (builder.*f)(offset); }; }); } -- cgit v1.2.3