diff options
Diffstat (limited to 'common/propertymapper.h')
-rw-r--r-- | common/propertymapper.h | 50 |
1 files changed, 25 insertions, 25 deletions
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: | |||
78 | } | 78 | } |
79 | 79 | ||
80 | template <typename T, typename Buffer> | 80 | template <typename T, typename Buffer> |
81 | void addMapping(const QByteArray &name, const flatbuffers::String *(Buffer::*f)() const) | 81 | void addMapping(const flatbuffers::String *(Buffer::*f)() const) |
82 | { | 82 | { |
83 | addMapping(name, [f](Buffer const *buffer) -> QVariant { return propertyToVariant<T>((buffer->*f)()); }); | 83 | addMapping(T::name, [f](Buffer const *buffer) -> QVariant { return propertyToVariant<typename T::Type>((buffer->*f)()); }); |
84 | } | 84 | } |
85 | 85 | ||
86 | template <typename T, typename Buffer> | 86 | template <typename T, typename Buffer> |
87 | void addMapping(const QByteArray &name, uint8_t (Buffer::*f)() const) | 87 | void addMapping(uint8_t (Buffer::*f)() const) |
88 | { | 88 | { |
89 | addMapping(name, [f](Buffer const *buffer) -> QVariant { return propertyToVariant<T>((buffer->*f)()); }); | 89 | addMapping(T::name, [f](Buffer const *buffer) -> QVariant { return propertyToVariant<typename T::Type>((buffer->*f)()); }); |
90 | } | 90 | } |
91 | 91 | ||
92 | template <typename T, typename Buffer> | 92 | template <typename T, typename Buffer> |
93 | void addMapping(const QByteArray &name, bool (Buffer::*f)() const) | 93 | void addMapping(bool (Buffer::*f)() const) |
94 | { | 94 | { |
95 | addMapping(name, [f](Buffer const *buffer) -> QVariant { return propertyToVariant<T>((buffer->*f)()); }); | 95 | addMapping(T::name, [f](Buffer const *buffer) -> QVariant { return propertyToVariant<typename T::Type>((buffer->*f)()); }); |
96 | } | 96 | } |
97 | 97 | ||
98 | template <typename T, typename Buffer> | 98 | template <typename T, typename Buffer> |
99 | void addMapping(const QByteArray &name, const flatbuffers::Vector<uint8_t> *(Buffer::*f)() const) | 99 | void addMapping(const flatbuffers::Vector<uint8_t> *(Buffer::*f)() const) |
100 | { | 100 | { |
101 | addMapping(name, [f](Buffer const *buffer) -> QVariant { return propertyToVariant<T>((buffer->*f)()); }); | 101 | addMapping(T::name, [f](Buffer const *buffer) -> QVariant { return propertyToVariant<typename T::Type>((buffer->*f)()); }); |
102 | } | 102 | } |
103 | 103 | ||
104 | template <typename T, typename Buffer> | 104 | template <typename T, typename Buffer> |
105 | void addMapping(const QByteArray &name, const flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>> *(Buffer::*f)() const) | 105 | void addMapping(const flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>> *(Buffer::*f)() const) |
106 | { | 106 | { |
107 | addMapping(name, [f](Buffer const *buffer) -> QVariant { return propertyToVariant<T>((buffer->*f)()); }); | 107 | addMapping(T::name, [f](Buffer const *buffer) -> QVariant { return propertyToVariant<typename T::Type>((buffer->*f)()); }); |
108 | } | 108 | } |
109 | 109 | ||
110 | private: | 110 | private: |
@@ -134,44 +134,44 @@ public: | |||
134 | } | 134 | } |
135 | 135 | ||
136 | template <typename T> | 136 | template <typename T> |
137 | void addMapping(const QByteArray &name, void (BufferBuilder::*f)(uint8_t)) | 137 | void addMapping(void (BufferBuilder::*f)(uint8_t)) |
138 | { | 138 | { |
139 | addMapping(name, [f](const QVariant &value, flatbuffers::FlatBufferBuilder &fbb) -> std::function<void(BufferBuilder &)> { | 139 | addMapping(T::name, [f](const QVariant &value, flatbuffers::FlatBufferBuilder &fbb) -> std::function<void(BufferBuilder &)> { |
140 | return [value, f](BufferBuilder &builder) { (builder.*f)(value.value<T>()); }; | 140 | return [value, f](BufferBuilder &builder) { (builder.*f)(value.value<typename T::Type>()); }; |
141 | }); | 141 | }); |
142 | } | 142 | } |
143 | 143 | ||
144 | template <typename T> | 144 | template <typename T> |
145 | void addMapping(const QByteArray &name, void (BufferBuilder::*f)(bool)) | 145 | void addMapping(void (BufferBuilder::*f)(bool)) |
146 | { | 146 | { |
147 | addMapping(name, [f](const QVariant &value, flatbuffers::FlatBufferBuilder &fbb) -> std::function<void(BufferBuilder &)> { | 147 | addMapping(T::name, [f](const QVariant &value, flatbuffers::FlatBufferBuilder &fbb) -> std::function<void(BufferBuilder &)> { |
148 | return [value, f](BufferBuilder &builder) { (builder.*f)(value.value<T>()); }; | 148 | return [value, f](BufferBuilder &builder) { (builder.*f)(value.value<typename T::Type>()); }; |
149 | }); | 149 | }); |
150 | } | 150 | } |
151 | 151 | ||
152 | template <typename T> | 152 | template <typename T> |
153 | void addMapping(const QByteArray &name, void (BufferBuilder::*f)(flatbuffers::Offset<flatbuffers::String>)) | 153 | void addMapping(void (BufferBuilder::*f)(flatbuffers::Offset<flatbuffers::String>)) |
154 | { | 154 | { |
155 | addMapping(name, [f](const QVariant &value, flatbuffers::FlatBufferBuilder &fbb) -> std::function<void(BufferBuilder &)> { | 155 | addMapping(T::name, [f](const QVariant &value, flatbuffers::FlatBufferBuilder &fbb) -> std::function<void(BufferBuilder &)> { |
156 | auto offset = variantToProperty<T>(value, fbb); | 156 | auto offset = variantToProperty<typename T::Type>(value, fbb); |
157 | return [offset, f](BufferBuilder &builder) { (builder.*f)(offset); }; | 157 | return [offset, f](BufferBuilder &builder) { (builder.*f)(offset); }; |
158 | }); | 158 | }); |
159 | } | 159 | } |
160 | 160 | ||
161 | template <typename T> | 161 | template <typename T> |
162 | void addMapping(const QByteArray &name, void (BufferBuilder::*f)(flatbuffers::Offset<flatbuffers::Vector<uint8_t>>)) | 162 | void addMapping(void (BufferBuilder::*f)(flatbuffers::Offset<flatbuffers::Vector<uint8_t>>)) |
163 | { | 163 | { |
164 | addMapping(name, [f](const QVariant &value, flatbuffers::FlatBufferBuilder &fbb) -> std::function<void(BufferBuilder &)> { | 164 | addMapping(T::name, [f](const QVariant &value, flatbuffers::FlatBufferBuilder &fbb) -> std::function<void(BufferBuilder &)> { |
165 | auto offset = variantToProperty<T>(value, fbb); | 165 | auto offset = variantToProperty<typename T::Type>(value, fbb); |
166 | return [offset, f](BufferBuilder &builder) { (builder.*f)(offset); }; | 166 | return [offset, f](BufferBuilder &builder) { (builder.*f)(offset); }; |
167 | }); | 167 | }); |
168 | } | 168 | } |
169 | 169 | ||
170 | template <typename T> | 170 | template <typename T> |
171 | void addMapping(const QByteArray &name, void (BufferBuilder::*f)(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>>>)) | 171 | void addMapping(void (BufferBuilder::*f)(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>>>)) |
172 | { | 172 | { |
173 | addMapping(name, [f](const QVariant &value, flatbuffers::FlatBufferBuilder &fbb) -> std::function<void(BufferBuilder &)> { | 173 | addMapping(T::name, [f](const QVariant &value, flatbuffers::FlatBufferBuilder &fbb) -> std::function<void(BufferBuilder &)> { |
174 | auto offset = variantToProperty<T>(value, fbb); | 174 | auto offset = variantToProperty<typename T::Type>(value, fbb); |
175 | return [offset, f](BufferBuilder &builder) { (builder.*f)(offset); }; | 175 | return [offset, f](BufferBuilder &builder) { (builder.*f)(offset); }; |
176 | }); | 176 | }); |
177 | } | 177 | } |