6 #ifndef SWIFT_MISC_AVIATION_AIRLINEICAOCODE_H
7 #define SWIFT_MISC_AVIATION_AIRLINEICAOCODE_H
25 namespace swift::misc::aviation
38 IndexAirlineDesignator = CPropertyIndexRef::GlobalIndexCAirlineIcaoCode,
41 IndexAirlineCountryIso,
43 IndexTelephonyDesignator,
47 IndexIsVirtualAirline,
50 IndexDesignatorNameCountry,
61 const QString &telephony,
bool virtualAirline,
bool operating);
67 QString getVDesignator()
const;
70 QString getVDesignatorDbKey()
const;
73 void setDesignator(
const QString &icaoDesignator);
79 void setIataCode(
const QString &iataCode) { m_iataCode = iataCode.trimmed().toUpper(); }
88 QString getDesignatorDbKey()
const;
91 QString getDesignatorNameCountry()
const;
97 const QString &
getName()
const {
return m_name; }
100 QString getSimplifiedName()
const;
103 QString getNameWithKey()
const;
106 void setName(
const QString &name) { m_name = name.trimmed(); }
118 void setGroupDesignator(
const QString &designator) { m_groupDesignator = designator.trimmed().toUpper(); }
124 void setGroupName(
const QString &name) { m_groupName = name.trimmed(); }
154 bool hasValidCountry()
const;
157 bool hasValidDesignator()
const;
160 bool hasIataCode()
const;
163 bool matchesDesignator(
const QString &designator)
const;
166 bool matchesVDesignator(
const QString &designator)
const;
169 bool matchesIataCode(
const QString &iata)
const;
172 bool matchesDesignatorOrIataCode(
const QString &candidate)
const;
175 bool matchesVDesignatorOrIataCode(
const QString &candidate)
const;
178 bool matchesTelephonyDesignator(
const QString &candidate)
const;
181 bool matchesNamesOrTelephonyDesignator(
const QString &candidate)
const;
184 bool isContainedInSimplifiedName(
const QString &candidate)
const;
190 bool hasName()
const {
return !m_name.isEmpty(); }
193 bool hasSimplifiedName()
const;
196 bool hasCompleteData()
const;
199 QString getCombinedStringWithKey()
const;
208 QString convertToQString(
bool i18n =
false)
const;
226 QString asHtmlSummary()
const;
238 static bool isValidAirlineDesignator(
const QString &airline);
241 static bool isValidIataCode(
const QString &iataCode);
244 static QSet<QString> specialValidDesignators();
247 static QString normalizeDesignator(
const QString &candidate);
252 const QStringList &extraCategories = {},
257 static void addLogDetailsToList(
CStatusMessageList *log,
const CAirlineIcaoCode &icao,
const QString &message,
258 const QStringList &extraCategories = {},
262 static CAirlineIcaoCode fromDatabaseJson(
const QJsonObject &json,
const QString &prefix = QString());
268 QString m_designator;
271 QString m_telephonyDesignator;
272 QString m_groupDesignator;
277 bool m_isOperating =
true;
278 bool m_isMilitary =
false;
IconIndex
Index for each icon, allows to send them via DBus, efficiently store them, etc.
Non-owning reference to a CPropertyIndex with a subset of its features.
Streamable status message, e.g.
constexpr static auto SeverityInfo
Status severities.
swift::misc::StatusSeverity StatusSeverity
Status severities.
Status messages, e.g. from Core -> GUI.
Mix of the most commonly used mixin classes.
Value object for ICAO classification.
const QString & getGroupDesignator() const
Group designator.
void setMilitary(bool military)
Military, air force or such?
bool isVirtualAirline() const
Virtual airline.
void setTelephonyDesignator(const QString &telephony)
Telephony designator such as "Speedbird".
void setOperating(bool operating)
Operating airline?
CAirlineIcaoCode()=default
Default constructor.
const QString & getCountryIso() const
Get country, e.g. "FR".
const QString & getIataCode() const
IATA code.
void setGroupId(int id)
Group id.
bool isMilitary() const
Military, air force or such?
const QString & getTelephonyDesignator() const
Telephony designator such as "Speedbird".
ColumnIndex
Properties by index.
static const QSet< int > & iconIds()
The airline icon names (name only, not path)
void setVirtualAirline(bool va)
Virtual airline.
const QString & getDesignator() const
Get airline, e.g. "DLH".
bool hasTelephonyDesignator() const
Telephony designator?
void setIataCode(const QString &iataCode)
Set IATA code.
void setName(const QString &name)
Set name.
void setCountry(const CCountry &country)
Set country.
void setGroupDesignator(const QString &designator)
Group designator.
int getGroupId() const
Group id.
const QString & getGroupName() const
Group name.
const CCountry & getCountry() const
Get country, e.g. "FRANCE".
void setGroupName(const QString &name)
Group name.
const QString & getName() const
Get name, e.g. "Lufthansa".
bool isOperating() const
Operating?
bool hasGroupMembership() const
Are we a member of a group?
bool hasName() const
Has (airline) name?
Value object encapsulating information of a callsign.
Class from which a derived class can inherit datastore-related functions.
StatusSeverity
Status severities.
#define SWIFT_MISC_EXPORT
Export a class or function from the library.
#define SWIFT_DECLARE_VALUEOBJECT_MIXINS(Namespace, Class)
Explicit template declaration of mixins for a CValueObject subclass to be placed near the top of the ...