diff options
author | Christian Mollekopf <chrigi_1@fastmail.fm> | 2015-12-14 11:38:03 +0100 |
---|---|---|
committer | Christian Mollekopf <chrigi_1@fastmail.fm> | 2015-12-14 11:38:22 +0100 |
commit | 1ec122d6579a6f1850753a2b72ae04d4bd9981a0 (patch) | |
tree | 188179f78d0f97319641d3f8e9d0a1c53c418df7 /common/propertymapper.h | |
parent | 6ad73b1e3d37532cda65312f455e82fe6764db0b (diff) | |
download | sink-1ec122d6579a6f1850753a2b72ae04d4bd9981a0.tar.gz sink-1ec122d6579a6f1850753a2b72ae04d4bd9981a0.zip |
Build with latest flatbuffers
We now have actual booleans
Diffstat (limited to 'common/propertymapper.h')
-rw-r--r-- | common/propertymapper.h | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/common/propertymapper.h b/common/propertymapper.h index fbde2d9..fb5accc 100644 --- a/common/propertymapper.h +++ b/common/propertymapper.h | |||
@@ -79,6 +79,14 @@ public: | |||
79 | return propertyToVariant<T>((buffer->*f)()); | 79 | return propertyToVariant<T>((buffer->*f)()); |
80 | }); | 80 | }); |
81 | } | 81 | } |
82 | |||
83 | template <typename T, typename Buffer> | ||
84 | void addMapping(const QByteArray &name, bool (Buffer::*f)() const) | ||
85 | { | ||
86 | addMapping(name, [f](Buffer const *buffer) -> QVariant { | ||
87 | return propertyToVariant<T>((buffer->*f)()); | ||
88 | }); | ||
89 | } | ||
82 | private: | 90 | private: |
83 | QHash<QByteArray, std::function<QVariant(BufferType const *)> > mReadAccessors; | 91 | QHash<QByteArray, std::function<QVariant(BufferType const *)> > mReadAccessors; |
84 | }; | 92 | }; |
@@ -110,6 +118,16 @@ public: | |||
110 | } | 118 | } |
111 | 119 | ||
112 | template <typename T> | 120 | template <typename T> |
121 | void addMapping(const QByteArray &name, void (BufferBuilder::*f)(bool)) | ||
122 | { | ||
123 | addMapping(name, [f](const QVariant &value, flatbuffers::FlatBufferBuilder &fbb) -> std::function<void(BufferBuilder &)> { | ||
124 | return [value, f](BufferBuilder &builder) { | ||
125 | (builder.*f)(value.value<T>()); | ||
126 | }; | ||
127 | }); | ||
128 | } | ||
129 | |||
130 | template <typename T> | ||
113 | void addMapping(const QByteArray &name, void (BufferBuilder::*f)(flatbuffers::Offset<flatbuffers::String>)) | 131 | void addMapping(const QByteArray &name, void (BufferBuilder::*f)(flatbuffers::Offset<flatbuffers::String>)) |
114 | { | 132 | { |
115 | addMapping(name, [f](const QVariant &value, flatbuffers::FlatBufferBuilder &fbb) -> std::function<void(BufferBuilder &)> { | 133 | addMapping(name, [f](const QVariant &value, flatbuffers::FlatBufferBuilder &fbb) -> std::function<void(BufferBuilder &)> { |