6 #ifndef SWIFT_MISC_AVIATION_CALLSIGN_H
7 #define SWIFT_MISC_AVIATION_CALLSIGN_H
24 class CStatusMessageList;
35 IndexCallsignString = CPropertyIndexRef::GlobalIndexCCallsign,
36 IndexCallsignStringAsSet,
37 IndexTelephonyDesignator,
54 CCallsign(
const QString &callsign, TypeHint hint = NoHint);
57 CCallsign(
const QString &callsign,
const QString &telephonyDesignator, TypeHint hint = NoHint);
60 CCallsign(
const char *callsign, TypeHint hint = NoHint);
63 bool isEmpty()
const {
return m_callsignAsSet.isEmpty(); }
67 bool isAtcCallsign()
const;
71 bool isAtcAlikeCallsign()
const;
74 bool isObserverCallsign()
const;
77 bool isSupervisorCallsign()
const;
81 bool isBroadcastCallsign()
const;
85 void markAsBroadcastCallsign();
88 void markAsWallopCallsign();
93 bool isMaybeCopilotCallsign(
const CCallsign &pilotCallsign)
const;
96 const QString &
asString()
const {
return m_callsign; }
102 QString getFsdCallsignString()
const;
105 bool isSameAsSet()
const;
117 QString getIcaoCode()
const;
120 QString getAsObserverCallsignString()
const;
123 QString getSuffix()
const;
127 QString getAirlinePrefix()
const;
128 QString getAirlinePrefix(QString &flightNumber)
const;
129 QString getAirlinePrefix(QString &flightNumber, QString &flightIdentification)
const;
133 QString getFlightIndentification()
const;
136 QString getFlightNumber()
const;
139 int getFlightNumberInt()
const;
142 bool hasSuffix()
const;
145 bool hasAtcSuffix()
const;
148 int getSuffixSortOrder()
const;
151 bool equalsString(
const QString &callsignString)
const;
154 bool isValid()
const;
169 QString convertToQString(
bool i18n =
false)
const;
175 static int suffixToSortOrder(
const QString &suffix);
178 static bool isValidAircraftCallsign(
const QString &callsign);
181 static bool isValidAircraftCallsign(
const CCallsign &callsign);
184 static bool isValidAtcCallsign(
const QString &callsign);
187 static bool isValidAtcCallsign(
const CCallsign &callsign);
190 static QString unifyCallsign(
const QString &callsign, TypeHint hint = NoHint);
193 static const QStringList &atcCallsignSuffixes();
196 static const QStringList &atcAlikeCallsignSuffixes();
199 static bool looksLikeAtcCallsign(
const QString &callsign);
202 static const CIcon &atcSuffixToIcon(
const QString &suffix);
210 const QStringList &extraCategories = {},
215 static void addLogDetailsToList(
CStatusMessageList *log,
const CCallsign &callsign,
const QString &message,
216 const QStringList &extraCategories = {},
223 QString m_callsignAsSet;
225 QString m_telephonyDesignator;
226 TypeHint m_typeHint = NoHint;
Value object for icons. An icon is stored in the global icon repository and identified by its index....
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 encapsulating information of a callsign.
const QString & asString() const
Get callsign (normalized)
TypeHint
Representing what.
CIcons::IconIndex toIcon() const
As icon, not implemented by all classes.
bool isEmpty() const
Is empty?
const QString & getTelephonyDesignator() const
Get callsign telephony designator (how callsign is pronounced)
TypeHint getTypeHint() const
Type hint.
CCallsign()
Default constructor.
void setTypeHint(TypeHint hint)
Type hint.
const QString & getStringAsSet() const
Get callsign.
Free functions in swift::misc.
void registerMetadata()
Register all relevant metadata in Misc.
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 ...