Ref T242, null functions for livery, airline, aircraft

This commit is contained in:
Klaus Basan
2018-02-07 05:23:25 +01:00
parent e001b0338f
commit 33d4cf82ea
6 changed files with 51 additions and 0 deletions

View File

@@ -196,6 +196,17 @@ namespace BlackMisc
return score;
}
bool CAircraftIcaoCode::isNull() const
{
return m_designator.isEmpty() && m_manufacturer.isEmpty() && m_modelDescription.isEmpty();
}
const CAircraftIcaoCode &CAircraftIcaoCode::null()
{
static const CAircraftIcaoCode null;
return null;
}
bool CAircraftIcaoCode::hasDesignator() const
{
return !m_designator.isEmpty();

View File

@@ -291,6 +291,12 @@ namespace BlackMisc
//! \remark normally used with a selected set of ICAO codes or combined types
int calculateScore(const CAircraftIcaoCode &otherCode, CStatusMessageList *log = nullptr) const;
//! Null ICAO?
bool isNull() const;
//! NULL object
static const CAircraftIcaoCode &null();
//! Valid designator?
static bool isValidDesignator(const QString &designator);

View File

@@ -410,6 +410,17 @@ namespace BlackMisc
return score;
}
bool CAirlineIcaoCode::isNull() const
{
return m_designator.isNull() && m_iataCode.isNull() && m_telephonyDesignator.isNull();
}
const CAirlineIcaoCode &CAirlineIcaoCode::null()
{
static const CAirlineIcaoCode null;
return null;
}
CAirlineIcaoCode CAirlineIcaoCode::fromDatabaseJson(const QJsonObject &json, const QString &prefix)
{
if (!existsKey(json, prefix))

View File

@@ -228,6 +228,12 @@ namespace BlackMisc
//! Score against other code 0..100
int calculateScore(const CAirlineIcaoCode &otherCode, CStatusMessageList *log = nullptr) const;
//! Null ICAO?
bool isNull() const;
//! NULL object
static const CAirlineIcaoCode &null();
//! Valid designator?
static bool isValidAirlineDesignator(const QString &airline);

View File

@@ -423,5 +423,16 @@ namespace BlackMisc
}
return score;
}
bool CLivery::isNull() const
{
return m_airline.isNull() && m_combinedCode.isEmpty() && m_description.isEmpty();
}
const CLivery &CLivery::null()
{
static const CLivery null;
return null;
}
} // namespace
} // namespace

View File

@@ -180,6 +180,12 @@ namespace BlackMisc
//! \remark normally used with liveries preselect by airline ICAO code
int calculateScore(const CLivery &otherLivery, bool preferColorLiveries = false, CStatusMessageList *log = nullptr) const;
//! Null livery?
bool isNull() const;
//! NULL object
static const CLivery &null();
//! Object from JSON
static CLivery fromDatabaseJson(const QJsonObject &json, const QString &prefix = QString("liv_"));