Ref T705, utility functions for NON DB models

This commit is contained in:
Klaus Basan
2019-07-20 14:19:10 +02:00
committed by Mat Sutcliffe
parent c97bb2288c
commit d5a4e3d70d
2 changed files with 54 additions and 0 deletions

View File

@@ -480,6 +480,49 @@ namespace BlackMisc
});
}
CAircraftModelList CAircraftModelList::findWithValidDbKey() const
{
return this->findBy([](const CAircraftModel & model)
{
return model.hasValidDbKey();
});
}
CAircraftModelList CAircraftModelList::findWithoutValidDbKey() const
{
return this->findBy([](const CAircraftModel & model)
{
return !model.hasValidDbKey();
});
}
CAircraftModelList CAircraftModelList::findNonDbModelsForAirline(const QString &airline) const
{
const CAircraftModelList noDb = this->findWithoutValidDbKey();
return noDb.findBy([&](const CAircraftModel & model)
{
return model.getAirlineIcaoCode().matchesDesignator(airline);
});
}
CAircraftModelList CAircraftModelList::findNonDbModelsForAircraft(const QString &airline) const
{
const CAircraftModelList noDb = this->findWithoutValidDbKey();
return noDb.findBy([&](const CAircraftModel & model)
{
return model.getAircraftIcaoCode().matchesDesignator(airline);
});
}
CAircraftModelList CAircraftModelList::findNonDbModelsForModelString(const QString &modelString) const
{
const CAircraftModelList noDb = this->findWithoutValidDbKey();
return noDb.findBy([&](const CAircraftModel & model)
{
return model.matchesModelString(modelString, Qt::CaseInsensitive);
});
}
CAircraftModelList CAircraftModelList::getAllIncludedModels() const
{
return this->findBy([](const CAircraftModel & model)

View File

@@ -263,6 +263,17 @@ namespace BlackMisc
//! All models NOT of the FS (FSX, P3D, FS9) family
CAircraftModelList findNonFsFamilyModels() const;
//! With/without DB key @{
CAircraftModelList findWithValidDbKey() const;
CAircraftModelList findWithoutValidDbKey() const;
//! @}
//! Some finders for NON DB models, mostly for matching script results @{
CAircraftModelList findNonDbModelsForAirline(const QString &airline) const;
CAircraftModelList findNonDbModelsForAircraft(const QString &airline) const;
CAircraftModelList findNonDbModelsForModelString(const QString &modelString) const;
//! @}
//! All included models
CAircraftModelList getAllIncludedModels() const;