Ref T215, utility functions

* CServer
* ICAO List
This commit is contained in:
Klaus Basan
2018-01-02 02:24:15 +01:00
parent 9799fc1724
commit b68e232f38
4 changed files with 20 additions and 0 deletions

View File

@@ -185,6 +185,12 @@ namespace BlackMisc
return codes.front();
}
bool CAircraftIcaoCodeList::containsDesignator(const QString &designator) const
{
if (designator.isEmpty()) { return false; }
return this->contains(&CAircraftIcaoCode::getDesignator, designator);
}
void CAircraftIcaoCodeList::sortByRank()
{
this->sortBy(&CAircraftIcaoCode::getRank);

View File

@@ -95,6 +95,9 @@ namespace BlackMisc
//! Find by designator, then best match by rank
CAircraftIcaoCode findFirstByDesignatorAndRank(const QString &designator) const;
//! Contains designator?
bool containsDesignator(const QString &designator) const;
//! Best selection by given pattern, also searches IATA and family information
CAircraftIcaoCode smartAircraftIcaoSelector(const CAircraftIcaoCode &icaoPattern) const;

View File

@@ -152,6 +152,11 @@ namespace BlackMisc
return m_timestampMSecsSinceEpoch >= 0;
}
bool CServer::isNull() const
{
return this->hasUnspecifiedServerType() && !this->hasName() && m_port < 0;
}
CStatusMessageList CServer::validate() const
{
static const CLogCategoryList cats(CLogCategoryList(this).join({ CLogCategory::validation()}));

View File

@@ -101,6 +101,9 @@ namespace BlackMisc
//! Get name
const QString &getName() const { return m_name; }
//! Has name?
bool hasName() const { return !m_name.isEmpty(); }
//! Set name
void setName(const QString &name) { m_name = name.trimmed(); }
@@ -176,6 +179,9 @@ namespace BlackMisc
//! Is connected?
bool isConnected() const;
//! NULL?
bool isNull() const;
//! Validate, provide details about issues
CStatusMessageList validate() const;