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; 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 bool CAircraftIcaoCode::hasDesignator() const
{ {
return !m_designator.isEmpty(); 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 //! \remark normally used with a selected set of ICAO codes or combined types
int calculateScore(const CAircraftIcaoCode &otherCode, CStatusMessageList *log = nullptr) const; int calculateScore(const CAircraftIcaoCode &otherCode, CStatusMessageList *log = nullptr) const;
//! Null ICAO?
bool isNull() const;
//! NULL object
static const CAircraftIcaoCode &null();
//! Valid designator? //! Valid designator?
static bool isValidDesignator(const QString &designator); static bool isValidDesignator(const QString &designator);

View File

@@ -410,6 +410,17 @@ namespace BlackMisc
return score; 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) CAirlineIcaoCode CAirlineIcaoCode::fromDatabaseJson(const QJsonObject &json, const QString &prefix)
{ {
if (!existsKey(json, prefix)) if (!existsKey(json, prefix))

View File

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

View File

@@ -423,5 +423,16 @@ namespace BlackMisc
} }
return score; 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
} // namespace } // namespace

View File

@@ -180,6 +180,12 @@ namespace BlackMisc
//! \remark normally used with liveries preselect by airline ICAO code //! \remark normally used with liveries preselect by airline ICAO code
int calculateScore(const CLivery &otherLivery, bool preferColorLiveries = false, CStatusMessageList *log = nullptr) const; 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 //! Object from JSON
static CLivery fromDatabaseJson(const QJsonObject &json, const QString &prefix = QString("liv_")); static CLivery fromDatabaseJson(const QJsonObject &json, const QString &prefix = QString("liv_"));