11 using namespace swift::config;
16 namespace swift::misc::simulation
18 CSimulatorPluginInfo::CSimulatorPluginInfo(
const QString &identifier,
const QString &name,
const QString &simulator,
19 const QString &description,
bool valid)
20 : m_identifier(identifier), m_name(name), m_simulator(simulator), m_description(description), m_info(simulator),
28 if (json.contains(
"IID"))
30 if (!json.contains(
"MetaData")) {
throw CJsonException(
"Missing 'MetaData'"); }
54 return QStringLiteral(
"%1 (%2)").arg(m_name, m_identifier);
59 static const QString e;
61 const CSimulatorInfo::Simulator s = simInfo.
getSimulator();
75 static const QString s(
"org.swift-project.plugins.simulator.fsx");
81 static const QString s(
"org.swift-project.plugins.simulator.p3d");
87 static const QString s(
"org.swift-project.plugins.simulator.fs9");
93 static const QString s(
"org.swift-project.plugins.simulator.xplane");
99 static const QString s(
"org.swift-project.plugins.simulator.flightgear");
105 static const QString s(
"org.swift-project.plugins.simulator.msfs");
111 static const QString s(
"org.swift-project.plugins.simulator.msfs2024");
117 static const QString s(
"org.swift-project.plugins.simulator.emulated");
131 if (CBuildConfig::isRunningOnUnixPlatform())
Thrown when a convertFromJson method encounters an unrecoverable error in JSON data.
Pseudo-RAII pattern that tracks the current JSON value being converted.
Simple hardcoded info about the corresponding simulator.
bool isSingleSimulator() const
Single simulator selected.
bool isNoSimulator() const
No simulator?
Simulator getSimulator() const
Simulator.
static const QString & identifierFromSimulatorInfo(const CSimulatorInfo &)
Simulator info to plugin indentifier, empty string if not single simulator.
static const QString & msfsPluginIdentifier()
Plugin identifier (MSFS 2020)
void convertFromJson(const QJsonObject &json)
Assign from JSON object.
static const QString & emulatedPluginIdentifier()
Plugin identifier (emulated simulator plugin)
bool isEmulatedPlugin() const
Is this the emulated driver?
const QString & getIdentifier() const
Identifier.
static const QStringList & allIdentifiers()
All valid identifiers.
static const QString & fsxPluginIdentifier()
Plugin identifier (FSX)
QString convertToQString(bool i18n=false) const
Cast as QString.
static const QString & fs9PluginIdentifier()
Plugin identifier (FS9)
static const QString & fgPluginIdentifier()
Plugin identifier (FlightGear)
static QStringList guessDefaultPlugins()
Guess default plugins.
static const QString & p3dPluginIdentifier()
Plugin identifier (P3D)
static const QString & xplanePluginIdentifier()
Plugin identifier (XPlane)
bool isUnspecified() const
Unspecified simulator.
static const QString & msfs2024PluginIdentifier()
Plugin identifier (MSFS 2024)
Free functions in swift::misc.
#define SWIFT_DEFINE_VALUEOBJECT_MIXINS(Namespace, Class)
Explicit template definition of mixins for a CValueObject subclass.