Ref T472, support for aircraft category flag

This commit is contained in:
Klaus Basan
2019-01-31 23:59:32 +01:00
committed by Mat Sutcliffe
parent bada0c2f59
commit 210df12889
5 changed files with 54 additions and 48 deletions

View File

@@ -16,7 +16,8 @@ namespace BlackCore
CWebReaderFlags::WebReader CWebReaderFlags::entitiesToReaders(CEntityFlags::Entity entities)
{
WebReader f = None;
if (entities.testFlag(CEntityFlags::AircraftIcaoEntity) || entities.testFlag(CEntityFlags::AirlineIcaoEntity) || entities.testFlag(CEntityFlags::CountryEntity))
if (entities.testFlag(CEntityFlags::AircraftIcaoEntity) || entities.testFlag(CEntityFlags::AirlineIcaoEntity) ||
entities.testFlag(CEntityFlags::CountryEntity) || entities.testFlag(CEntityFlags::AircraftCategoryEntity))
{
f |= IcaoDataReader;
}
@@ -32,10 +33,10 @@ namespace BlackCore
}
if (entities.testFlag(CEntityFlags::DbInfoObjectEntity)) { f |= DbInfoDataReader; }
if (entities.testFlag(CEntityFlags::BookingEntity)) { f |= VatsimBookingReader; }
if (entities.testFlag(CEntityFlags::VatsimDataFile)) { f |= VatsimDataReader; }
if (entities.testFlag(CEntityFlags::VatsimStatusFile)) { f |= VatsimStatusReader; }
if (entities.testFlag(CEntityFlags::MetarEntity)) { f |= VatsimMetarReader; }
if (entities.testFlag(CEntityFlags::BookingEntity)) { f |= VatsimBookingReader; }
if (entities.testFlag(CEntityFlags::VatsimDataFile)) { f |= VatsimDataReader; }
if (entities.testFlag(CEntityFlags::VatsimStatusFile)) { f |= VatsimStatusReader; }
if (entities.testFlag(CEntityFlags::MetarEntity)) { f |= VatsimMetarReader; }
return f;
}
@@ -48,14 +49,14 @@ namespace BlackCore
CEntityFlags::Entity CWebReaderFlags::allEntitiesForReaders(WebReader readers)
{
CEntityFlags::Entity entities = CEntityFlags::NoEntity;
if (readers.testFlag(IcaoDataReader)) { entities |= CEntityFlags::AllIcaoAndCountries; }
if (readers.testFlag(ModelReader)) { entities |= CEntityFlags::DistributorLiveryModel; }
if (readers.testFlag(AirportReader)) { entities |= CEntityFlags::AirportEntity; }
if (readers.testFlag(DbInfoDataReader)) { entities |= CEntityFlags::DbInfoObjectEntity; }
if (readers.testFlag(IcaoDataReader)) { entities |= CEntityFlags::AllIcaoAndCountries; }
if (readers.testFlag(ModelReader)) { entities |= CEntityFlags::DistributorLiveryModel; }
if (readers.testFlag(AirportReader)) { entities |= CEntityFlags::AirportEntity; }
if (readers.testFlag(DbInfoDataReader)) { entities |= CEntityFlags::DbInfoObjectEntity; }
if (readers.testFlag(VatsimBookingReader)) { entities |= CEntityFlags::BookingEntity; }
if (readers.testFlag(VatsimMetarReader)) { entities |= CEntityFlags::MetarEntity; }
if (readers.testFlag(VatsimDataReader)) { entities |= CEntityFlags::VatsimDataFile; }
if (readers.testFlag(VatsimStatusReader)) { entities |= CEntityFlags::VatsimStatusFile; }
if (readers.testFlag(VatsimMetarReader)) { entities |= CEntityFlags::MetarEntity; }
if (readers.testFlag(VatsimDataReader)) { entities |= CEntityFlags::VatsimDataFile; }
if (readers.testFlag(VatsimStatusReader)) { entities |= CEntityFlags::VatsimStatusFile; }
return entities;
}
@@ -76,9 +77,9 @@ namespace BlackCore
int CWebReaderFlags::numberOfReaders(WebReader readers)
{
int n = 0;
if (readers.testFlag(ModelReader)) { n++; }
if (readers.testFlag(IcaoDataReader)) { n++; }
if (readers.testFlag(AirportReader)) { n++; }
if (readers.testFlag(ModelReader)) { n++; }
if (readers.testFlag(IcaoDataReader)) { n++; }
if (readers.testFlag(AirportReader)) { n++; }
if (readers.testFlag(DbInfoDataReader)) { n++; }
return n;
}

View File

