6 #ifndef SWIFT_CORE_CONTEXT_CONTEXTSIMULATOR_IMPL_H
7 #define SWIFT_CORE_CONTEXT_CONTEXTSIMULATOR_IMPL_H
51 class CSimulatedAircraft;
58 class CPluginManagerSimulator;
96 int checkListeners()
override;
99 ISimulator::SimulatorStatus getSimulatorStatus()
const override;
120 QStringList getModelSetCompleterStrings(
bool sorted)
const override;
123 bool isKnownModelInSet(
const QString &modelString)
const override;
130 bool incremental)
override;
136 void restoreDisabledModels()
override;
139 bool isValidationInProgress()
const override;
146 getModelSetModelsStartingWith(
const QString &modelString)
const override;
150 getInterpolationAndRenderingSetupGlobal()
const override;
153 swift::misc::simulation::CInterpolationSetupList
154 getInterpolationAndRenderingSetupsPerCallsign()
const override;
158 getInterpolationAndRenderingSetupPerCallsignOrDefault(
162 bool setInterpolationAndRenderingSetupsPerCallsign(
163 const swift::misc::simulation::CInterpolationSetupList &setups,
bool ignoreSameAsGlobal)
override;
166 void setInterpolationAndRenderingSetupGlobal(
177 void recalculateAllAircraft()
override;
191 int doMatchingsAgain()
override;
201 swift::misc::simulation::MatchingLog isMatchingMessagesEnabled()
const override;
204 void enableMatchingMessages(swift::misc::simulation::MatchingLog enabled)
override;
227 int getModelSetCount()
const override;
246 void gracefulShutdown();
259 {
".ris",
"rendering/interpolation setup (global setup)" });
261 {
".ris debug on|off",
"rendering/interpolation debug messages (global setup)" });
263 {
".ris parts on|off",
"aircraft parts (global setup)" });
271 bool isSimulatorPluginAvailable()
const;
274 static constexpr
int MatchingLogMaxModelSetSize = 250;
275 static constexpr
int MaxModelAddedFailoverTrials = 3;
281 void xCtxAddedRemoteAircraftReadyForModelMatching(
329 void onSimulatorStatusChanged(ISimulator::SimulatorStatus status);
339 bool disabled,
bool requestFailover,
346 void changeEnabledSimulators();
349 void restoreSimulatorPlugins();
355 void unloadSimulatorPlugin();
361 void listenForAllSimulators();
364 void stopSimulatorListeners();
378 void initByLastUsedModelSet();
383 QPair<swift::misc::simulation::CSimulatorPluginInfo, QPointer<ISimulator>>
392 bool m_wasSimulating =
false;
393 bool m_initallyAddAircraft =
false;
394 swift::misc::simulation::MatchingLog m_logMatchingMessages = swift::misc::simulation::MatchingLogSimplified;
402 this, &CContextSimulator::changeEnabledSimulators
414 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.