From 716cd67a2cde70ad3a3cec679230749d88115344 Mon Sep 17 00:00:00 2001 From: Klaus Basan Date: Sun, 3 Feb 2019 21:25:02 +0100 Subject: [PATCH] Ref T472, category support in web data reader --- src/blackcore/webdataservices.cpp | 16 ++++++++++++++-- src/blackcore/webdataservices.h | 8 ++++++++ src/blackcore/webreaderflags.cpp | 2 +- src/blackcore/webreaderflags.h | 4 ++-- 4 files changed, 25 insertions(+), 5 deletions(-) diff --git a/src/blackcore/webdataservices.cpp b/src/blackcore/webdataservices.cpp index d7b6043d5..6ece6b274 100644 --- a/src/blackcore/webdataservices.cpp +++ b/src/blackcore/webdataservices.cpp @@ -285,9 +285,9 @@ namespace BlackCore if (m_icaoDataReader) { - if (whatToRead.testFlag(CEntityFlags::AircraftIcaoEntity) || whatToRead.testFlag(CEntityFlags::AirlineIcaoEntity) || whatToRead.testFlag(CEntityFlags::CountryEntity)) + if (whatToRead.testFlag(CEntityFlags::AircraftIcaoEntity) || whatToRead.testFlag(CEntityFlags::AircraftCategoryEntity) || whatToRead.testFlag(CEntityFlags::AirlineIcaoEntity) || whatToRead.testFlag(CEntityFlags::CountryEntity)) { - CEntityFlags::Entity icaoEntities = whatToRead & CEntityFlags::AllIcaoAndCountries; + CEntityFlags::Entity icaoEntities = whatToRead & CEntityFlags::AllIcaoCountriesCategory; m_icaoDataReader->readInBackgroundThread(icaoEntities, newerThan); triggeredRead |= icaoEntities; } @@ -699,6 +699,18 @@ namespace BlackCore return CAircraftIcaoCodeList(); } + CAircraftCategoryList CWebDataServices::getAircraftCategories() const + { + if (m_icaoDataReader) { return m_icaoDataReader->getAircraftCategories(); } + return CAircraftCategoryList(); + } + + int CWebDataServices::getAircraftCategoriesCount() const + { + if (m_icaoDataReader) { return m_icaoDataReader->getAircraftCategoryCount(); } + return 0; + } + bool CWebDataServices::containsAircraftIcaoDesignator(const QString &designator) const { if (designator.isEmpty()) { return false; } diff --git a/src/blackcore/webdataservices.h b/src/blackcore/webdataservices.h index 5900ba95f..12113cf71 100644 --- a/src/blackcore/webdataservices.h +++ b/src/blackcore/webdataservices.h @@ -262,6 +262,14 @@ namespace BlackCore //! \threadsafe BlackMisc::Aviation::CAircraftIcaoCodeList getAircraftIcaoCodesForAirline(const BlackMisc::Aviation::CAirlineIcaoCode &airline) const; + //! Aircraft categories + //! \threadsafe + BlackMisc::Aviation::CAircraftCategoryList getAircraftCategories() const; + + //! Aircraft categories count + //! \threadsafe + int getAircraftCategoriesCount() const; + //! Contains the given designator? //! \threadsafe bool containsAircraftIcaoDesignator(const QString &designator) const; diff --git a/src/blackcore/webreaderflags.cpp b/src/blackcore/webreaderflags.cpp index a31ed8a69..71a913f61 100644 --- a/src/blackcore/webreaderflags.cpp +++ b/src/blackcore/webreaderflags.cpp @@ -49,7 +49,7 @@ namespace BlackCore CEntityFlags::Entity CWebReaderFlags::allEntitiesForReaders(WebReader readers) { CEntityFlags::Entity entities = CEntityFlags::NoEntity; - if (readers.testFlag(IcaoDataReader)) { entities |= CEntityFlags::AllIcaoAndCountries; } + if (readers.testFlag(IcaoDataReader)) { entities |= CEntityFlags::AllIcaoCountriesCategory; } if (readers.testFlag(ModelReader)) { entities |= CEntityFlags::DistributorLiveryModel; } if (readers.testFlag(AirportReader)) { entities |= CEntityFlags::AirportEntity; } if (readers.testFlag(DbInfoDataReader)) { entities |= CEntityFlags::DbInfoObjectEntity; } diff --git a/src/blackcore/webreaderflags.h b/src/blackcore/webreaderflags.h index 913d2bda6..ee90f2ce2 100644 --- a/src/blackcore/webreaderflags.h +++ b/src/blackcore/webreaderflags.h @@ -39,8 +39,8 @@ namespace BlackCore AirportReader = 1 << 6, //!< reader for airport list DbInfoDataReader = 1 << 7, //!< DB info data (metdata, how many data, when updated) AllVatsimReaders = VatsimBookingReader | VatsimDataReader | VatsimMetarReader | VatsimStatusReader, //!< all VATSIM readers - AllSwiftDbReaders = IcaoDataReader | ModelReader | DbInfoDataReader | AirportReader, //!< all swift data - AllReaders = AllSwiftDbReaders | AllVatsimReaders //!< everything + AllSwiftDbReaders = IcaoDataReader | ModelReader | DbInfoDataReader | AirportReader, //!< all swift data + AllReaders = AllSwiftDbReaders | AllVatsimReaders //!< everything }; Q_DECLARE_FLAGS(WebReader, WebReaderFlag)