@@ -159,7 +159,7 @@ namespace BlackGui
void CDataInfoAreaComponent::requestUpdateOfAllDbData()
{
sGui->getWebDataServices()->triggerLoadingDirectlyFromDb(CEntityFlags::AllDbEntitiesNoInfoObjectsNoAirports, QDateTime());
sGui->getWebDataServices()->triggerLoadingDirectlyFromDb(CEntityFlags::AllDbEntitiesNoInfoObjectsNoAirportsAndCategories, QDateTime());
}
void CDataInfoAreaComponent::requestUpdatedData(CEntityFlags::Entity entity)

View File

@@ -142,7 +142,7 @@ namespace BlackMisc
const QStringList &CDbInfo::sharedFileNames()
{
static const QStringList names({"aircrafticao.json", "airlineicao.json", "airports.json", "countries.json", "distributors.json", "liveries.json", "models.json" });
static const QStringList names({"aircrafticao.json", "airlineicao.json", "airports.json", "countries.json", "distributors.json", "liveries.json", "models.json", "aircraftcategory.json" });
return names;
}
@@ -154,7 +154,7 @@ namespace BlackMisc
const QStringList &CDbInfo::serviceNames()
{
static const QStringList names({"jsonaircrafticao.php", "jsonairlineicao.php", "jsonairport.php", "jsoncountry.php", "jsondistributor.php", "jsonlivery.php", "jsonaircraftmodel.php" });
static const QStringList names({"jsonaircrafticao.php", "jsonairlineicao.php", "jsonairport.php", "jsoncountry.php", "jsondistributor.php", "jsonlivery.php", "jsonaircraftmodel.php", "jsonaircraftcategory.php" });
return names;
}
@@ -163,15 +163,15 @@ namespace BlackMisc
static const QString empty;
switch (entity)
{
case CEntityFlags::AircraftIcaoEntity: return sharedFileNames().at(0);
case CEntityFlags::AirlineIcaoEntity: return sharedFileNames().at(1);
case CEntityFlags::AirportEntity: return sharedFileNames().at(2);
case CEntityFlags::CountryEntity: return sharedFileNames().at(3);
case CEntityFlags::DistributorEntity: return sharedFileNames().at(4);
case CEntityFlags::LiveryEntity: return sharedFileNames().at(5);
case CEntityFlags::ModelEntity: return sharedFileNames().at(6);
default:
break;
case CEntityFlags::AircraftIcaoEntity: return sharedFileNames().at(0);
case CEntityFlags::AirlineIcaoEntity: return sharedFileNames().at(1);
case CEntityFlags::AirportEntity: return sharedFileNames().at(2);
case CEntityFlags::CountryEntity: return sharedFileNames().at(3);
case CEntityFlags::DistributorEntity: return sharedFileNames().at(4);
case CEntityFlags::LiveryEntity: return sharedFileNames().at(5);
case CEntityFlags::ModelEntity: return sharedFileNames().at(6);
case CEntityFlags::AircraftCategoryEntity: return sharedFileNames().at(7);
default: break;
}
return empty;
}
@@ -182,14 +182,14 @@ namespace BlackMisc
switch (entity)
{
case CEntityFlags::AircraftIcaoEntity: return serviceNames().at(0);
case CEntityFlags::AirlineIcaoEntity: return serviceNames().at(1);
case CEntityFlags::AirportEntity: return serviceNames().at(2);
case CEntityFlags::CountryEntity: return serviceNames().at(3);
case CEntityFlags::DistributorEntity: return serviceNames().at(4);
case CEntityFlags::LiveryEntity: return serviceNames().at(5);
case CEntityFlags::ModelEntity: return serviceNames().at(6);
default:
break;
case CEntityFlags::AirlineIcaoEntity: return serviceNames().at(1);
case CEntityFlags::AirportEntity: return serviceNames().at(2);
case CEntityFlags::CountryEntity: return serviceNames().at(3);
case CEntityFlags::DistributorEntity: return serviceNames().at(4);
case CEntityFlags::LiveryEntity: return serviceNames().at(5);
case CEntityFlags::ModelEntity: return serviceNames().at(6);
case CEntityFlags::AircraftCategoryEntity: return serviceNames().at(7);
default: break;
}
return empty;
}

View File

