Ref T129, some more utility functions for aviation value objects

* removed static variables from SELCAL
* more finder functions for airline ICAO list
* check for IATA code
* unify callsign now public
This commit is contained in:
Klaus Basan
2017-10-07 02:24:56 +02:00
committed by Mathew Sutcliffe
parent 686cb03170
commit 3fb2f88032
7 changed files with 56 additions and 16 deletions

View File

@@ -52,10 +52,16 @@ namespace BlackMisc
//! Find by v-designator, this should be unique
CAirlineIcaoCodeList findByVDesignator(const QString &designator) const;
//! Find by ICAO code if this is unique, otherwise return default object
CAirlineIcaoCode findByUniqueVDesignatorOrDefault(const QString &designator, bool preferOperatingAirlines) const;
//! Find by IATA code
//! Not unique because of virtual airlines
//! Not unique because of virtual airlines and ceased airlines
CAirlineIcaoCodeList findByIataCode(const QString &iata) const;
//! Find by IATA code if this is unique, otherwise return default object
CAirlineIcaoCode findByUniqueIataCodeOrDefault(const QString &iata) const;
//! Find by designator or IATA code
CAirlineIcaoCodeList findByDesignatorOrIataCode(const QString &designatorOrIata) const;
@@ -98,6 +104,9 @@ namespace BlackMisc
//! Contains given designator?
bool containsDesignator(const QString &designator) const;
//! Contains given designator?
bool containsVDesignator(const QString &vDesignator) const;
//! From our DB JSON
static CAirlineIcaoCodeList fromDatabaseJson(const QJsonArray &array, bool ignoreIncomplete = true, CAirlineIcaoCodeList *inconsistent = nullptr);
};