9 using namespace swift::misc::aviation;
13 namespace swift::misc::aviation
21 QString icaoCode(icao.trimmed().toUpper());
30 for (
const CLivery &livery : *
this)
34 if (livIcao.
isDbEqual(icao)) {
return livery; }
51 const QString icaoDesignator(icao.trimmed().toUpper());
52 if (icaoDesignator.isEmpty()) {
return CLivery(); }
61 if (containedString.isEmpty()) {
return CLiveryList(); }
91 double bestDistance = 1.0;
92 for (
const CLivery &livery : *
this)
96 if (d == 0.0) {
return livery; }
115 if (this->
isEmpty()) {
return QStringList(); }
117 if (sort) { codes.sort(); }
123 if (this->
isEmpty()) {
return QStringList(); }
125 if (sort) { codes.sort(); }
131 if (this->
isEmpty()) {
return QStringList(); }
133 if (sort) { codes.sort(); }
170 if (liveries.
size() == 1) {
return liveries.
front(); }
171 if (liveries.
size() > 1)
178 if (!liveriesByName.
isEmpty()) {
return liveriesByName.
front(); }
180 return liveries.
front();
200 for (
const QJsonValue &value : array)
auto findFirstByOrDefault(Predicate p, const Value &def) const
Return a copy of the first element for which a given predicate returns true, or a default value if th...
auto transform(F function) const
Return a new container generated by applying some transformation function to all elements of this one...
bool isValid() const
Valid?
size_type size() const
Returns number of elements in the sequence.
const_reference frontOrDefault() const
Access the first element, or a default-initialized value if the sequence is empty.
CSequence findBy(Predicate p) const
Return a copy containing only those elements for which a given predicate returns true.
void push_back(const T &value)
Appends an element at the end of the sequence.
reference front()
Access the first element.
bool isEmpty() const
Synonym for empty.
Value object for ICAO classification.
QString getSimplifiedName() const
Get a simplified upper case name for searching by removing all characters except A-Z.
bool hasValidDesignator() const
Airline designator available?
bool matchesVDesignator(const QString &designator) const
Matches v-designator string?
bool matchesNamesOrTelephonyDesignator(const QString &candidate) const
Relaxed check by name or telephony designator (aka callsign, not to be confused with CCallsign)
QString getVDesignator() const
Get airline, e.g. "DLH", but "VMVA" for virtual airlines.
const QString & getName() const
Get name, e.g. "Lufthansa".
bool hasName() const
Has (airline) name?
Value object encapsulating a list of ICAO codes.
AirlineIcaoIdMap toIdMap() const
To id map.
Value object encapsulating information about an airpot.
const QString & getAirlineIcaoCodeDesignator() const
Corresponding airline designator, if any.
bool hasAirlineName() const
Has airline name?
double getColorDistance(const CLivery &otherLivery) const
Color distance 0..1 (0 is best)
bool matchesCombinedCode(const QString &candidate) const
Matches combined code.
const CAirlineIcaoCode & getAirlineIcaoCode() const
Corresponding airline, if any.
QString getCombinedCodePlusInfoAndId() const
Combined code, info, plus id.
static bool isValidCombinedCode(const QString &candidate)
Valid combined code string?
bool hasValidAirlineDesignator() const
Airline available?
const QString & getAirlineName() const
Get corresponding airline name.
bool isAirlineOperating() const
Is airline operating?
bool hasCompleteData() const
Complete data?
bool isAirlineStandardLivery() const
Livery representing airline standard livery.
const QString & getCombinedCode() const
Combined code.
bool matchesColors(const CRgbColor &fuselage, const CRgbColor &tail) const
Matches colors.
const QString & getDescription() const
Get description.
static CLivery fromDatabaseJsonCaching(const QJsonObject &json, AirlineIcaoIdMap &airlineIcaos, const QString &prefix=QString("liv_"))
Object from JSON caching.
bool isContainedInSimplifiedAirlineName(const QString &candidate) const
Does simplified airline name contain the candidate.
bool hasCombinedCode() const
Livery combined code available?
bool isColorLivery() const
Color livery?
QString getCombinedCodePlusInfo() const
Combined code plus info.
Value object for a list of airports.
QStringList getCombinedCodesPlusInfo(bool sort=false) const
All combined codes plus more info.
CLiveryList findStdLiveriesByNamesOrTelephonyDesignator(const QString &candidate) const
By names or telephony designator(aka callsign)
CAirlineIcaoCodeList getAirlines() const
All aircraft codes.
QStringList getCombinedCodes(bool sort=false) const
All combined codes.
CLiveryList findByAirlineIcaoDesignator(const QString &icao) const
Find livery by airline.
static CLiveryList fromDatabaseJsonCaching(const QJsonArray &array, const CAirlineIcaoCodeList &relatedAirlines={})
Caching version from DB data.
CLivery smartLiverySelector(const CLivery &liveryPattern) const
Find by multiple criteria.
CLivery findColorLiveryOrDefault(const CRgbColor &fuselage, const CRgbColor &tail) const
Search for colors.
CLivery findClosestColorLiveryOrDefault(const CRgbColor &fuselage, const CRgbColor &tail) const
Search for colors.
QStringList getCombinedCodesPlusInfoAndId(bool sort=false) const
All combined codes plus more info.
CLivery findStdLiveryByAirlineIcaoVDesignator(const QString &icao) const
Find livery by airline.
CLiveryList()
Default constructor.
CLiveryList findStdLiveriesBySimplifiedAirlineName(const QString &containedString) const
By simplified name.
CLivery findByCombinedCode(const QString &combinedCode) const
Find livery by combined code.
bool isDbEqual(const IDatastoreObjectWithIntegerKey &other) const
Same DB key and hence equal.
bool hasValidDbKey() const
Has valid DB key.
auto MemberTransform(T memberFunc)
Returns a function object that returns the value returned by one of it's argument member functions.
#define SWIFT_DEFINE_SEQUENCE_MIXINS(Namespace, T, List)
Explicit template definition of mixins for a CSequence subclass.