From 29695a1949c4f846f0d4ed21a400f3b864518ed1 Mon Sep 17 00:00:00 2001 From: Minijackson Date: Wed, 2 May 2018 16:44:11 +0200 Subject: Really add Todo entity type --- common/propertymapper.cpp | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) (limited to 'common/propertymapper.cpp') diff --git a/common/propertymapper.cpp b/common/propertymapper.cpp index 7c313cc..f9f9c9b 100644 --- a/common/propertymapper.cpp +++ b/common/propertymapper.cpp @@ -81,6 +81,21 @@ flatbuffers::uoffset_t variantToProperty(const QVariant &propert return 0; } +template <> +flatbuffers::uoffset_t variantToProperty(const QVariant &property, flatbuffers::FlatBufferBuilder &fbb) +{ + if (property.isValid()) { + const auto list = property.value(); + std::vector> vector; + for (const auto &value : list) { + auto offset = fbb.CreateString(value.toStdString()); + vector.push_back(offset); + } + return fbb.CreateVector(vector).o; + } + return 0; +} + template <> flatbuffers::uoffset_t variantToProperty(const QVariant &property, flatbuffers::FlatBufferBuilder &fbb) { @@ -186,6 +201,21 @@ QVariant propertyToVariant(const flatbuffers::Vector +QVariant propertyToVariant(const flatbuffers::Vector> *property) +{ + if (property) { + QStringList list; + for (auto it = property->begin(); it != property->end();) { + // We have to copy the memory, otherwise it would become eventually invalid + list << QString::fromStdString((*it)->str()); + it.operator++(); + } + return QVariant::fromValue(list); + } + return QVariant(); +} + template <> QVariant propertyToVariant(const Sink::ApplicationDomain::Buffer::MailContact *property) { @@ -231,6 +261,12 @@ QVariant propertyToVariant(uint8_t property) return static_cast(property); } +template <> +QVariant propertyToVariant(uint8_t property) +{ + return static_cast(property); +} + template <> QVariant propertyToVariant(const flatbuffers::String *property) { -- cgit v1.2.3