mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-04 00:16:51 +08:00
Ref T472, support for aircraft category flag
This commit is contained in:
committed by
Mat Sutcliffe
parent
bada0c2f59
commit
210df12889
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user