mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-14 00:25:35 +08:00
* added functions to callsign / callsign list * used in aircraft matcher * also resolve std.livery in matcher * also allow to find aircraft ICAO designator ending with string (e.g. 737 for B737) * renamed CAircraftMatcher::reverseLookup -> CAircraftMatcher::reverselLookupModel * threadsafe isInRange (CAIrspaceMonitor)
This commit is contained in:
@@ -119,12 +119,23 @@ namespace BlackMisc
|
||||
return icaoPattern;
|
||||
}
|
||||
|
||||
CAirlineIcaoCode CAirlineIcaoCodeList::findBestMatchByCallsign(const CCallsign &callsign) const
|
||||
{
|
||||
if (this->isEmpty() || callsign.isEmpty()) { return CAirlineIcaoCode(); }
|
||||
const QString airline = callsign.getAirlineSuffix().toUpper();
|
||||
if (airline.isEmpty()) { return CAirlineIcaoCode(); }
|
||||
const CAirlineIcaoCode airlineCode = (airline.length() == 3) ?
|
||||
this->findFirstByOrDefault(&CAirlineIcaoCode::getDesignator, airline) :
|
||||
this->findFirstByOrDefault(&CAirlineIcaoCode::getVDesignator, airline);
|
||||
return airlineCode;
|
||||
}
|
||||
|
||||
CAirlineIcaoCodeList CAirlineIcaoCodeList::fromDatabaseJson(const QJsonArray &array, bool ignoreIncomplete)
|
||||
{
|
||||
CAirlineIcaoCodeList codes;
|
||||
for (const QJsonValue &value : array)
|
||||
{
|
||||
CAirlineIcaoCode icao(CAirlineIcaoCode::fromDatabaseJson(value.toObject()));
|
||||
const CAirlineIcaoCode icao(CAirlineIcaoCode::fromDatabaseJson(value.toObject()));
|
||||
if (ignoreIncomplete && !icao.hasCompleteData()) { continue; }
|
||||
codes.push_back(icao);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user