summaryrefslogtreecommitdiffstats
path: root/common/propertymapper.h
diff options
context:
space:
mode:
Diffstat (limited to 'common/propertymapper.h')
-rw-r--r--common/propertymapper.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/common/propertymapper.h b/common/propertymapper.h
index 72468e2..87c7485 100644
--- a/common/propertymapper.h
+++ b/common/propertymapper.h
@@ -63,6 +63,22 @@ public:
63 void addMapping(const QByteArray &property, const std::function<QVariant(BufferType const *)> &mapping) { 63 void addMapping(const QByteArray &property, const std::function<QVariant(BufferType const *)> &mapping) {
64 mReadAccessors.insert(property, mapping); 64 mReadAccessors.insert(property, mapping);
65 } 65 }
66
67 template <typename T, typename Buffer>
68 void addMapping(const QByteArray &name, const flatbuffers::String *(Buffer::*f)() const)
69 {
70 addMapping(name, [f](Buffer const *buffer) -> QVariant {
71 return propertyToVariant<T>((buffer->*f)());
72 });
73 }
74
75 template <typename T, typename Buffer>
76 void addMapping(const QByteArray &name, uint8_t (Buffer::*f)() const)
77 {
78 addMapping(name, [f](Buffer const *buffer) -> QVariant {
79 return propertyToVariant<T>((buffer->*f)());
80 });
81 }
66private: 82private:
67 QHash<QByteArray, std::function<QVariant(BufferType const *)> > mReadAccessors; 83 QHash<QByteArray, std::function<QVariant(BufferType const *)> > mReadAccessors;
68}; 84};