Ref T472, category support in web data reader

This commit is contained in:
Klaus Basan
2019-02-03 21:25:02 +01:00
committed by Mat Sutcliffe
parent 13b9179472
commit 716cd67a2c
4 changed files with 25 additions and 5 deletions

View File

@@ -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; }

View File

@@ -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;

View File

@@ -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; }

View File

@@ -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)