6 #ifndef SWIFT_CORE_CONTEXT_CONTEXTSIMULATOR_IMPL_H
7 #define SWIFT_CORE_CONTEXT_CONTEXTSIMULATOR_IMPL_H
51 class CSimulatedAircraft;
58 class CPluginManagerSimulator;
98 virtual int checkListeners()
override;
101 virtual ISimulator::SimulatorStatus getSimulatorStatus()
const override;
119 virtual QStringList getModelSetStrings()
const override;
122 virtual QStringList getModelSetCompleterStrings(
bool sorted)
const override;
125 virtual bool isKnownModelInSet(
const QString &modelString)
const override;
132 bool incremental)
override;
138 virtual void restoreDisabledModels()
override;
141 virtual bool isValidationInProgress()
const override;
148 getModelSetModelsStartingWith(
const QString &modelString)
const override;
152 getInterpolationAndRenderingSetupGlobal()
const override;
155 virtual swift::misc::simulation::CInterpolationSetupList
156 getInterpolationAndRenderingSetupsPerCallsign()
const override;
160 getInterpolationAndRenderingSetupPerCallsignOrDefault(
164 virtual bool setInterpolationAndRenderingSetupsPerCallsign(
165 const swift::misc::simulation::CInterpolationSetupList &setups,
bool ignoreSameAsGlobal)
override;
168 virtual void setInterpolationAndRenderingSetupGlobal(
179 virtual void recalculateAllAircraft()
override;
194 virtual int doMatchingsAgain()
override;
204 virtual swift::misc::simulation::MatchingLog isMatchingMessagesEnabled()
const override;
207 virtual void enableMatchingMessages(swift::misc::simulation::MatchingLog enabled)
override;
211 getCurrentMatchingStatistics(
bool missingOnly)
const override;
232 virtual int getModelSetCount()
const override;
243 virtual bool parseCommandLine(
const QString &commandLine,
252 void gracefulShutdown();
255 QPointer<ISimulator> simulator()
const;
265 {
".ris",
"rendering/interpolation setup (global setup)" });
267 {
".ris debug on|off",
"rendering/interpolation debug messages (global setup)" });
269 {
".ris parts on|off",
"aircraft parts (global setup)" });
277 bool isSimulatorPluginAvailable()
const;
280 static constexpr
int MatchingLogMaxModelSetSize = 250;
281 static constexpr
int MaxModelAddedFailoverTrials = 3;
287 void xCtxAddedRemoteAircraftReadyForModelMatching(
326 const QString &aircraftIcao,
const QString &airlineIcao,
327 const QString &livery);
335 void onSimulatorStatusChanged(ISimulator::SimulatorStatus status);
345 bool disabled,
bool requestFailover,
352 void changeEnabledSimulators();
355 void restoreSimulatorPlugins();
361 void unloadSimulatorPlugin();
367 void listenForAllSimulators();
370 void stopSimulatorListeners();
384 void initByLastUsedModelSet();
389 QPair<swift::misc::simulation::CSimulatorPluginInfo, QPointer<ISimulator>>
398 bool m_wasSimulating =
false;
399 bool m_initallyAddAircraft =
false;
400 swift::misc::simulation::MatchingLog m_logMatchingMessages = swift::misc::simulation::MatchingLogSimplified;
402 QString m_networkSessionId;
408 this, &CContextSimulator::changeEnabledSimulators
420 m_renderSettings {
this };
ContextMode
How to handle a given context.
The class providing facades (the contexts) for all DBus relevant operations.
Manages plugins for the simulator context.
Network simulator concrete implementation.
static void registerHelp()
Register dot commands.
bool hasSimulator() const
Simulator available?
Base class with a member CIdentifier to be inherited by a class which has an identity in the environm...
Value object encapsulating information identifying a component of a modular distributed swift process...
Just a subclass of QThread whose destructor waits for the thread to finish.
Class template for accessing a specific value in the CSettingsCache.
static void registerCommand(const CommandHtmlHelp &command)
Register a command.
static bool registered(const QString &helpContext)
Help already registered.
Streamable status message, e.g.
Status messages, e.g. from Core -> GUI.
Value object encapsulating information of aircraft's parts.
Value object encapsulating information of an aircraft's situation.
Value object encapsulating information of a callsign.
Plane of same elevation, can be a single point or larger area (e.g. airport)
Value object encapsulating information about a connection status.
Value object encapsulating a list of text messages.
Physical unit length (length)
Aircraft model (used by another pilot, my models on disk)
Value object encapsulating a list of aircraft models.
Validate model files from the sets and check if the model still exists.
Value object for interpolator and rendering.
Value object for interpolator and rendering per callsign.
Value object for matching statistics.
Class which can be directly used to access an.
Comprehensive information of an aircraft.
Simple hardcoded info about the corresponding simulator.
Simulator internals for flight simulators. Those are obtained from a running simulator and represent ...
Describing a simulator plugin.
Value object encapsulating a list of SimulatorInfo objects.
Value object encapsulating a list of aircraft models.
Bundle of settings for all simulators.
Settings for simulator Driver independent parts (such as directories), also used in model loaders.
#define SWIFT_CORE_CONTEXTSIMULATOR_INTERFACENAME
DBus interface for context.
Backend services of the swift project, like dealing with the network or the simulators.
Free functions in swift::misc.
#define SWIFT_CORE_EXPORT
Export a class or function from the library.