4 #include "ssrequipment.h"
8 namespace swift::misc::aviation
12 if (m_equipment == SSrEquipment()) { m_equipment = None; }
18 if (equipment.isEmpty()) {
return; }
23 QString str = flagToString(flag);
24 if (equipment.contains(str))
26 equipment = equipment.remove(str);
31 append_equipment_flag_if_exist(None);
32 append_equipment_flag_if_exist(ModeA);
33 append_equipment_flag_if_exist(ModeAC);
34 append_equipment_flag_if_exist(ModeSTypeE);
35 append_equipment_flag_if_exist(ModeSTypeH);
36 append_equipment_flag_if_exist(ModeSTypeI);
37 append_equipment_flag_if_exist(ModeSTypeL);
38 append_equipment_flag_if_exist(ModeSTypeX);
39 append_equipment_flag_if_exist(ModeSTypeP);
40 append_equipment_flag_if_exist(ModeSTypeS);
41 append_equipment_flag_if_exist(AdsBB1);
42 append_equipment_flag_if_exist(AdsBB2);
43 append_equipment_flag_if_exist(AdsBU1);
44 append_equipment_flag_if_exist(AdsBU2);
45 append_equipment_flag_if_exist(AdsBV1);
46 append_equipment_flag_if_exist(AdsBV2);
47 append_equipment_flag_if_exist(AdsCD1);
48 append_equipment_flag_if_exist(AdsCG1);
50 if (!equipment.isEmpty() && m_equipment == SSrEquipment())
63 if (m_equipment.testFlag(flag)) list << flagToString(flag);
66 append_flag_if_exist(None);
67 append_flag_if_exist(ModeA);
68 append_flag_if_exist(ModeAC);
69 append_flag_if_exist(ModeSTypeE);
70 append_flag_if_exist(ModeSTypeH);
71 append_flag_if_exist(ModeSTypeI);
72 append_flag_if_exist(ModeSTypeL);
73 append_flag_if_exist(ModeSTypeX);
74 append_flag_if_exist(ModeSTypeP);
75 append_flag_if_exist(ModeSTypeS);
76 append_flag_if_exist(AdsBB1);
77 append_flag_if_exist(AdsBB2);
78 append_flag_if_exist(AdsBU1);
79 append_flag_if_exist(AdsBU2);
80 append_flag_if_exist(AdsBV1);
81 append_flag_if_exist(AdsBV2);
82 append_flag_if_exist(AdsCD1);
83 append_flag_if_exist(AdsCG1);
91 Q_ASSERT_X(!equipmentString.isEmpty(), Q_FUNC_INFO,
"Equipment string should not be empty");
92 return equipmentString;
95 QString CSsrEquipment::flagToString(CSsrEquipment::SSrEquipment flag)
99 static const QString q(
"N");
104 static const QString q(
"A");
109 static const QString q(
"C");
112 if (flag == ModeSTypeE)
114 static const QString q(
"E");
117 if (flag == ModeSTypeH)
119 static const QString q(
"H");
122 if (flag == ModeSTypeI)
124 static const QString q(
"I");
127 if (flag == ModeSTypeL)
129 static const QString q(
"L");
132 if (flag == ModeSTypeX)
134 static const QString q(
"X");
137 if (flag == ModeSTypeP)
139 static const QString q(
"P");
142 if (flag == ModeSTypeS)
144 static const QString q(
"S");
149 static const QString q(
"B1");
154 static const QString q(
"B2");
159 static const QString q(
"U1");
164 static const QString q(
"U2");
169 static const QString q(
"V1");
174 static const QString q(
"V2");
179 static const QString q(
"D1");
184 static const QString q(
"G1");
193 static const QStringList r(
194 {
"N",
"A",
"C",
"E",
"H",
"I",
"L",
"X",
"P",
"S",
"B1",
"B2",
"U1",
"U2",
"V1",
"V2",
"D1",
"G1" });
CSsrEquipment()=default
Create default SSR equipment with "None" equipment enabled.
QStringList enabledOptions() const
Get all enabled SSR equipment codes of this object as a list.
SsrEquipmentOption
Surveillance equipment options.
QString convertToQString(bool i18n=false) const
Get the SSR equipment string of this object (for example "LB1")
static QStringList allEquipmentLetters()
Get all possible SSR equipment code letters.
#define SWIFT_DEFINE_VALUEOBJECT_MIXINS(Namespace, Class)
Explicit template definition of mixins for a CValueObject subclass.