Ref T242, utility functions for improved matching

This commit is contained in:
Klaus Basan
2018-02-05 01:48:47 +01:00
parent 14fb35a975
commit 84ea7faaca
2 changed files with 21 additions and 6 deletions

View File

@@ -10,6 +10,7 @@
#include "blackmisc/simulation/aircraftmodellist.h"
#include "blackmisc/simulation/matchingutils.h"
#include "blackmisc/aviation/aircrafticaocode.h"
#include "blackmisc/aviation/airlineicaocode.h"
#include "blackmisc/aviation/callsign.h"
#include "blackmisc/aviation/livery.h"
#include "blackmisc/compare.h"
@@ -697,6 +698,18 @@ namespace BlackMisc
return designators;
}
QSet<QString> CAircraftModelList::getAircraftDesignatorsForAirline(const CAirlineIcaoCode &airlineCode) const
{
QSet<QString> designators;
if (!airlineCode.hasValidDesignator()) { return designators; }
for (const CAircraftModel &model : *this)
{
if (model.getAirlineIcaoCode() != airlineCode) { continue; }
designators.insert(model.getAircraftIcaoCodeDesignator());
}
return designators;
}
QSet<QString> CAircraftModelList::getAirlineDesignators() const
{
QSet<QString> designators;

View File

@@ -12,16 +12,14 @@
#ifndef BLACKMISC_SIMULATION_AIRCRAFTMODELLIST_H
#define BLACKMISC_SIMULATION_AIRCRAFTMODELLIST_H
#include "blackmisc/aviation/airlineicaocode.h"
#include "blackmisc/simulation/aircraftmodel.h"
#include "blackmisc/simulation/distributorlist.h"
#include "blackmisc/simulation/simulatorinfo.h"
#include "blackmisc/blackmiscexport.h"
#include "blackmisc/collection.h"
#include "blackmisc/db/datastoreobjectlist.h"
#include "blackmisc/orderablelist.h"
#include "blackmisc/sequence.h"
#include "blackmisc/simulation/aircraftmodel.h"
#include "blackmisc/simulation/distributor.h"
#include "blackmisc/simulation/distributorlist.h"
#include "blackmisc/simulation/simulatorinfo.h"
#include "blackmisc/statusmessagelist.h"
#include "blackmisc/variant.h"
@@ -36,9 +34,9 @@ namespace BlackMisc
{
namespace Aviation
{
class CAircraftIcaoCode;
class CCallsign;
class CLivery;
class CAirlineIcao;
}
namespace Simulation
@@ -267,6 +265,10 @@ namespace BlackMisc
//! Aircraft designators
QSet<QString> getAircraftDesignators() const;
//! Aircraft designators for airline
//! \remark gives all aircraft flown by an airline
QSet<QString> getAircraftDesignatorsForAirline(const Aviation::CAirlineIcaoCode &airlineCode) const;
//! Airline designators
QSet<QString> getAirlineDesignators() const;