swift
contextnetworkproxy.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_CONTEXT_CONTEXTNETWORK_PROXY_H
7 #define SWIFT_CORE_CONTEXT_CONTEXTNETWORK_PROXY_H
8 
9 #include <QObject>
10 #include <QString>
11 
13 #include "core/corefacadeconfig.h"
14 #include "core/swiftcoreexport.h"
20 #include "misc/identifier.h"
22 #include "misc/network/loginmode.h"
23 #include "misc/network/server.h"
26 #include "misc/network/user.h"
27 #include "misc/network/userlist.h"
30 #include "misc/statusmessage.h"
31 #include "misc/weather/metar.h"
32 
33 // clazy:excludeall=const-signal-or-slot
34 
35 class QDBusConnection;
36 
37 namespace swift::misc
38 {
39  class CGenericDBusInterface;
40  namespace aviation
41  {
42  class CAircraftParts;
43  class CCallsign;
44  } // namespace aviation
45  namespace simulation
46  {
47  class CAircraftModel;
48  }
49 } // namespace swift::misc
50 
51 namespace swift::core
52 {
53  class CCoreFacade;
54  namespace context
55  {
59  {
60  Q_OBJECT
61  friend class IContextNetwork;
62 
63  public:
65  virtual ~CContextNetworkProxy() override {}
66 
69  static void unitTestRelaySignals();
70 
71  public slots:
74 
77  getAtcStationsOnline(bool recalculateDistance) const override;
78 
80  virtual swift::misc::aviation::CAtcStationList getClosestAtcStationsOnline(int number) const override;
81 
83  virtual swift::misc::simulation::CSimulatedAircraftList getAircraftInRange() const override;
84 
86  virtual swift::misc::aviation::CCallsignSet getAircraftInRangeCallsigns() const override;
87 
89  virtual int getAircraftInRangeCount() const override;
90 
92  virtual bool isAircraftInRange(const swift::misc::aviation::CCallsign &callsign) const override;
93 
96  getAircraftInRangeForCallsign(const swift::misc::aviation::CCallsign &callsign) const override;
97 
100  getOnlineStationsForFrequency(const swift::misc::physical_quantities::CFrequency &frequency) const override;
101 
104  getOnlineStationForCallsign(const swift::misc::aviation::CCallsign &callsign) const override;
105 
107  virtual bool isOnlineStation(const swift::misc::aviation::CCallsign &callsign) const override;
108 
111  connectToNetwork(const swift::misc::network::CServer &server, const QString &extraLiveryString,
112  bool sendLivery, const QString &extraModelString, bool sendModelString,
113  const swift::misc::aviation::CCallsign &partnerCallsign,
114  swift::misc::network::CLoginMode mode) override;
115 
117  virtual swift::misc::CStatusMessage disconnectFromNetwork() override;
118 
120  virtual bool isConnected() const override;
121 
123  virtual swift::misc::network::CServer getConnectedServer() const override;
124 
126  virtual swift::misc::network::CLoginMode getLoginMode() const override;
127 
129  virtual bool parseCommandLine(const QString &commandLine,
130  const swift::misc::CIdentifier &originator) override;
131 
133  virtual void sendTextMessages(const swift::misc::network::CTextMessageList &textMessages) override;
134 
136  virtual void sendFlightPlan(const swift::misc::aviation::CFlightPlan &flightPlan) override;
137 
140  loadFlightPlanFromNetwork(const swift::misc::aviation::CCallsign &callsign) const override;
141 
144  getMetarForAirport(const swift::misc::aviation::CAirportIcaoCode &airportIcaoCode) const override;
145 
147  virtual swift::misc::network::CUserList getUsers() const override;
148 
151  getUsersForCallsigns(const swift::misc::aviation::CCallsignSet &callsigns) const override;
152 
155  getUserForCallsign(const swift::misc::aviation::CCallsign &callsign) const override;
156 
158  virtual swift::misc::network::CClientList getClients() const override;
159 
161  virtual swift::misc::network::CServerList getVatsimFsdServers() const override;
162 
165  getClientsForCallsigns(const swift::misc::aviation::CCallsignSet &callsigns) const override;
166 
168  virtual bool setOtherClient(const swift::misc::network::CClient &client) override;
169 
171  virtual void requestAircraftDataUpdates() override;
172 
174  virtual void requestAtisUpdates() override;
175 
177  virtual bool updateAircraftEnabled(const swift::misc::aviation::CCallsign &callsign,
178  bool enabledForRendering) override;
179 
181  virtual bool setAircraftEnabledFlag(const swift::misc::aviation::CCallsign &callsign,
182  bool enabledForRendering) override;
183 
185  virtual bool updateAircraftModel(const swift::misc::aviation::CCallsign &callsign,
187  const swift::misc::CIdentifier &originator) override;
188 
190  virtual bool updateAircraftNetworkModel(const swift::misc::aviation::CCallsign &callsign,
192  const swift::misc::CIdentifier &originator) override;
193 
195  virtual bool updateFastPositionEnabled(const swift::misc::aviation::CCallsign &callsign,
196  bool enableFastPositionSending) override;
197 
199  virtual bool updateAircraftSupportingGndFLag(const swift::misc::aviation::CCallsign &callsign,
200  bool supportGndFlag) override;
201 
203  virtual int reInitializeAllAircraft() override;
204 
206  virtual void setFastPositionEnabledCallsigns(swift::misc::aviation::CCallsignSet &callsigns) override;
207 
209  virtual swift::misc::aviation::CCallsignSet getFastPositionEnabledCallsigns() const override;
210 
213  getReverseLookupMessages(const swift::misc::aviation::CCallsign &callsign) const override;
214 
216  virtual swift::misc::simulation::ReverseLookupLogging isReverseLookupMessagesEnabled() const override;
217 
219  virtual void enableReverseLookupMessages(swift::misc::simulation::ReverseLookupLogging enable) override;
220 
223  getAircraftPartsHistory(const swift::misc::aviation::CCallsign &callsign) const override;
224 
227  getRemoteAircraftParts(const swift::misc::aviation::CCallsign &callsign) const override;
228 
230  virtual bool isAircraftPartsHistoryEnabled() const override;
231 
233  virtual bool
234  isRemoteAircraftSupportingParts(const swift::misc::aviation::CCallsign &callsign) const override;
235 
237  virtual void enableAircraftPartsHistory(bool enabled) override;
238 
240  virtual QString getNetworkStatistics(bool reset, const QString &separator) override;
241 
243  virtual bool setNetworkStatisticsEnable(bool enabled) override;
244 
246  virtual QStringList getNetworkPresetValues() const override;
247 
249  virtual swift::misc::aviation::CCallsign getPartnerCallsign() const override;
250 
252  virtual void testCreateDummyOnlineAtcStations(int number) override;
253 
255  virtual void testAddAircraftParts(const swift::misc::aviation::CCallsign &callsign,
257  bool incremental) override;
258 
260  virtual void testReceivedTextMessages(const swift::misc::network::CTextMessageList &textMessages) override;
261 
263  virtual void testReceivedAtisMessage(const swift::misc::aviation::CCallsign &callsign,
264  const swift::misc::aviation::CInformationMessage &msg) override;
265 
267  virtual void testRequestAircraftConfig(const swift::misc::aviation::CCallsign &callsign) override;
268 
270  virtual bool testAddAltitudeOffset(const swift::misc::aviation::CCallsign &callsign,
274 
275  public:
277  virtual QMetaObject::Connection
278  connectRawFsdMessageSignal(QObject *receiver, RawFsdMessageReceivedSlot rawFsdMessageReceivedSlot) override;
279 
280  private:
281  swift::misc::CGenericDBusInterface *m_dBusInterface;
284  void relaySignals(const QString &serviceName, QDBusConnection &connection);
285 
286  protected:
289  : IContextNetwork(mode, runtime), m_dBusInterface(nullptr)
290  {}
291 
293  CContextNetworkProxy(const QString &serviceName, QDBusConnection &connection,
295  };
296  } // namespace context
297 } // namespace swift::core
298 #endif // SWIFT_CORE_CONTEXT_CONTEXTNETWORK_PROXY_H
ContextMode
How to handle a given context.
The class providing facades (the contexts) for all DBus relevant operations.
Definition: corefacade.h:57
CContextNetworkProxy(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
Streamable status message, e.g.
Status messages, e.g. from Core -> GUI.
Value object encapsulating information of aircraft's parts.
Definition: aircraftparts.h:26
Value object encapsulating a list of aircraft parts.
Value object encapsulating information of airport ICAO data.
Value object encapsulating information about an ATC station.
Definition: atcstation.h:38
Value object for a list of ATC stations.
Value object encapsulating information of a callsign.
Definition: callsign.h:30
Value object for a set of callsigns.
Definition: callsignset.h:26
Value object for a flight plan.
Definition: flightplan.h:148
Value object encapsulating information message (ATIS, METAR, TAF)
Another client software.
Definition: client.h:27
Value object encapsulating a list of voice rooms.
Definition: clientlist.h:27
Value object encapsulating information about login mode.
Definition: loginmode.h:18
Value object encapsulating information of a server.
Definition: server.h:28
Value object encapsulating a list of servers.
Definition: serverlist.h:23
Value object encapsulating a list of text messages.
Value object encapsulating information of a user.
Definition: user.h:28
Value object encapsulating a list of voice rooms.
Definition: userlist.h:26
Physical unit length (length)
Definition: length.h:18
Aircraft model (used by another pilot, my models on disk)
Definition: aircraftmodel.h:71
Comprehensive information of an aircraft.
Value object encapsulating a list of aircraft.
Value object encapsulating information about METAR FIXME: runway visibilities FIXME: runway wind shea...
Definition: metar.h:38
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.