From b6a59decc7d9b95f6b0256e23f08ee04f569bedb Mon Sep 17 00:00:00 2001 From: Klaus Basan Date: Fri, 18 Nov 2016 21:49:25 +0100 Subject: [PATCH] refs #811, get count in readers/services --- src/blackcore/db/airportdatareader.cpp | 5 +++++ src/blackcore/db/airportdatareader.h | 4 ++++ src/blackcore/webdataservices.cpp | 6 ++++++ src/blackcore/webdataservices.h | 4 ++++ 4 files changed, 19 insertions(+) diff --git a/src/blackcore/db/airportdatareader.cpp b/src/blackcore/db/airportdatareader.cpp index e74e3028a..eadd66b66 100644 --- a/src/blackcore/db/airportdatareader.cpp +++ b/src/blackcore/db/airportdatareader.cpp @@ -32,6 +32,11 @@ namespace BlackCore return m_airportCache.get(); } + int CAirportDataReader::getAirportsCount() const + { + return this->getAirports().size(); + } + QDateTime CAirportDataReader::getCacheTimestamp(CEntityFlags::Entity entities) const { return entities == CEntityFlags::AirportEntity ? m_airportCache.getAvailableTimestamp() : QDateTime(); diff --git a/src/blackcore/db/airportdatareader.h b/src/blackcore/db/airportdatareader.h index 8205658b0..bc57dbb9a 100644 --- a/src/blackcore/db/airportdatareader.h +++ b/src/blackcore/db/airportdatareader.h @@ -38,6 +38,10 @@ namespace BlackCore //! \threadsafe BlackMisc::Aviation::CAirportList getAirports() const; + //! Returns a list of all airports in the database. + //! \threadsafe + int getAirportsCount() const; + // base class overrides virtual QDateTime getCacheTimestamp(BlackMisc::Network::CEntityFlags::Entity entities) const override; virtual int getCacheCount(BlackMisc::Network::CEntityFlags::Entity entity) const override; diff --git a/src/blackcore/webdataservices.cpp b/src/blackcore/webdataservices.cpp index 7a742d2e0..6b9ccc1d2 100644 --- a/src/blackcore/webdataservices.cpp +++ b/src/blackcore/webdataservices.cpp @@ -571,6 +571,12 @@ namespace BlackCore return CAirportList(); } + int CWebDataServices::getAirportsCount() const + { + if (m_airportDataReader) { return m_airportDataReader->getAirportsCount(); } + return 0; + } + CCountry CWebDataServices::getCountryForIsoCode(const QString &iso) const { if (m_icaoDataReader) { return m_icaoDataReader->getCountryForIsoCode(iso); } diff --git a/src/blackcore/webdataservices.h b/src/blackcore/webdataservices.h index 9413f9d72..70c592feb 100644 --- a/src/blackcore/webdataservices.h +++ b/src/blackcore/webdataservices.h @@ -291,6 +291,10 @@ namespace BlackCore //! \\threadsafe BlackMisc::Aviation::CAirportList getAirports() const; + //! Get airports count + //! \\threadsafe + int getAirportsCount() const; + //! Get METARs //! \threadsafe BlackMisc::Weather::CMetarList getMetars() const;