diff --git a/src/blackmisc/avflightplan.cpp b/src/blackmisc/avflightplan.cpp index 8846ed7aa..0136d4bc2 100644 --- a/src/blackmisc/avflightplan.cpp +++ b/src/blackmisc/avflightplan.cpp @@ -79,6 +79,21 @@ namespace BlackMisc argument >> TupleConverter::toTuple(*this); } + const QStringList &CFlightPlan::jsonMembers() + { + return TupleConverter::jsonMembers(); + } + + QJsonObject CFlightPlan::toJson() const + { + return BlackMisc::serializeJson(CFlightPlan::jsonMembers(), TupleConverter::toTuple(*this)); + } + + void CFlightPlan::fromJson(const QJsonObject &json) + { + BlackMisc::deserializeJson(json, CFlightPlan::jsonMembers(), TupleConverter::toTuple(*this)); + } + void CFlightPlan::registerMetadata() { qRegisterMetaType(); diff --git a/src/blackmisc/avflightplan.h b/src/blackmisc/avflightplan.h index 0d4a3bdb3..d59b8cb20 100644 --- a/src/blackmisc/avflightplan.h +++ b/src/blackmisc/avflightplan.h @@ -195,9 +195,18 @@ namespace BlackMisc //! \copydoc CValueObject::getValueHash virtual uint getValueHash() const override; + //! \copydoc CValueObject::toJson + virtual QJsonObject toJson() const override; + + //! \copydoc CValueObject::fromJson + virtual void fromJson(const QJsonObject &json) override; + //! Register metadata static void registerMetadata(); + //! Members + static const QStringList &jsonMembers(); + protected: //! \copydoc CValueObject::convertToQString() virtual QString convertToQString(bool i18n = false) const override;