diff --git a/src/blackcore/vatsim/vatsimbookingreader.cpp b/src/blackcore/vatsim/vatsimbookingreader.cpp index 83a42cc8b..6e9ad41d6 100644 --- a/src/blackcore/vatsim/vatsimbookingreader.cpp +++ b/src/blackcore/vatsim/vatsimbookingreader.cpp @@ -45,7 +45,7 @@ namespace BlackCore CVatsimBookingReader::CVatsimBookingReader(QObject *owner) : CThreadedReader(owner, "CVatsimBookingReader") { - reloadSettings(); + settingsChanged(); } void CVatsimBookingReader::readInBackgroundThread() @@ -90,7 +90,7 @@ namespace BlackCore this->threadAssertCheck(); // Worker thread, make sure to write no members here od do it threadsafe - if (this->isAbandoned()) + if (this->isShuttingDown()) { CLogMessage(this).debug() << Q_FUNC_INFO; CLogMessage(this).info("Terminated booking parsing process"); @@ -107,8 +107,8 @@ namespace BlackCore QDateTime updateTimestamp = QDateTime::currentDateTimeUtc(); // default if (doc.setContent(xmlData)) { - QDomNode timestamp = doc.elementsByTagName("timestamp").at(0); - QString ts = timestamp.toElement().text().trimmed(); + const QDomNode timestamp = doc.elementsByTagName("timestamp").at(0); + const QString ts = timestamp.toElement().text().trimmed(); Q_ASSERT(!ts.isEmpty()); if (!ts.isEmpty()) @@ -124,6 +124,7 @@ namespace BlackCore if (!changed) { CLogMessage(this).info("Read bookings unchanged, skipped"); + emit this->atcBookingsReadUnchanged(); return; // stop, terminate straight away, ending thread } } @@ -201,11 +202,10 @@ namespace BlackCore } } // method - void CVatsimBookingReader::reloadSettings() + void CVatsimBookingReader::settingsChanged() { CReaderSettings s = m_settings.get(); setInitialAndPeriodicTime(s.getInitialTime().toMs(), s.getPeriodicTime().toMs()); } - } // ns } // ns diff --git a/src/blackcore/vatsim/vatsimbookingreader.h b/src/blackcore/vatsim/vatsimbookingreader.h index 573e50fa2..de7c365a2 100644 --- a/src/blackcore/vatsim/vatsimbookingreader.h +++ b/src/blackcore/vatsim/vatsimbookingreader.h @@ -41,6 +41,9 @@ namespace BlackCore //! Bookings have been read and converted to BlackMisc::Aviation::CAtcStationList void atcBookingsRead(const BlackMisc::Aviation::CAtcStationList &bookedStations); + //! Bookings have been re-read but did not change + void atcBookingsReadUnchanged(); + //! Data have been read void dataRead(BlackMisc::Network::CEntityFlags::Entity entity, BlackMisc::Network::CEntityFlags::ReadState state, int number); @@ -60,9 +63,10 @@ namespace BlackCore void ps_read(); private: - void reloadSettings(); + //! Settings changed + void settingsChanged(); - BlackMisc::CSettingReadOnly m_settings { this, &CVatsimBookingReader::reloadSettings }; + BlackMisc::CSettingReadOnly m_settings { this, &CVatsimBookingReader::settingsChanged }; }; } // ns } // ns