swift
contextsimulatorproxy.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_CORE_CONTEXTSIMULATOR_PROXY_H
7 #define SWIFT_CORE_CONTEXTSIMULATOR_PROXY_H
8 
9 #include <QString>
10 
12 #include "core/corefacadeconfig.h"
13 #include "core/swiftcoreexport.h"
16 #include "misc/pixmap.h"
17 #include "misc/pq/length.h"
18 #include "misc/pq/time.h"
22 
23 // clazy:excludeall=const-signal-or-slot
24 
25 class QDBusConnection;
26 namespace swift::misc
27 {
28  class CGenericDBusInterface;
29  namespace simulation
30  {
31  class CSimulatedAircraft;
32  }
33 } // namespace swift::misc
34 
35 namespace swift::core
36 {
37  class CCoreFacade;
38  namespace context
39  {
43  {
44  Q_OBJECT
45  friend class IContextSimulator;
46 
47  public:
49  ~CContextSimulatorProxy() override = default;
50 
53  static void unitTestRelaySignals();
54 
55  public slots:
58 
60  swift::misc::simulation::CSimulatorPluginInfo getSimulatorPluginInfo() const override;
61 
63  swift::misc::simulation::CSimulatorPluginInfoList getAvailableSimulatorPlugins() const override;
64 
66  swift::misc::simulation::settings::CSimulatorSettings getSimulatorSettings() const override;
67 
69  bool setSimulatorSettings(const swift::misc::simulation::settings::CSimulatorSettings &settings,
70  const swift::misc::simulation::CSimulatorInfo &simulatorInfo) override;
71 
73  bool startSimulatorPlugin(const swift::misc::simulation::CSimulatorPluginInfo &simulatorInfo) override;
74 
76  void stopSimulatorPlugin(const swift::misc::simulation::CSimulatorPluginInfo &simulatorInfo) override;
77 
79  int checkListeners() override;
80 
82  ISimulator::SimulatorStatus getSimulatorStatus() const override;
83 
85  swift::misc::simulation::CAircraftModelList getModelSet() const override;
86 
88  swift::misc::simulation::CSimulatorInfo simulatorsWithInitializedModelSet() const override;
89 
91  swift::misc::CStatusMessageList verifyPrerequisites() const override;
92 
94  swift::misc::simulation::CSimulatorInfo getModelSetLoaderSimulator() const override;
95 
97  void setModelSetLoaderSimulator(const swift::misc::simulation::CSimulatorInfo &simulator) override;
98 
100  QStringList getModelSetStrings() const override;
101 
103  QStringList getModelSetCompleterStrings(bool sorted) const override;
104 
106  int removeModelsFromSet(const swift::misc::simulation::CAircraftModelList &removeModels) override;
107 
109  bool isKnownModelInSet(const QString &modelString) const override;
110 
113  getModelSetModelsStartingWith(const QString &modelString) const override;
114 
116  int getModelSetCount() const override;
117 
119  swift::misc::simulation::CSimulatorInternals getSimulatorInternals() const override;
120 
122  void disableModelsForMatching(const swift::misc::simulation::CAircraftModelList &removedModels,
123  bool incremental) override;
124 
126  swift::misc::simulation::CAircraftModelList getDisabledModelsForMatching() const override;
127 
129  bool triggerModelSetValidation(const swift::misc::simulation::CSimulatorInfo &simulator) override;
130 
132  bool isValidationInProgress() const override;
133 
135  void restoreDisabledModels() override;
136 
139  getInterpolationAndRenderingSetupGlobal() const override;
140 
142  void setInterpolationAndRenderingSetupGlobal(
144 
146  swift::misc::simulation::CInterpolationSetupList
147  getInterpolationAndRenderingSetupsPerCallsign() const override;
148 
151  getInterpolationAndRenderingSetupPerCallsignOrDefault(
152  const swift::misc::aviation::CCallsign &callsign) const override;
153 
155  bool setInterpolationAndRenderingSetupsPerCallsign(
156  const swift::misc::simulation::CInterpolationSetupList &setups, bool ignoreSameAsGlobal) override;
157 
160  getInterpolationMessages(const swift::misc::aviation::CCallsign &callsign) const override;
161 
163  bool followAircraft(const swift::misc::aviation::CCallsign &callsign) override;
164 
166  void recalculateAllAircraft() override;
167 
169  bool resetToModelMatchingAircraft(const swift::misc::aviation::CCallsign &callsign) override;
170 
172  bool requestElevationBySituation(const swift::misc::aviation::CAircraftSituation &situation) override;
173 
176  findClosestElevationWithinRange(const swift::misc::geo::CCoordinateGeodetic &reference,
177  const swift::misc::physical_quantities::CLength &range) const override;
178 
181  getMatchingMessages(const swift::misc::aviation::CCallsign &callsign) const override;
182 
184  swift::misc::simulation::MatchingLog isMatchingMessagesEnabled() const override;
185 
187  void enableMatchingMessages(swift::misc::simulation::MatchingLog enabled) override;
188 
190  bool parseCommandLine(const QString &commandLine, const swift::misc::CIdentifier &originator) override;
191 
193  int doMatchingsAgain() override;
194 
196  bool doMatchingAgain(const swift::misc::aviation::CCallsign &callsign) override;
197 
199  swift::misc::simulation::CMatchingStatistics getCurrentMatchingStatistics(bool missingOnly) const override;
200 
202  void setMatchingSetup(const swift::misc::simulation::CAircraftMatcherSetup &setup) override;
203 
205  swift::misc::simulation::CAircraftMatcherSetup getMatchingSetup() const override;
206 
208  bool testRemoteAircraft(const swift::misc::simulation::CSimulatedAircraft &aircraft, bool add) override;
209 
211  bool testUpdateRemoteAircraft(const swift::misc::aviation::CCallsign &cs,
213  const swift::misc::aviation::CAircraftParts &parts) override;
215 
216  private:
217  swift::misc::CGenericDBusInterface *m_dBusInterface = nullptr;
218 
220  void relaySignals(const QString &serviceName, QDBusConnection &connection);
221 
222  protected:
225  : IContextSimulator(mode, runtime)
226  {}
227 
229  CContextSimulatorProxy(const QString &serviceName, QDBusConnection &connection,
231  };
232  } // namespace context
233 } // namespace swift::core
234 #endif // SWIFT_CORE_CONTEXTSIMULATOR_PROXY_H
ContextMode
How to handle a given context.
The class providing facades (the contexts) for all DBus relevant operations.
Definition: corefacade.h:57
CContextSimulatorProxy(CCoreFacadeConfig::ContextMode mode, CCoreFacade *runtime)
Constructor.
Used for hand written interface based on virtual methods.
Value object encapsulating information identifying a component of a modular distributed swift process...
Definition: identifier.h:29
Status messages, e.g. from Core -> GUI.
Value object encapsulating information of aircraft's parts.
Definition: aircraftparts.h:26
Value object encapsulating information of an aircraft's situation.
Value object encapsulating information of a callsign.
Definition: callsign.h:30
Plane of same elevation, can be a single point or larger area (e.g. airport)
Physical unit length (length)
Definition: length.h:18
Value object encapsulating a list of aircraft models.
Value object for interpolator and rendering per callsign.
Value object for matching statistics.
Comprehensive information of an aircraft.
Simple hardcoded info about the corresponding simulator.
Definition: simulatorinfo.h:41
Simulator internals for flight simulators. Those are obtained from a running simulator and represent ...
Value object encapsulating a list of SimulatorInfo objects.
Settings for simulator Driver independent parts (such as directories), also used in model loaders.
Backend services of the swift project, like dealing with the network or the simulators.
Definition: actionbind.cpp:7
Free functions in swift::misc.
#define SWIFT_CORE_EXPORT
Export a class or function from the library.