swift
categorymatcher.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (C) 2019 swift Project Community / Contributors
2 // SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-swift-pilot-client-1
3 
5 
6 #ifndef SWIFT_MISC_SIMULATION_CATEGORYMATCHER_H
7 #define SWIFT_MISC_SIMULATION_CATEGORYMATCHER_H
8 
11 #include "misc/swiftmiscexport.h"
12 
13 namespace swift::misc
14 {
15  class CStatusMessageList;
16 
17  namespace simulation
18  {
19  class CSimulatedAircraft;
20  class CAircraftMatcherSetup;
21 
24  {
25  public:
27  static const QStringList &getLogCategories();
28 
31 
33  void setCategories(const aviation::CAircraftCategoryList &categories);
34 
37  const aviation::CAircraftCategoryList &gliderCategories() const { return m_gliders; }
38  const aviation::CAircraftCategoryList &militaryWingCategories() const { return m_militaryWingAircraft; }
39  const aviation::CAircraftCategoryList &militaryRotorCategories() const { return m_militaryRotorAircraft; }
41 
43  CAircraftModelList reduceByCategories(const CAircraftModelList &alreadyMatchedModels,
44  const CAircraftModelList &modelSet,
45  const CAircraftMatcherSetup &setup,
46  const CSimulatedAircraft &remoteAircraft, bool &reduced,
47  bool shortLog, CStatusMessageList *log = nullptr) const;
48 
49  private:
51  bool isGlider(const aviation::CAircraftIcaoCode &icao) const;
52 
54  int gliderFirstLevel() const;
55 
58  aviation::CAircraftCategoryList m_militaryWingAircraft;
59  aviation::CAircraftCategoryList m_militaryRotorAircraft;
60  };
61  } // namespace simulation
62 } // namespace swift::misc
63 
64 #endif // SWIFT_MISC_SIMULATION_CATEGORYMATCHER_H
Status messages, e.g. from Core -> GUI.
Value object encapsulating a list of ICAO codes.
Value object for ICAO classification.
Value object encapsulating a list of aircraft models.
Category matcher, uses the DB categories.
const aviation::CAircraftCategoryList & militaryWingCategories() const
Specialized categories.
const aviation::CAircraftCategoryList & militaryRotorCategories() const
Specialized categories.
const aviation::CAircraftCategoryList & gliderCategories() const
Specialized categories.
Comprehensive information of an aircraft.
Free functions in swift::misc.
#define SWIFT_MISC_EXPORT
Export a class or function from the library.