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  virtual ~CContextSimulatorProxy() override {}
50 
53  static void unitTestRelaySignals();
54 
55  public slots:
58 
60  virtual swift::misc::simulation::CSimulatorPluginInfo getSimulatorPluginInfo() const override;
61 
63  virtual swift::misc::simulation::CSimulatorPluginInfoList getAvailableSimulatorPlugins() const override;
64 
66  virtual swift::misc::simulation::settings::CSimulatorSettings getSimulatorSettings() const override;
67 
69  virtual bool setSimulatorSettings(const swift::misc::simulation::settings::CSimulatorSettings &settings,
70  const swift::misc::simulation::CSimulatorInfo &simulatorInfo) override;
71 
73  virtual bool
74  startSimulatorPlugin(const swift::misc::simulation::CSimulatorPluginInfo &simulatorInfo) override;
75 
77  virtual void
78  stopSimulatorPlugin(const swift::misc::simulation::CSimulatorPluginInfo &simulatorInfo) override;
79 
81  virtual int checkListeners() override;
82 
84  virtual ISimulator::SimulatorStatus getSimulatorStatus() const override;
85 
87  virtual swift::misc::simulation::CAircraftModelList getModelSet() const override;
88 
90  virtual swift::misc::simulation::CSimulatorInfo simulatorsWithInitializedModelSet() const override;
91 
93  virtual swift::misc::CStatusMessageList verifyPrerequisites() const override;
94 
96  virtual swift::misc::simulation::CSimulatorInfo getModelSetLoaderSimulator() const override;
97 
99  virtual void setModelSetLoaderSimulator(const swift::misc::simulation::CSimulatorInfo &simulator) override;
100 
102  virtual QStringList getModelSetStrings() const override;
103 
105  virtual QStringList getModelSetCompleterStrings(bool sorted) const override;
106 
108  virtual int removeModelsFromSet(const swift::misc::simulation::CAircraftModelList &removeModels) override;
109 
111  virtual bool isKnownModelInSet(const QString &modelString) const override;
112 
115  getModelSetModelsStartingWith(const QString &modelString) const override;
116 
118  virtual int getModelSetCount() const override;
119 
121  virtual swift::misc::simulation::CSimulatorInternals getSimulatorInternals() const override;
122 
124  virtual void disableModelsForMatching(const swift::misc::simulation::CAircraftModelList &removedModels,
125  bool incremental) override;
126 
128  virtual swift::misc::simulation::CAircraftModelList getDisabledModelsForMatching() const override;
129 
131  virtual bool triggerModelSetValidation(const swift::misc::simulation::CSimulatorInfo &simulator) override;
132 
134  virtual bool isValidationInProgress() const override;
135 
137  virtual void restoreDisabledModels() override;
138 
141  getInterpolationAndRenderingSetupGlobal() const override;
142 
144  virtual void setInterpolationAndRenderingSetupGlobal(
146 
148  virtual swift::misc::simulation::CInterpolationSetupList
149  getInterpolationAndRenderingSetupsPerCallsign() const override;
150 
153  getInterpolationAndRenderingSetupPerCallsignOrDefault(
154  const swift::misc::aviation::CCallsign &callsign) const override;
155 
157  virtual bool setInterpolationAndRenderingSetupsPerCallsign(
158  const swift::misc::simulation::CInterpolationSetupList &setups, bool ignoreSameAsGlobal) override;
159 
162  getInterpolationMessages(const swift::misc::aviation::CCallsign &callsign) const override;
163 
165  virtual bool followAircraft(const swift::misc::aviation::CCallsign &callsign) override;
166 
168  virtual void recalculateAllAircraft() override;
169 
171  virtual bool resetToModelMatchingAircraft(const swift::misc::aviation::CCallsign &callsign) override;
172 
174  virtual bool
175  requestElevationBySituation(const swift::misc::aviation::CAircraftSituation &situation) override;
176 
179  findClosestElevationWithinRange(const swift::misc::geo::CCoordinateGeodetic &reference,
180  const swift::misc::physical_quantities::CLength &range) const override;
181 
184  getMatchingMessages(const swift::misc::aviation::CCallsign &callsign) const override;
185 
187  virtual swift::misc::simulation::MatchingLog isMatchingMessagesEnabled() const override;
188 
190  virtual void enableMatchingMessages(swift::misc::simulation::MatchingLog enabled) override;
191 
193  virtual bool parseCommandLine(const QString &commandLine,
194  const swift::misc::CIdentifier &originator) override;
195 
197  virtual int doMatchingsAgain() override;
198 
200  virtual bool doMatchingAgain(const swift::misc::aviation::CCallsign &callsign) override;
201 
204  getCurrentMatchingStatistics(bool missingOnly) const override;
205 
207  virtual void setMatchingSetup(const swift::misc::simulation::CAircraftMatcherSetup &setup) override;
208 
210  virtual swift::misc::simulation::CAircraftMatcherSetup getMatchingSetup() const override;
211 
213  virtual bool testRemoteAircraft(const swift::misc::simulation::CSimulatedAircraft &aircraft,
214  bool add) override;
215 
217  virtual bool testUpdateRemoteAircraft(const swift::misc::aviation::CCallsign &cs,
219  const swift::misc::aviation::CAircraftParts &parts) override;
221 
222  private:
223  swift::misc::CGenericDBusInterface *m_dBusInterface = nullptr;
224 
226  void relaySignals(const QString &serviceName, QDBusConnection &connection);
227 
228  protected:
231  : IContextSimulator(mode, runtime)
232  {}
233 
235  CContextSimulatorProxy(const QString &serviceName, QDBusConnection &connection,
237  };
238  } // namespace context
239 } // namespace swift::core
240 #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.