swift
modelsetbuilder.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (C) 2016 swift Project Community / Contributors
2 // SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-swift-pilot-client-1
3 
5 
6 #ifndef SWIFT_CORE_CMODELSETBUILDER_H
7 #define SWIFT_CORE_CMODELSETBUILDER_H
8 
9 #include <QFlags>
10 #include <QMetaType>
11 #include <QObject>
12 
13 #include "core/swiftcoreexport.h"
17 
18 namespace swift::core
19 {
23  class SWIFT_CORE_EXPORT CModelSetBuilder : public QObject
24  {
25  Q_OBJECT
26 
27  public:
30  {
31  NoOptions = 0,
32  GivenDistributorsOnly = 1 << 0,
33  OnlyDbData = 1 << 1,
34  OnlyDbIcaoCodes = 1 << 2,
35  Incremental = 1 << 3,
36  SortByDistributors = 1 << 4,
37  ConsolidateWithDb = 1 << 5
38  };
39  Q_DECLARE_FLAGS(Builder, BuilderFlag)
40 
41 
42  CModelSetBuilder(QObject *parent = nullptr);
43 
46  buildModelSet(const swift::misc::simulation::CSimulatorInfo &simulator,
48  const swift::misc::simulation::CAircraftModelList &currentSet, Builder options,
49  const swift::misc::simulation::CDistributorList &distributors = {}) const;
50  };
51 } // namespace swift::core
52 
54 Q_DECLARE_METATYPE(swift::core::CModelSetBuilder::Builder)
55 Q_DECLARE_OPERATORS_FOR_FLAGS(swift::core::CModelSetBuilder::Builder)
56 
57 #endif // SWIFT_CORE_CMODELSETBUILDER_H
Create model set (normally from own models)
Value object encapsulating a list of aircraft models.
Value object encapsulating a list of distributors.
Simple hardcoded info about the corresponding simulator.
Definition: simulatorinfo.h:41
Backend services of the swift project, like dealing with the network or the simulators.
Definition: actionbind.cpp:7
#define SWIFT_CORE_EXPORT
Export a class or function from the library.