diff --git a/src/blackmisc/simulation/settings/xswiftbussettings.cpp b/src/blackmisc/simulation/settings/xswiftbussettings.cpp index 3b3939c08..40af310bd 100644 --- a/src/blackmisc/simulation/settings/xswiftbussettings.cpp +++ b/src/blackmisc/simulation/settings/xswiftbussettings.cpp @@ -85,6 +85,11 @@ namespace BlackMisc static const CXSwiftBusSettings s; return s; } + + void CXSwiftBusSettings::jsonParsed() + { + m_timestampMSecsSinceEpoch = m_msSinceEpochQtFree; + } } // ns } // ns } // ns diff --git a/src/blackmisc/simulation/settings/xswiftbussettings.h b/src/blackmisc/simulation/settings/xswiftbussettings.h index 73915c99a..2f55f37fe 100644 --- a/src/blackmisc/simulation/settings/xswiftbussettings.h +++ b/src/blackmisc/simulation/settings/xswiftbussettings.h @@ -79,6 +79,10 @@ namespace BlackMisc //! Default value for settings static const CXSwiftBusSettings &defaultValue(); + protected: + //! \copydoc CXSwiftBusSettingsQtFree::jsonParsed + virtual void jsonParsed() override; + private: BLACK_METACLASS( CXSwiftBusSettings, diff --git a/src/blackmisc/simulation/settings/xswiftbussettingsqtfree.cpp b/src/blackmisc/simulation/settings/xswiftbussettingsqtfree.cpp index 2e2d7e550..fc22dcf46 100644 --- a/src/blackmisc/simulation/settings/xswiftbussettingsqtfree.cpp +++ b/src/blackmisc/simulation/settings/xswiftbussettingsqtfree.cpp @@ -72,6 +72,7 @@ namespace BlackMisc { m_msSinceEpochQtFree = settingsDoc[CXSwiftBusSettingsQtFree::JsonTimestamp].GetInt64(); c++; } + this->jsonParsed(); // post processing return c == 6; } @@ -120,6 +121,11 @@ namespace BlackMisc const milliseconds ms = duration_cast(system_clock::now().time_since_epoch()); m_msSinceEpochQtFree = static_cast(ms.count()); } + + void CXSwiftBusSettingsQtFree::jsonParsed() + { + // void + } } // ns } // ns } // ns diff --git a/src/blackmisc/simulation/settings/xswiftbussettingsqtfree.h b/src/blackmisc/simulation/settings/xswiftbussettingsqtfree.h index a2b321fdd..6f2926502 100644 --- a/src/blackmisc/simulation/settings/xswiftbussettingsqtfree.h +++ b/src/blackmisc/simulation/settings/xswiftbussettingsqtfree.h @@ -82,6 +82,9 @@ namespace BlackMisc static constexpr char JsonFollowAircraftDistanceM[] = "followAircraftDistance"; //! @} + //! Pasing completed + virtual void jsonParsed(); + std::string m_dBusServerAddress { "tcp:host=127.0.0.1,port=45001" }; //!< DBus server int m_maxPlanes = 100; //!< max. planes in XPlane int m_followAircraftDistanceM = 200; //!< follow aircraft in distance diff --git a/tests/blackmisc/simulation/testxplane/testxplane.cpp b/tests/blackmisc/simulation/testxplane/testxplane.cpp index edc196ef6..d04077235 100644 --- a/tests/blackmisc/simulation/testxplane/testxplane.cpp +++ b/tests/blackmisc/simulation/testxplane/testxplane.cpp @@ -107,6 +107,8 @@ namespace BlackMiscTest s.setMaxPlanes(33); s.setMaxDrawDistanceNM(11.11); s.setDrawingLabels(false); + s.setFollowAircraftDistanceM(123); + s.setCurrentUtcTime(); QString json = s.toXSwiftBusJsonStringQt(); qDebug() << json; @@ -117,6 +119,8 @@ namespace BlackMiscTest QCOMPARE(s.getMaxPlanes(), s2.getMaxPlanes()); QCOMPARE(s.isDrawingLabels(), s2.isDrawingLabels()); QCOMPARE(s.getDBusServerAddressQt(), s2.getDBusServerAddressQt()); + QCOMPARE(s.getFollowAircraftDistanceM(), s2.getFollowAircraftDistanceM()); + QCOMPARE(s.getMSecsSinceEpoch(), s2.getMSecsSinceEpoch()); s.setDBusServerAddressQt(CDBusServer::sessionBusAddress()); json = s.toXSwiftBusJsonStringQt();