swift
waketurbulencecategory.h
1 // SPDX-FileCopyrightText: Copyright (C) swift Project Community / Contributors
2 // SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-swift-pilot-client-1
3 
4 #ifndef SWIFT_MISC_AVIATION_WAKETURBULENCECATEGORY_H
5 #define SWIFT_MISC_AVIATION_WAKETURBULENCECATEGORY_H
6 
7 #include <QString>
8 #include <QtGlobal>
9 
10 #include "misc/swiftmiscexport.h"
11 #include "misc/valueobject.h"
12 
13 SWIFT_DECLARE_VALUEOBJECT_MIXINS(swift::misc::aviation, CWakeTurbulenceCategory)
14 
15 namespace swift::misc::aviation
16 {
18  class SWIFT_MISC_EXPORT CWakeTurbulenceCategory : public CValueObject<CWakeTurbulenceCategory>
19  {
20  public:
23  {
24  UNKNOWN,
29  SUPER
30  };
31 
34 
37 
39  explicit CWakeTurbulenceCategory(QChar letter);
40 
42  QString convertToQString(bool i18n = false) const;
43 
45  bool isUnknown() const { return m_wtc == UNKNOWN; }
46 
48  bool isCategory(WakeTurbulenceCategory category) const { return m_wtc == category; }
49 
50  private:
51  WakeTurbulenceCategory m_wtc = UNKNOWN;
52 
55  SWIFT_METAMEMBER(wtc));
56  };
57 
58 } // namespace swift::misc::aviation
59 
61 
62 #endif // SWIFT_MISC_AVIATION_WAKETURBULENCECATEGORY_H
Mix of the most commonly used mixin classes.
Definition: valueobject.h:114
CWakeTurbulenceCategory()=default
Create default object with unknown wake turbulence category.
WakeTurbulenceCategory
ICAO wake turbulence categories.
bool isUnknown() const
Is the wake turbulence category unknown?
bool isCategory(WakeTurbulenceCategory category) const
Is the wake turbulence category of this object the same as category?
#define SWIFT_METAMEMBER(MEMBER,...)
Macro to define an element within a metaclass.
Definition: metaclass.h:73
#define SWIFT_METACLASS(CLASS,...)
Macro to define a nested metaclass that describes the attributes of its enclosing class.
Definition: metaclass.h:53
#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 ...
Definition: valueobject.h:65