diff --git a/src/blackmisc/audiodevice.h b/src/blackmisc/audiodevice.h index cdce893f9..7cfe365aa 100644 --- a/src/blackmisc/audiodevice.h +++ b/src/blackmisc/audiodevice.h @@ -86,7 +86,7 @@ namespace BlackMisc //! Register metadata static void registerMetadata(); - //! \copydoc TupleConverter<>::jsonMembers() + //! JSON member names static const QStringList &jsonMembers(); //! Device index for default device diff --git a/src/blackmisc/avaircraft.h b/src/blackmisc/avaircraft.h index 0a89c13e7..f9619635b 100644 --- a/src/blackmisc/avaircraft.h +++ b/src/blackmisc/avaircraft.h @@ -240,7 +240,7 @@ namespace BlackMisc //! Register metadata static void registerMetadata(); - //! Members + //! JSON member names static const QStringList &jsonMembers(); protected: diff --git a/src/blackmisc/avaircrafticao.h b/src/blackmisc/avaircrafticao.h index 19dfb69b9..dcd3ac125 100644 --- a/src/blackmisc/avaircrafticao.h +++ b/src/blackmisc/avaircrafticao.h @@ -160,7 +160,7 @@ namespace BlackMisc //! Register metadata static void registerMetadata(); - //! Members + //! JSON member names static const QStringList &jsonMembers(); //! Valid designator? diff --git a/src/blackmisc/avairport.h b/src/blackmisc/avairport.h index e7e13b9d5..b1f0943e6 100644 --- a/src/blackmisc/avairport.h +++ b/src/blackmisc/avairport.h @@ -135,12 +135,12 @@ namespace BlackMisc virtual QJsonObject toJson() const override; //! \copydoc CValueObject::convertFromJson - void convertFromJson(const QJsonObject &json) override; + virtual void convertFromJson(const QJsonObject &json) override; //! Register metadata static void registerMetadata(); - //! \copydoc TupleConverter<>::jsonMembers() + //! \copydoc TupleConverter::jsonMembers() static const QStringList &jsonMembers(); protected: diff --git a/src/blackmisc/avaltitude.cpp b/src/blackmisc/avaltitude.cpp index 83a41b5cd..6bb6baa18 100644 --- a/src/blackmisc/avaltitude.cpp +++ b/src/blackmisc/avaltitude.cpp @@ -153,7 +153,7 @@ namespace BlackMisc } /* - * To JSON + * From JSON */ void CAltitude::convertFromJson(const QJsonObject &json) { diff --git a/src/blackmisc/avaltitude.h b/src/blackmisc/avaltitude.h index 5988c0611..b5e8c774c 100644 --- a/src/blackmisc/avaltitude.h +++ b/src/blackmisc/avaltitude.h @@ -103,7 +103,7 @@ namespace BlackMisc virtual QJsonObject toJson() const override; //! \copydoc CValueObject::convertFromJson - void convertFromJson(const QJsonObject &json) override; + virtual void convertFromJson(const QJsonObject &json) override; //! \copydoc CValueObject::toQVariant virtual QVariant toQVariant() const override { return QVariant::fromValue(*this); } @@ -112,10 +112,10 @@ namespace BlackMisc virtual void convertFromQVariant(const QVariant &variant) override { BlackMisc::setFromQVariant(this, variant); } //! \copydoc CValueObject::parseFromString(const QString &value) - void parseFromString(const QString &value) override; + virtual void parseFromString(const QString &value) override; //! \copydoc CValueObject::parseFromString(const QString &value, BlackMisc::PhysicalQuantities::CPqString::SeparatorMode mode) - void parseFromString(const QString &value, BlackMisc::PhysicalQuantities::CPqString::SeparatorMode mode) override; + virtual void parseFromString(const QString &value, BlackMisc::PhysicalQuantities::CPqString::SeparatorMode mode) override; //! \copydoc CValueObject::toIcon BlackMisc::CIcon toIcon() const override; @@ -123,7 +123,7 @@ namespace BlackMisc //! Register metadata static void registerMetadata(); - //! \copydoc TupleConverter<>::jsonMembers() + //! JSON member names static const QStringList &jsonMembers(); }; diff --git a/src/blackmisc/avatcstation.h b/src/blackmisc/avatcstation.h index e5edaf59c..e8b154c47 100644 --- a/src/blackmisc/avatcstation.h +++ b/src/blackmisc/avatcstation.h @@ -285,12 +285,12 @@ namespace BlackMisc virtual QJsonObject toJson() const override; //! \copydoc CValueObject::convertFromJson - void convertFromJson(const QJsonObject &json) override; + virtual void convertFromJson(const QJsonObject &json) override; //! Register metadata static void registerMetadata(); - //! \copydoc TupleConverter<>::jsonMembers() + //! JSON member names static const QStringList &jsonMembers(); protected: diff --git a/src/blackmisc/avcallsign.cpp b/src/blackmisc/avcallsign.cpp index 090eb15b5..1f2cc7538 100644 --- a/src/blackmisc/avcallsign.cpp +++ b/src/blackmisc/avcallsign.cpp @@ -114,7 +114,7 @@ namespace BlackMisc } /* - * To JSON + * From JSON */ void CCallsign::convertFromJson(const QJsonObject &json) { diff --git a/src/blackmisc/avheading.h b/src/blackmisc/avheading.h index 6ec9870f0..c51e91693 100644 --- a/src/blackmisc/avheading.h +++ b/src/blackmisc/avheading.h @@ -94,12 +94,12 @@ namespace BlackMisc virtual QJsonObject toJson() const override; //! \copydoc CValueObject::convertFromJson - void convertFromJson(const QJsonObject &json) override; + virtual void convertFromJson(const QJsonObject &json) override; //! \brief Register metadata static void registerMetadata(); - //! \copydoc TupleConverter<>::jsonMembers() + //! JSON member names static const QStringList &jsonMembers(); }; diff --git a/src/blackmisc/avinformationmessage.h b/src/blackmisc/avinformationmessage.h index 91bf36d32..c68e5e799 100644 --- a/src/blackmisc/avinformationmessage.h +++ b/src/blackmisc/avinformationmessage.h @@ -115,12 +115,12 @@ namespace BlackMisc virtual QJsonObject toJson() const override; //! \copydoc CValueObject::convertFromJson - void convertFromJson(const QJsonObject &json) override; + virtual void convertFromJson(const QJsonObject &json) override; //! Register metadata static void registerMetadata(); - //! Members + //! JSON member names static const QStringList &jsonMembers(); protected: diff --git a/src/blackmisc/aviotransponder.h b/src/blackmisc/aviotransponder.h index 4ad697abf..4aaae74c2 100644 --- a/src/blackmisc/aviotransponder.h +++ b/src/blackmisc/aviotransponder.h @@ -163,7 +163,7 @@ namespace BlackMisc virtual QJsonObject toJson() const override; //! \copydoc CValueObject::convertFromJson - void convertFromJson(const QJsonObject &json) override; + virtual void convertFromJson(const QJsonObject &json) override; //! \copydoc CValueObject::toQVariant virtual QVariant toQVariant() const override { return QVariant::fromValue(*this); } @@ -177,7 +177,7 @@ namespace BlackMisc //! \copydoc CValueObject::setPropertyByIndex(variant, index) virtual void setPropertyByIndex(const QVariant &variant, const BlackMisc::CPropertyIndex &index) override; - //! \copydoc TupleConverter<>::jsonMembers() + //! JSON member names static const QStringList &jsonMembers(); //! Is valid transponder code? diff --git a/src/blackmisc/avselcal.h b/src/blackmisc/avselcal.h index ad62dfec7..7ca1249f6 100644 --- a/src/blackmisc/avselcal.h +++ b/src/blackmisc/avselcal.h @@ -71,12 +71,12 @@ namespace BlackMisc virtual QJsonObject toJson() const override; //! \copydoc CValueObject::convertFromJson - void convertFromJson(const QJsonObject &json) override; + virtual void convertFromJson(const QJsonObject &json) override; //! Register metadata static void registerMetadata(); - //! \copydoc TupleConverter<>::jsonMembers() + //! JSON member names static const QStringList &jsonMembers(); //! Equals given string diff --git a/src/blackmisc/avtrack.h b/src/blackmisc/avtrack.h index 274fe0304..df739c1e0 100644 --- a/src/blackmisc/avtrack.h +++ b/src/blackmisc/avtrack.h @@ -81,7 +81,7 @@ namespace BlackMisc virtual QJsonObject toJson() const override; //! \copydoc CValueObject::convertFromJson - void convertFromJson(const QJsonObject &json) override; + virtual void convertFromJson(const QJsonObject &json) override; //! \brief Register metadata static void registerMetadata(); diff --git a/src/blackmisc/containerbase.h b/src/blackmisc/containerbase.h index c8eea8fcc..20b78c767 100644 --- a/src/blackmisc/containerbase.h +++ b/src/blackmisc/containerbase.h @@ -114,7 +114,7 @@ namespace BlackMisc } //! \copydoc CValueObject::convertFromJson - void convertFromJson(const QJsonObject &json) override + virtual void convertFromJson(const QJsonObject &json) override { QJsonArray array = json.value("containerbase").toArray(); for (auto i = array.begin(); i != array.end(); ++i) diff --git a/src/blackmisc/coordinategeodetic.h b/src/blackmisc/coordinategeodetic.h index dde73ba4a..7f13669df 100644 --- a/src/blackmisc/coordinategeodetic.h +++ b/src/blackmisc/coordinategeodetic.h @@ -193,7 +193,7 @@ namespace BlackMisc virtual QJsonObject toJson() const override; //! \copydoc CValueObject::convertFromJson - void convertFromJson(const QJsonObject &json) override; + virtual void convertFromJson(const QJsonObject &json) override; //! Register metadata static void registerMetadata(); diff --git a/src/blackmisc/dictionary.h b/src/blackmisc/dictionary.h index 8692c200f..a764fc9af 100644 --- a/src/blackmisc/dictionary.h +++ b/src/blackmisc/dictionary.h @@ -231,7 +231,7 @@ namespace BlackMisc } //! \copydoc CValueObject::convertFromJson - void convertFromJson(const QJsonObject &json) override + virtual void convertFromJson(const QJsonObject &json) override { QJsonArray array = json.value("associativecontainerbase").toArray(); for (auto it = array.begin(); it != array.end(); ++it) diff --git a/src/blackmisc/hotkeyfunction.h b/src/blackmisc/hotkeyfunction.h index c33baf861..628fa2526 100644 --- a/src/blackmisc/hotkeyfunction.h +++ b/src/blackmisc/hotkeyfunction.h @@ -62,7 +62,7 @@ namespace BlackMisc virtual QJsonObject toJson() const override; //! \copydoc CValueObject::convertFromJson - void convertFromJson(const QJsonObject &json) override; + virtual void convertFromJson(const QJsonObject &json) override; //! Register metadata static void registerMetadata(); diff --git a/src/blackmisc/hwkeyboardkey.h b/src/blackmisc/hwkeyboardkey.h index 41a63bed9..c045e7672 100644 --- a/src/blackmisc/hwkeyboardkey.h +++ b/src/blackmisc/hwkeyboardkey.h @@ -78,7 +78,7 @@ namespace BlackMisc virtual QJsonObject toJson() const override; //! \copydoc CValueObject::convertFromJson - void convertFromJson(const QJsonObject &json) override; + virtual void convertFromJson(const QJsonObject &json) override; //! Register metadata static void registerMetadata(); diff --git a/src/blackmisc/icon.h b/src/blackmisc/icon.h index 826e21732..1c308095c 100644 --- a/src/blackmisc/icon.h +++ b/src/blackmisc/icon.h @@ -73,7 +73,7 @@ namespace BlackMisc //! Register metadata static void registerMetadata(); - //! \copydoc TupleConverter<>::jsonMembers() + //! JSON member names static const QStringList &jsonMembers(); //! Implicit conversion diff --git a/src/blackmisc/mathmatrixbase.h b/src/blackmisc/mathmatrixbase.h index 353e52434..c142502ba 100644 --- a/src/blackmisc/mathmatrixbase.h +++ b/src/blackmisc/mathmatrixbase.h @@ -249,7 +249,7 @@ namespace BlackMisc virtual QJsonObject toJson() const override; //! \copydoc CValueObject::convertFromJson - void convertFromJson(const QJsonObject &json) override; + virtual void convertFromJson(const QJsonObject &json) override; private: //! \brief Check range of row / column diff --git a/src/blackmisc/nwaircraftmodel.h b/src/blackmisc/nwaircraftmodel.h index ffe4493c0..4435a7a0f 100644 --- a/src/blackmisc/nwaircraftmodel.h +++ b/src/blackmisc/nwaircraftmodel.h @@ -59,7 +59,7 @@ namespace BlackMisc virtual QJsonObject toJson() const override; //! \copydoc CValueObject::convertFromJson - void convertFromJson(const QJsonObject &json) override; + virtual void convertFromJson(const QJsonObject &json) override; //! \copydoc CValueObject::propertyByIndex(int) virtual QVariant propertyByIndex(const BlackMisc::CPropertyIndex &index) const override; @@ -85,7 +85,7 @@ namespace BlackMisc //! Register metadata static void registerMetadata(); - //! \copydoc TupleConverter<>::jsonMembers() + //! JSON member names static const QStringList &jsonMembers(); protected: diff --git a/src/blackmisc/nwclient.h b/src/blackmisc/nwclient.h index 5fb26bf0b..40f5529a4 100644 --- a/src/blackmisc/nwclient.h +++ b/src/blackmisc/nwclient.h @@ -74,7 +74,7 @@ namespace BlackMisc virtual QJsonObject toJson() const override; //! \copydoc CValueObject::convertFromJson - void convertFromJson(const QJsonObject &json) override; + virtual void convertFromJson(const QJsonObject &json) override; //! \copydoc CValueObject::toQVariant() virtual QVariant toQVariant() const override { return QVariant::fromValue(*this); } @@ -139,7 +139,7 @@ namespace BlackMisc //! Register metadata static void registerMetadata(); - //! \copydoc TupleConverter<>::jsonMembers() + //! JSON member names static const QStringList &jsonMembers(); protected: diff --git a/src/blackmisc/nwserver.h b/src/blackmisc/nwserver.h index 1fcb0ede7..6cd3e872a 100644 --- a/src/blackmisc/nwserver.h +++ b/src/blackmisc/nwserver.h @@ -109,7 +109,7 @@ namespace BlackMisc //! \copydoc CValueObject::setPropertyByIndex(const QVariant &, int index) virtual void setPropertyByIndex(const QVariant &variant, const BlackMisc::CPropertyIndex &index) override; - //! \copydoc TupleConverter<>::jsonMembers() + //! JSON member names static const QStringList &jsonMembers(); //! Register metadata diff --git a/src/blackmisc/nwvoicecapabilities.h b/src/blackmisc/nwvoicecapabilities.h index d829624c0..b40b93fb8 100644 --- a/src/blackmisc/nwvoicecapabilities.h +++ b/src/blackmisc/nwvoicecapabilities.h @@ -73,7 +73,7 @@ namespace BlackMisc virtual QJsonObject toJson() const override; //! \copydoc CValueObject::convertFromJson - void convertFromJson(const QJsonObject &json) override; + virtual void convertFromJson(const QJsonObject &json) override; //! Register metadata static void registerMetadata(); diff --git a/src/blackmisc/propertyindex.h b/src/blackmisc/propertyindex.h index e578324c6..49b29e601 100644 --- a/src/blackmisc/propertyindex.h +++ b/src/blackmisc/propertyindex.h @@ -111,7 +111,7 @@ namespace BlackMisc //! Register metadata static void registerMetadata(); - //! Members + //! JSON member names static const QStringList &jsonMembers(); protected: diff --git a/src/blackmisc/setaudio.h b/src/blackmisc/setaudio.h index eaab020fe..123e26e4a 100644 --- a/src/blackmisc/setaudio.h +++ b/src/blackmisc/setaudio.h @@ -75,7 +75,7 @@ namespace BlackMisc //! \copydoc CValueObject::registerMetadata static void registerMetadata(); - //! \copydoc TupleConverter<>::jsonMembers() + //! JSON member names static const QStringList &jsonMembers(); protected: diff --git a/src/blackmisc/setkeyboardhotkey.h b/src/blackmisc/setkeyboardhotkey.h index 5ca99fd2a..0bbf785c0 100644 --- a/src/blackmisc/setkeyboardhotkey.h +++ b/src/blackmisc/setkeyboardhotkey.h @@ -65,7 +65,7 @@ namespace BlackMisc virtual QJsonObject toJson() const override; //! \copydoc CValueObject::convertFromJson - void convertFromJson(const QJsonObject &json) override; + virtual void convertFromJson(const QJsonObject &json) override; //! Register metadata static void registerMetadata(); diff --git a/src/blackmisc/setnetwork.h b/src/blackmisc/setnetwork.h index 11fd61b33..00de1bfce 100644 --- a/src/blackmisc/setnetwork.h +++ b/src/blackmisc/setnetwork.h @@ -111,7 +111,7 @@ namespace BlackMisc //! \copydoc CValueObject::registerMetadata static void registerMetadata(); - //! \copydoc TupleConverter<>::jsonMembers() + //! JSON member names static const QStringList &jsonMembers(); protected: diff --git a/src/blackmisc/statusmessage.cpp b/src/blackmisc/statusmessage.cpp index a76153994..464f3e56a 100644 --- a/src/blackmisc/statusmessage.cpp +++ b/src/blackmisc/statusmessage.cpp @@ -121,6 +121,30 @@ namespace BlackMisc } } + /* + * To JSON + */ + QJsonObject CStatusMessage::toJson() const + { + return BlackMisc::serializeJson(CStatusMessage::jsonMembers(), TupleConverter::toTuple(*this)); + } + + /* + * From JSON + */ + void CStatusMessage::convertFromJson(const QJsonObject &json) + { + BlackMisc::deserializeJson(json, CStatusMessage::jsonMembers(), TupleConverter::toTuple(*this)); + } + + /* + * Members + */ + const QStringList &CStatusMessage::jsonMembers() + { + return TupleConverter::jsonMembers(); + } + /* * Type */ @@ -257,7 +281,7 @@ namespace BlackMisc } /* - * Equal + * Unequal */ bool CStatusMessage::operator !=(const CStatusMessage &other) const { diff --git a/src/blackmisc/statusmessage.h b/src/blackmisc/statusmessage.h index 6ef7146dd..d1622d21e 100644 --- a/src/blackmisc/statusmessage.h +++ b/src/blackmisc/statusmessage.h @@ -102,6 +102,12 @@ namespace BlackMisc //! Type as string const QString &getSeverityAsString() const; + //! \copydoc CValueObject::toJson + virtual QJsonObject toJson() const override; + + //! \copydoc CValueObject::convertFromJson + virtual void convertFromJson(const QJsonObject &json) override; + //! \copydoc CValueObject::propertyByIndex(int) virtual QVariant propertyByIndex(const BlackMisc::CPropertyIndex &index) const override; @@ -120,6 +126,9 @@ namespace BlackMisc //! Register metadata static void registerMetadata(); + //! JSON member names + static const QStringList &jsonMembers(); + //! Validation error static CStatusMessage getValidationError(const QString &message); diff --git a/src/blackmisc/voiceroom.h b/src/blackmisc/voiceroom.h index e87986009..d5838d99b 100644 --- a/src/blackmisc/voiceroom.h +++ b/src/blackmisc/voiceroom.h @@ -106,7 +106,7 @@ namespace BlackMisc virtual void setPropertyByIndex(const QVariant &variant, const BlackMisc::CPropertyIndex &index) override; //! \copydoc CValueObject::convertFromJson - void convertFromJson(const QJsonObject &json) override; + virtual void convertFromJson(const QJsonObject &json) override; //! \copydoc CValueObject::toQVariant virtual QVariant toQVariant() const override { return QVariant::fromValue(*this); } @@ -117,7 +117,7 @@ namespace BlackMisc //! Register metadata static void registerMetadata(); - //! \copydoc TupleConverter<>::jsonMembers() + //! JSON member names static const QStringList &jsonMembers(); //! Protocol prefix "vvl" diff --git a/src/blacksim/fscommon/aircraftcfgentries.h b/src/blacksim/fscommon/aircraftcfgentries.h index 84dc02fa7..55c03f90b 100644 --- a/src/blacksim/fscommon/aircraftcfgentries.h +++ b/src/blacksim/fscommon/aircraftcfgentries.h @@ -123,7 +123,7 @@ namespace BlackSim //! Register the metatypes static void registerMetadata(); - //! Members + //! JSON member names static const QStringList &jsonMembers(); protected: diff --git a/src/blacksim/fscommon/aircraftmapping.h b/src/blacksim/fscommon/aircraftmapping.h index 5549b6dc5..ad1548e62 100644 --- a/src/blacksim/fscommon/aircraftmapping.h +++ b/src/blacksim/fscommon/aircraftmapping.h @@ -215,7 +215,7 @@ namespace BlackSim //! Register metadata static void registerMetadata(); - //! Members + //! JSON member names static const QStringList &jsonMembers(); }; } // namespace diff --git a/src/blacksim/setsimulator.h b/src/blacksim/setsimulator.h index 2af492987..07ebc44e4 100644 --- a/src/blacksim/setsimulator.h +++ b/src/blacksim/setsimulator.h @@ -101,7 +101,7 @@ namespace BlackSim //! \copydoc CValueObject::registerMetadata static void registerMetadata(); - //! \copydoc TupleConverter<>::jsonMembers() + //! JSON member names static const QStringList &jsonMembers(); protected: diff --git a/src/blacksim/simulatorinfo.h b/src/blacksim/simulatorinfo.h index 260b6b28e..1fb7f8b9e 100644 --- a/src/blacksim/simulatorinfo.h +++ b/src/blacksim/simulatorinfo.h @@ -58,7 +58,7 @@ namespace BlackSim //! \copydoc CValueObject::convertFromJson virtual void convertFromJson(const QJsonObject &json) override; - //! Members + //! JSON member names static const QStringList &jsonMembers(); //! Register the metatypes