@@ -23,6 +23,7 @@ namespace BlackMisc
switch (flag)
{
case AircraftIcaoEntity: return QStringLiteral("Aircraft ICAO");
case AircraftCategoryEntity: return QStringLiteral("Aircraft category");
case AirlineIcaoEntity: return QStringLiteral("Airline ICAO");
case AirportEntity: return QStringLiteral("Airport");
case AllEntities: return QStringLiteral("All");
@@ -53,6 +54,7 @@ namespace BlackMisc
{
QStringList list;
if (entities.testFlag(AircraftIcaoEntity)) list << QStringLiteral("Aircraft ICAO");
if (entities.testFlag(AircraftCategoryEntity)) list << QStringLiteral("Aircraft category");
if (entities.testFlag(AirlineIcaoEntity)) list << QStringLiteral("Airline ICAO");
if (entities.testFlag(AirportEntity)) list << QStringLiteral("Airport");
if (entities.testFlag(BookingEntity)) list << QStringLiteral("VATSIM bookings");
@@ -155,6 +157,7 @@ namespace BlackMisc
if (entities.testFlag(CountryEntity)) { entities &= ~CountryEntity; return CountryEntity; }
if (entities.testFlag(ModelEntity)) { entities &= ~ModelEntity; return ModelEntity; }
if (entities.testFlag(DistributorEntity)) { entities &= ~DistributorEntity; return DistributorEntity; }
if (entities.testFlag(AircraftCategoryEntity)) { entities &= ~AircraftCategoryEntity; return AircraftCategoryEntity; }
return NoEntity;
}
@@ -180,13 +183,14 @@ namespace BlackMisc
CEntityFlags::Entity CEntityFlags::singleEntityByName(const QString &name)
{
// order here is crucial
if (name.contains("model", Qt::CaseInsensitive)) { return ModelEntity; }
if (name.contains("model", Qt::CaseInsensitive)) { return ModelEntity; }
if (name.contains("category", Qt::CaseInsensitive)) { return AircraftCategoryEntity; }
if (name.contains("aircraft", Qt::CaseInsensitive)) { return AircraftIcaoEntity; }
if (name.contains("airline", Qt::CaseInsensitive)) { return AirlineIcaoEntity; }
if (name.contains("airport", Qt::CaseInsensitive)) { return AirportEntity; }
if (name.contains("airline", Qt::CaseInsensitive)) { return AirlineIcaoEntity; }
if (name.contains("airport", Qt::CaseInsensitive)) { return AirportEntity; }
if (name.contains("distributor", Qt::CaseInsensitive)) { return DistributorEntity; }
if (name.contains("countr", Qt::CaseInsensitive)) { return CountryEntity; } // singular/plural
if (name.contains("liver", Qt::CaseInsensitive)) { return LiveryEntity; } // singular/plural
if (name.contains("countr", Qt::CaseInsensitive)) { return CountryEntity; } // singular/plural
if (name.contains("liver", Qt::CaseInsensitive)) { return LiveryEntity; } // singular/plural
return NoEntity;
}

View File

@@ -46,14 +46,15 @@ namespace BlackMisc
VatsimDataFile = 1 << 10, //!< the VATSIM data file (multiple data entities)
VatsimStatusFile = 1 << 11, //!< the VATSIM status file (URLs for data files etc.)
AirportEntity = 1 << 12, //!< airports
AllEntities = ((1 << 13) - 1), //!< everything
AllIcaoEntities = AircraftIcaoEntity | AirlineIcaoEntity, //!< all ICAO codes
AllIcaoAndCountries = AircraftIcaoEntity | AirlineIcaoEntity | CountryEntity, //!< all ICAO codes and countries
DistributorLiveryModel = DistributorEntity | LiveryEntity | ModelEntity, //!< Combinded
ModelMatchingEntities = AllIcaoEntities | LiveryEntity | ModelEntity, //!< all needed for model matching
AllDbEntities = AllIcaoAndCountries | DistributorLiveryModel | DbInfoObjectEntity | AirportEntity, //!< All DB stuff
AllDbEntitiesNoInfoObjects = AllIcaoAndCountries | DistributorLiveryModel | AirportEntity, //!< All DB entities, no info objects
AllDbEntitiesNoInfoObjectsNoAirports = AllIcaoAndCountries | DistributorLiveryModel //!< All DB entities, no info objects and airports
AircraftCategoryEntity = 1 << 13, //!< aircraft category entities
AllEntities = ((1 << 14) - 1), //!< everything
AllIcaoEntities = AircraftIcaoEntity | AirlineIcaoEntity, //!< all ICAO codes
AllIcaoAndCountries = AircraftIcaoEntity | AirlineIcaoEntity | CountryEntity, //!< all ICAO codes and countries
DistributorLiveryModel = DistributorEntity | LiveryEntity | ModelEntity, //!< Combined
ModelMatchingEntities = AllIcaoEntities | LiveryEntity | ModelEntity, //!< all needed for model matching
AllDbEntitiesNoInfoObjects = AllIcaoAndCountries | DistributorLiveryModel | AirportEntity | AircraftCategoryEntity, //!< all DB entities, no info objects
AllDbEntities = AllDbEntitiesNoInfoObjects | DbInfoObjectEntity, //!< all DB stuff
AllDbEntitiesNoInfoObjectsNoAirportsAndCategories = AllIcaoAndCountries | DistributorLiveryModel //!< all DB entities, no info objects and airports
};
Q_DECLARE_FLAGS(Entity, EntityFlag)