swift
fscommonutil.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (C) 2013 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_FSCOMMONUTIL_H
7 #define SWIFT_MISC_SIMULATION_FSCOMMONUTIL_H
8 
9 #include <atomic>
10 
11 #include <QSet>
12 #include <QStringList>
13 
15 #include "misc/swiftmiscexport.h"
16 
17 namespace swift::misc::simulation::fscommon
18 {
21  {
22  public:
24  static const QStringList &getLogCategories();
25 
27  CFsCommonUtil() = delete;
28 
30  static bool adjustFileDirectory(CAircraftModel &model, const QString &simObjectsDirectory);
31 
33  static bool adjustFileDirectory(CAircraftModel &model, const QStringList &simObjectsDirectories);
34 
36  static int copyFsxTerrainProbeFiles(const QString &simObjectDir, CStatusMessageList &messages);
37 
40  static CStatusMessageList validateAircraftConfigFiles(const CAircraftModelList &models,
41  CAircraftModelList &validModels,
42  CAircraftModelList &invalidModels,
43  bool ignoreEmptyFileNames, int stopAtFailedFiles,
44  std::atomic_bool &wasStopped);
45 
48  static CStatusMessageList validateP3DSimObjectsPath(const CAircraftModelList &models,
49  CAircraftModelList &validModels,
50  CAircraftModelList &invalidModels,
51  bool ignoreEmptyFileNames, int stopAtFailedFiles,
52  std::atomic_bool &wasStopped, const QString &simulatorDir);
53 
56  static CStatusMessageList validateFSXSimObjectsPath(const CAircraftModelList &models,
57  CAircraftModelList &validModels,
58  CAircraftModelList &invalidModels,
59  bool ignoreEmptyFileNames, int stopAtFailedFiles,
60  std::atomic_bool &wasStopped, const QString &simulatorDir);
61 
64  static CStatusMessageList validateMSFSSimObjectsPath(const CAircraftModelList &models,
65  CAircraftModelList &validModels,
66  CAircraftModelList &invalidModels,
67  bool ignoreEmptyFileNames, int stopAtFailedFiles,
68  std::atomic_bool &wasStopped, const QString &simulatorDir);
69 
72  static CStatusMessageList validateMSFS2024SimObjectsPath(const CAircraftModelList &models,
73  CAircraftModelList &validModels,
74  CAircraftModelList &invalidModels,
75  bool ignoreEmptyFileNames, int stopAtFailedFiles,
76  std::atomic_bool &wasStopped,
77  const QString &simulatorDir);
78 
79  private:
82  static CStatusMessageList validateSimObjectsPath(const QSet<QString> &simObjectDirs,
83  const CAircraftModelList &models,
84  CAircraftModelList &validModels,
85  CAircraftModelList &invalidModels, bool ignoreEmptyFileNames,
86  int stopAtFailedFiles, std::atomic_bool &stopped);
87  };
88 } // namespace swift::misc::simulation::fscommon
89 
90 #endif // SWIFT_MISC_SIMULATION_FSCOMMONUTIL_H
Status messages, e.g. from Core -> GUI.
Aircraft model (used by another pilot, my models on disk)
Definition: aircraftmodel.h:71
Value object encapsulating a list of aircraft models.
#define SWIFT_MISC_EXPORT
Export a class or function from the library.