swift
fsdirectories.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_FSDIRECTORIES_H
7 #define SWIFT_MISC_SIMULATION_FSDIRECTORIES_H
8 
9 #include <QSet>
10 #include <QStringList>
11 
12 #include "misc/swiftmiscexport.h"
13 
14 namespace swift::misc::simulation::fscommon
15 {
18  {
19  public:
21  static const QStringList &getLogCategories();
22 
24  CFsDirectories() = delete;
25 
27  static const QString &fsxDirFromRegistry();
28 
30  static const QString &fsxDir();
31 
33  static const QString &fsxSimObjectsDirFromRegistry();
34 
36  static const QString &fsxSimObjectsDir();
37 
39  static const QString &msfsSimObjectsDir();
40 
42  static const QString &msfs2024SimObjectsDir();
43 
45  static QString fsxSimObjectsDirFromSimDir(const QString &simDir);
46 
48  static const QStringList &fsxSimObjectsExcludeDirectoryPatterns();
49 
51  static const QStringList &msfs20SimObjectsExcludeDirectoryPatterns();
52 
54  static const QStringList &msfs2024SimObjectsExcludeDirectoryPatterns();
55 
57  static QStringList fsxSimObjectsDirPlusAddOnXmlSimObjectsPaths(const QString &simObjectsDir = "");
58 
60  static QStringList msfsSimObjectsDirPath(const QString &simObjectsDir = "");
61 
63  static QStringList msfs2024SimObjectsDirPath(const QString &simObjectsDir = "");
64 
66  static QStringList p3dSimObjectsDirPlusAddOnXmlSimObjectsPaths(const QString &simObjectsDir,
67  const QString &versionHint);
68 
70  static QString guessP3DVersion(const QString &candidate);
71 
73  static const QString &p3dDirFromRegistry();
74 
76  static const QString &p3dDir();
77 
79  static const QString &p3dSimObjectsDirFromRegistry();
80 
82  static const QString &p3dSimObjectsDir();
83 
85  static QString p3dSimObjectsDirFromSimDir(const QString &simDir);
86 
88  static const QStringList &p3dSimObjectsExcludeDirectoryPatterns();
89 
91  static const QString &msfsDir();
92 
94  static const QString &msfsPackagesDir();
95 
97  static const QString &msfs2024Dir();
98 
100  static const QString &msfs2024PackagesDir();
101 
103  static const QString &fs9DirFromRegistry();
104 
106  static const QString &fs9Dir();
107 
109  static const QString &fs9AircraftDirFromRegistry();
110 
112  static const QString &fs9AircraftDir();
113 
115  static QString fs9AircraftDirFromSimDir(const QString &simDir);
116 
118  static const QStringList &fs9AircraftObjectsExcludeDirectoryPatterns();
119 
123  static QSet<QString> findP3dAddOnConfigFiles(const QString &versionHint = "v5");
124 
128  static QSet<QString> findP3dSimObjectsConfigFiles(const QString &versionHint = "v5");
129 
131  static QSet<QString> allConfigFilesPathValues(const QStringList &configFiles, bool checked,
132  const QString &pathPrefix);
133 
135  static QSet<QString> allP3dAddOnXmlSimObjectPaths(const QStringList &addOnPaths, bool checked);
136 
139  static QSet<QString> allP3dAddOnXmlSimObjectPaths(const QString &versionHint = "v4");
140 
142  static QSet<QString> allFsxSimObjectPaths();
143 
145  // C:/Users/Joe Doe/AppData/Roaming/Microsoft/FSX/fsx.cfg
146  static QStringList findFsxConfigFiles();
147 
149  // SimObjectPaths.0=SimObjects\Airplanes
150  static QSet<QString> fsxSimObjectsPaths(const QStringList &fsxFiles, bool checked);
151 
153  // SimObjectPaths.0=SimObjects\Airplanes
154  static QSet<QString> msfsSimObjectsPaths(const QStringList &msfsFiles, bool checked);
155 
157  // SimObjectPaths.0=SimObjects\Airplanes
158  static QSet<QString> fsxSimObjectsPaths(const QString &fsxFile, bool checked);
159 
161  // SimObjectPaths.0=SimObjects\Airplanes
162  static QSet<QString> msfsSimObjectsPaths(const QString &msfsFile, bool checked);
163 
165  static const QString &airFileFilter();
166 
167  private:
170  static QSet<QString> findP3dConfigFiles(const QString &configFile, const QString &versionHint = "v5");
172 
174  static bool logConfigPathReading();
175  };
176 } // namespace swift::misc::simulation::fscommon
177 
178 #endif // SWIFT_MISC_SIMULATION_FSDIRECTORIES_H
#define SWIFT_MISC_EXPORT
Export a class or function from the library.