swift
contextnetworkproxy.cpp
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 #include <QDBusConnection>
7 #include <QLatin1String>
8 #include <QMetaObject>
9 #include <QObject>
10 #include <QtGlobal>
11 
12 #include "misc/dbus.h"
13 #include "misc/dbusserver.h"
15 
16 using namespace swift::misc;
17 using namespace swift::misc::network;
18 using namespace swift::misc::aviation;
19 using namespace swift::misc::physical_quantities;
20 using namespace swift::misc::weather;
21 using namespace swift::misc::simulation;
22 
23 namespace swift::core::context
24 {
25  CContextNetworkProxy::CContextNetworkProxy(const QString &serviceName, QDBusConnection &connection,
27  : IContextNetwork(mode, runtime), m_dBusInterface(nullptr)
28  {
29  m_dBusInterface = new CGenericDBusInterface(serviceName, IContextNetwork::ObjectPath(),
30  IContextNetwork::InterfaceName(), connection, this);
31  this->relaySignals(serviceName, connection);
32  }
33 
34  void CContextNetworkProxy::unitTestRelaySignals()
35  {
36  // connect signals, asserts when failures
37  QDBusConnection con = QDBusConnection::sessionBus();
39  Q_UNUSED(c);
40  }
41 
42  void CContextNetworkProxy::relaySignals(const QString &serviceName, QDBusConnection &connection)
43  {
44  bool s = connection.connect(serviceName, IContextNetwork::ObjectPath(), IContextNetwork::InterfaceName(),
45  "connectionStatusChanged", this,
48  Q_ASSERT(s);
49  s = connection.connect(serviceName, IContextNetwork::ObjectPath(), IContextNetwork::InterfaceName(),
50  "changedAtcStationsOnline", this, SIGNAL(changedAtcStationsOnline()));
51  Q_ASSERT(s);
52  s = connection.connect(serviceName, IContextNetwork::ObjectPath(), IContextNetwork::InterfaceName(),
53  "changedAtcStationsOnlineDigest", this, SIGNAL(changedAtcStationsOnlineDigest()));
54  Q_ASSERT(s);
55  s = connection.connect(serviceName, IContextNetwork::ObjectPath(), IContextNetwork::InterfaceName(),
56  "changedAircraftInRange", this, SIGNAL(changedAircraftInRange()));
57  Q_ASSERT(s);
58  s = connection.connect(serviceName, IContextNetwork::ObjectPath(), IContextNetwork::InterfaceName(),
59  "atcStationDisconnected", this,
61  Q_ASSERT(s);
62  s = connection.connect(serviceName, IContextNetwork::ObjectPath(), IContextNetwork::InterfaceName(),
63  "changedAircraftInRangeDigest", this, SIGNAL(changedAircraftInRangeDigest()));
64  Q_ASSERT(s);
65  s = connection.connect(serviceName, IContextNetwork::ObjectPath(), IContextNetwork::InterfaceName(), "kicked",
66  this, SIGNAL(kicked(QString)));
67  Q_ASSERT(s);
68  s = connection.connect(serviceName, IContextNetwork::ObjectPath(), IContextNetwork::InterfaceName(),
69  "textMessagesReceived", this,
71  Q_ASSERT(s);
72  s = connection.connect(serviceName, IContextNetwork::ObjectPath(), IContextNetwork::InterfaceName(),
73  "textMessageSent", this, SIGNAL(textMessageSent(swift::misc::network::CTextMessage)));
74  Q_ASSERT(s);
75  s = connection.connect(serviceName, IContextNetwork::ObjectPath(), IContextNetwork::InterfaceName(),
76  "changedRemoteAircraftEnabled", this,
78  Q_ASSERT(s);
79  s = connection.connect(serviceName, IContextNetwork::ObjectPath(), IContextNetwork::InterfaceName(),
80  "changedFastPositionUpdates", this,
82  Q_ASSERT(s);
83  s = connection.connect(serviceName, IContextNetwork::ObjectPath(), IContextNetwork::InterfaceName(),
84  "changedGndFlagCapability", this,
86  Q_ASSERT(s);
87  s = connection.connect(serviceName, IContextNetwork::ObjectPath(), IContextNetwork::InterfaceName(),
88  "addedAircraft", this,
90  Q_ASSERT(s);
91  s = connection.connect(serviceName, IContextNetwork::ObjectPath(), IContextNetwork::InterfaceName(),
92  "removedAircraft", this, SIGNAL(removedAircraft(swift::misc::aviation::CCallsign)));
93  Q_ASSERT(s);
94  s = connection.connect(serviceName, IContextNetwork::ObjectPath(), IContextNetwork::InterfaceName(),
95  "connectedServerChanged", this,
97  Q_ASSERT(s);
98  Q_UNUSED(s);
99  this->relayBaseClassSignals(serviceName, connection, IContextNetwork::ObjectPath(),
101  }
102 
104  {
105  return m_dBusInterface->callDBusRet<swift::misc::aviation::CAtcStationList>(
106  QLatin1String("getAtcStationsOnline"), recalculateDistance);
107  }
108 
110  {
111  return m_dBusInterface->callDBusRet<swift::misc::aviation::CAtcStationList>(
112  QLatin1String("getClosestAtcStationsOnline"), number);
113  }
114 
116  {
118  QLatin1String("getAircraftInRange"));
119  }
120 
122  {
123  return m_dBusInterface->callDBusRet<swift::misc::aviation::CCallsignSet>(
124  QLatin1String("getAircraftInRangeCallsigns"));
125  }
126 
128  {
129  return m_dBusInterface->callDBusRet<int>(QLatin1String("getAircraftInRangeCount"));
130  }
131 
133  {
134  return m_dBusInterface->callDBusRet<bool>(QLatin1String("isAircraftInRange"), callsign);
135  }
136 
138  {
140  QLatin1String("getAircraftInRangeForCallsign"), callsign);
141  }
142 
144  {
145  return m_dBusInterface->callDBusRet<swift::misc::aviation::CAtcStationList>(
146  QLatin1String("getOnlineStationsForFrequency"), frequency);
147  }
148 
150  {
151  return m_dBusInterface->callDBusRet<swift::misc::aviation::CAtcStation>(
152  QLatin1String("getOnlineStationForCallsign"), callsign);
153  }
154 
156  {
157  return m_dBusInterface->callDBusRet<bool>(QLatin1String("isOnlineStation"), callsign);
158  }
159 
161  {
162  return m_dBusInterface->callDBusRet<swift::misc::network::CUserList>(QLatin1String("getUsers"));
163  }
164 
166  {
167  return m_dBusInterface->callDBusRet<swift::misc::network::CUserList>(QLatin1String("getUsersForCallsigns"),
168  callsigns);
169  }
170 
172  {
173  return m_dBusInterface->callDBusRet<swift::misc::network::CUser>(QLatin1String("getUserForCallsign"), callsign);
174  }
175 
177  {
178  return m_dBusInterface->callDBusRet<swift::misc::network::CClientList>(QLatin1String("getClients"));
179  }
180 
182  {
183  return m_dBusInterface->callDBusRet<swift::misc::network::CServerList>(QLatin1String("getVatsimFsdServers"));
184  }
185 
187  {
188  return m_dBusInterface->callDBusRet<swift::misc::network::CClientList>(QLatin1String("getClientsForCallsigns"),
189  callsigns);
190  }
191 
193  {
194  return m_dBusInterface->callDBusRet<bool>(QLatin1String("setOtherClient"), client);
195  }
196 
198  {
199  m_dBusInterface->callDBus(QLatin1String("requestAircraftDataUpdates"));
200  }
201 
202  void CContextNetworkProxy::requestAtisUpdates() { m_dBusInterface->callDBus(QLatin1String("requestAtisUpdates")); }
203 
204  bool CContextNetworkProxy::updateAircraftEnabled(const CCallsign &callsign, bool enabledForRendering)
205  {
206  return m_dBusInterface->callDBusRet<bool>(QLatin1String("updateAircraftEnabled"), callsign,
207  enabledForRendering);
208  }
209 
210  bool CContextNetworkProxy::setAircraftEnabledFlag(const CCallsign &callsign, bool enabledForRendering)
211  {
212  return m_dBusInterface->callDBusRet<bool>(QLatin1String("setAircraftEnabledFlag"), callsign,
213  enabledForRendering);
214  }
215 
217  const CIdentifier &originator)
218  {
219  return m_dBusInterface->callDBusRet<bool>(QLatin1String("updateAircraftModel"), callsign, model, originator);
220  }
221 
223  const CIdentifier &originator)
224  {
225  return m_dBusInterface->callDBusRet<bool>(QLatin1String("updateAircraftNetworkModel"), callsign, model,
226  originator);
227  }
228 
229  bool CContextNetworkProxy::updateFastPositionEnabled(const CCallsign &callsign, bool enableFastPositionSending)
230  {
231  return m_dBusInterface->callDBusRet<bool>(QLatin1String("updateFastPositionEnabled"), callsign,
232  enableFastPositionSending);
233  }
234 
235  bool CContextNetworkProxy::updateAircraftSupportingGndFLag(const CCallsign &callsign, bool supportGndFlag)
236  {
237  return m_dBusInterface->callDBusRet<bool>(QLatin1String("updateAircraftSupportingGndFLag"), callsign,
238  supportGndFlag);
239  }
240 
242  {
243  return m_dBusInterface->callDBusRet<int>(QLatin1String("reInitializeAllAircraft"));
244  }
245 
247  {
248  m_dBusInterface->callDBus(QLatin1String("setFastPositionEnabledCallsigns"), callsigns);
249  }
250 
252  {
253  return m_dBusInterface->callDBusRet<CCallsignSet>(QLatin1String("getFastPositionEnabledCallsigns"));
254  }
255 
257  {
258  return m_dBusInterface->callDBusRet<CStatusMessageList>(QLatin1String("getReverseLookupMessages"), callsign);
259  }
260 
262  {
263  return m_dBusInterface->callDBusRet<ReverseLookupLogging>(QLatin1String("isReverseLookupMessagesEnabled"));
264  }
265 
266  void CContextNetworkProxy::enableReverseLookupMessages(ReverseLookupLogging enable)
267  {
268  m_dBusInterface->callDBus(QLatin1String("enableReverseLookupMessages"), enable);
269  }
270 
272  {
273  return m_dBusInterface->callDBusRet<CStatusMessageList>(QLatin1String("getAircraftPartsHistory"), callsign);
274  }
275 
278  {
279  return m_dBusInterface->callDBusRet<CAircraftPartsList>(QLatin1String("getRemoteAircraftParts"), callsign);
280  }
281 
283  {
284  return m_dBusInterface->callDBusRet<bool>(QLatin1String("isAircraftPartsHistoryEnabled"));
285  }
286 
288  {
289  return m_dBusInterface->callDBusRet<bool>(QLatin1String("isRemoteAircraftSupportingParts"), callsign);
290  }
291 
293  {
294  m_dBusInterface->callDBus(QLatin1String("enableAircraftPartsHistory"), enabled);
295  }
296 
297  QString CContextNetworkProxy::getNetworkStatistics(bool reset, const QString &separator)
298  {
299  return m_dBusInterface->callDBusRet<QString>(QLatin1String("getNetworkStatistics"), reset, separator);
300  }
301 
303  {
304  return m_dBusInterface->callDBusRet<bool>(QLatin1String("setNetworkStatisticsEnable"), enabled);
305  }
306 
308  {
309  return m_dBusInterface->callDBusRet<QStringList>(QLatin1String("getNetworkPresetValues"));
310  }
311 
313  {
314  return m_dBusInterface->callDBusRet<CCallsign>(QLatin1String("getPartnerCallsign"));
315  }
316 
318  {
319  m_dBusInterface->callDBus(QLatin1String("testCreateDummyOnlineAtcStations"), number);
320  }
321 
323  const CAircraftParts &parts, bool incremental)
324  {
325  m_dBusInterface->callDBus(QLatin1String("testAddAircraftParts"), callsign, parts, incremental);
326  }
327 
329  {
330  m_dBusInterface->callDBus(QLatin1String("testReceivedTextMessages"), textMessages);
331  }
332 
334  {
335  m_dBusInterface->callDBus(QLatin1String("testReceivedAtisMessage"), callsign, msg);
336  }
337 
339  {
340  m_dBusInterface->callDBus(QLatin1String("testRequestAircraftConfig"), callsign);
341  }
342 
344  const physical_quantities::CLength &offset)
345  {
346  return m_dBusInterface->callDBusRet<bool>(QLatin1String("testAddAltitudeOffset"), callsign, offset);
347  }
348 
349  CStatusMessage CContextNetworkProxy::connectToNetwork(const CServer &server, const QString &extraLiveryString,
350  bool sendLiveryString, const QString &extraModelString,
351  bool sendModelString, const CCallsign &partnerCallsign,
352  CLoginMode loginMode)
353  {
354  return m_dBusInterface->callDBusRet<swift::misc::CStatusMessage>(
355  QLatin1String("connectToNetwork"), server, extraLiveryString, sendLiveryString, extraModelString,
356  sendModelString, partnerCallsign, loginMode);
357  }
358 
360  {
361  return m_dBusInterface->callDBusRet<swift::misc::CStatusMessage>(QLatin1String("disconnectFromNetwork"));
362  }
363 
365  {
366  return m_dBusInterface->callDBusRet<bool>(QLatin1String("isConnected"));
367  }
368 
370  {
371  return m_dBusInterface->callDBusRet<swift::misc::network::CServer>(QLatin1String("getConnectedServer"));
372  }
373 
375  {
376  return m_dBusInterface->callDBusRet<CLoginMode>(QLatin1String("getLoginMode"));
377  }
378 
379  bool CContextNetworkProxy::parseCommandLine(const QString &commandLine, const CIdentifier &originator)
380  {
381  return m_dBusInterface->callDBusRet<bool>(QLatin1String("parseCommandLine"), commandLine, originator);
382  }
383 
385  {
386  m_dBusInterface->callDBus(QLatin1String("sendTextMessages"), textMessages);
387  }
388 
390  {
391  m_dBusInterface->callDBus(QLatin1String("sendFlightPlan"), flightPlan);
392  }
393 
395  {
396  return m_dBusInterface->callDBusRet<swift::misc::aviation::CFlightPlan>(
397  QLatin1String("loadFlightPlanFromNetwork"), callsign);
398  }
399 
401  {
402  return m_dBusInterface->callDBusRet<swift::misc::weather::CMetar>(QLatin1String("getMetarForAirport"),
403  airportIcaoCode);
404  }
405 
406  QMetaObject::Connection
408  RawFsdMessageReceivedSlot rawFsdMessageReceivedSlot)
409  {
410  Q_UNUSED(receiver);
411  Q_UNUSED(rawFsdMessageReceivedSlot);
412  return {};
413  }
414 } // namespace swift::core::context
ContextMode
How to handle a given context.
@ Remote
context runs in a different process.
The class providing facades (the contexts) for all DBus relevant operations.
Definition: corefacade.h:57
virtual swift::misc::network::CUserList getUsersForCallsigns(const swift::misc::aviation::CCallsignSet &callsigns) const
Users for given callsigns, e.g. for voice room resolution.
virtual bool setAircraftEnabledFlag(const swift::misc::aviation::CCallsign &callsign, bool enabledForRendering)
Set the enabled flag without any further logic like sending signals.
virtual bool isConnected() const
Network connected?
virtual bool testAddAltitudeOffset(const swift::misc::aviation::CCallsign &callsign, const swift::misc::physical_quantities::CLength &offset=swift::misc::physical_quantities::CLength::null())
Add altitude offset for testing.
virtual bool updateFastPositionEnabled(const swift::misc::aviation::CCallsign &callsign, bool enableFastPositionSending)
Change fast position updates.
virtual swift::misc::CStatusMessageList getAircraftPartsHistory(const swift::misc::aviation::CCallsign &callsign) const
Get aircraft parts history.
virtual bool setNetworkStatisticsEnable(bool enabled)
Statistics enable/disable.
virtual swift::misc::aviation::CAtcStationList getClosestAtcStationsOnline(int number) const
The ATC list with online ATC controllers.
virtual QMetaObject::Connection connectRawFsdMessageSignal(QObject *receiver, RawFsdMessageReceivedSlot rawFsdMessageReceivedSlot)
Connect to receive raw fsd messages.
virtual swift::misc::simulation::ReverseLookupLogging isReverseLookupMessagesEnabled() const
Enabled reverse lookup logging?
virtual bool updateAircraftEnabled(const swift::misc::aviation::CCallsign &callsign, bool enabledForRendering)
Enable/disable rendering.
virtual swift::misc::aviation::CAtcStation getOnlineStationForCallsign(const swift::misc::aviation::CCallsign &callsign) const
Online station for callsign.
virtual swift::misc::simulation::CSimulatedAircraftList getAircraftInRange() const
Aircraft list.
virtual bool isOnlineStation(const swift::misc::aviation::CCallsign &callsign) const
Online station for callsign?
virtual swift::misc::simulation::CSimulatedAircraft getAircraftInRangeForCallsign(const swift::misc::aviation::CCallsign &callsign) const
Aircraft for given callsign.
virtual swift::misc::aviation::CCallsignSet getAircraftInRangeCallsigns() const
Aircraft callsigns.
virtual void testReceivedTextMessages(const swift::misc::network::CTextMessageList &textMessages)
Inject a text message as received.
virtual swift::misc::CStatusMessage connectToNetwork(const swift::misc::network::CServer &server, const QString &extraLiveryString, bool sendLivery, const QString &extraModelString, bool sendModelString, const swift::misc::aviation::CCallsign &partnerCallsign, swift::misc::network::CLoginMode mode)
Connect to Network.
virtual bool isAircraftInRange(const swift::misc::aviation::CCallsign &callsign) const
Aircraft in range.
virtual void testCreateDummyOnlineAtcStations(int number)
Create dummy ATC stations for performance tests etc.
virtual int reInitializeAllAircraft()
Re-initialize all aircraft.
virtual void enableReverseLookupMessages(swift::misc::simulation::ReverseLookupLogging enable)
Enable reverse lookup logging.
virtual swift::misc::network::CLoginMode getLoginMode() const
Login mode.
virtual bool updateAircraftModel(const swift::misc::aviation::CCallsign &callsign, const swift::misc::simulation::CAircraftModel &model, const swift::misc::CIdentifier &originator)
Change model (for remote aircraft)
virtual swift::misc::CStatusMessage disconnectFromNetwork()
Disconnect from network.
virtual swift::misc::network::CServer getConnectedServer() const
Server which is connected, if not connected empty default object.
virtual void testRequestAircraftConfig(const swift::misc::aviation::CCallsign &callsign)
Request parts for callsign (from another client)
virtual void requestAircraftDataUpdates()
Request data updates (pilot's frequencies, ATIS, ..)
virtual void testAddAircraftParts(const swift::misc::aviation::CCallsign &callsign, const swift::misc::aviation::CAircraftParts &parts, bool incremental)
Inject aircraft parts for testing.
virtual swift::misc::aviation::CCallsignSet getFastPositionEnabledCallsigns() const
Callsigns enabled for fast position updates.
virtual bool updateAircraftNetworkModel(const swift::misc::aviation::CCallsign &callsign, const swift::misc::simulation::CAircraftModel &model, const swift::misc::CIdentifier &originator)
Change network model (for remote aircraft)
virtual void requestAtisUpdates()
Request ATIS updates (for all stations)
virtual bool setOtherClient(const swift::misc::network::CClient &client)
Set client for given callsign.
virtual swift::misc::network::CServerList getVatsimFsdServers() const
Known FSD servers, available when data file was first read.
swift::misc::weather::CMetar getMetarForAirport(const swift::misc::aviation::CAirportIcaoCode &airportIcaoCode) const
Get METAR, if not available request it (code such as EDDF, KLAX)
virtual QString getNetworkStatistics(bool reset, const QString &separator)
Statistics info.
virtual void sendFlightPlan(const swift::misc::aviation::CFlightPlan &flightPlan)
Send flight plan.
virtual void testReceivedAtisMessage(const swift::misc::aviation::CCallsign &callsign, const swift::misc::aviation::CInformationMessage &msg)
Inject an ATIS.
virtual swift::misc::CStatusMessageList getReverseLookupMessages(const swift::misc::aviation::CCallsign &callsign) const
Get reverse lookup messages.
virtual void sendTextMessages(const swift::misc::network::CTextMessageList &textMessages)
Text messages (radio and private chat messages)
virtual void setFastPositionEnabledCallsigns(swift::misc::aviation::CCallsignSet &callsigns)
Callsigns enabled for fast position updates.
virtual swift::misc::aviation::CCallsign getPartnerCallsign() const
Partner callsign if any.
virtual swift::misc::aviation::CAtcStationList getOnlineStationsForFrequency(const swift::misc::physical_quantities::CFrequency &frequency) const
Online stations for frequency.
virtual swift::misc::aviation::CAtcStationList getAtcStationsOnline(bool recalculateDistance) const
The ATC list with online ATC controllers.
virtual swift::misc::aviation::CAircraftPartsList getRemoteAircraftParts(const swift::misc::aviation::CCallsign &callsign) const
Get remote aircraft parts.
virtual swift::misc::network::CClientList getClients() const
Information about other clients.
virtual swift::misc::network::CUser getUserForCallsign(const swift::misc::aviation::CCallsign &callsign) const
User for given callsign, e.g. for text messages.
virtual swift::misc::network::CClientList getClientsForCallsigns(const swift::misc::aviation::CCallsignSet &callsigns) const
Clients for given callsign, e.g. to test/fetch direct aircraft model.
virtual bool parseCommandLine(const QString &commandLine, const swift::misc::CIdentifier &originator)
Parse a given command line.
virtual int getAircraftInRangeCount() const
Aircraft count.
virtual void enableAircraftPartsHistory(bool enabled)
Enable storing of aircraft parts.
virtual swift::misc::network::CUserList getUsers() const
Get all users.
virtual bool isRemoteAircraftSupportingParts(const swift::misc::aviation::CCallsign &callsign) const
Parts supported?
virtual bool updateAircraftSupportingGndFLag(const swift::misc::aviation::CCallsign &callsign, bool supportGndFlag)
Enable/disable support of gnd. flag.
virtual QStringList getNetworkPresetValues() const
Network preset values.
virtual swift::misc::aviation::CFlightPlan loadFlightPlanFromNetwork(const swift::misc::aviation::CCallsign &callsign) const
Load flight plan (from network)
virtual bool isAircraftPartsHistoryEnabled() const
Is storing the aircraft parts history enabled?
void relayBaseClassSignals(const QString &serviceName, QDBusConnection &connection, const QString &objectPath, const QString &interfaceName)
Relay signals from this class.
Definition: context.cpp:61
void textMessageSent(const swift::misc::network::CTextMessage &sentMessage)
Text message sent (by me)
void changedAircraftInRange()
Aircraft list has been changed.
void connectedServerChanged(const swift::misc::network::CServer &server)
The connected server has been changed.
void changedFastPositionUpdates(const swift::misc::simulation::CSimulatedAircraft &aircraft)
Aircraft enabled / disabled.
void addedAircraft(const swift::misc::simulation::CSimulatedAircraft &remoteAircraft)
A new aircraft appeared.
void changedGndFlagCapability(const swift::misc::simulation::CSimulatedAircraft &aircraft)
Changed gnd. flag capability.
void changedAtcStationsOnline()
ATC station (online) list has been changed.
void textMessagesReceived(const swift::misc::network::CTextMessageList &textMessages)
Text messages received (also private chat messages, radio channel messages)
static const QString & InterfaceName()
DBus interface name.
static const QString & ObjectPath()
DBus object path.
void kicked(const QString &kickMessage)
User has been kicked from network.
std::function< void(const swift::misc::network::CRawFsdMessage &)> RawFsdMessageReceivedSlot
Raw FSD message receiver functor.
void changedAtcStationsOnlineDigest()
Digest signal changedAtcStationsOnline()
void changedRemoteAircraftEnabled(const swift::misc::simulation::CSimulatedAircraft &aircraft)
Aircraft enabled / disabled.
void connectionStatusChanged(const swift::misc::network::CConnectionStatus &from, const swift::misc::network::CConnectionStatus &to)
Connection status changed.
void atcStationDisconnected(const swift::misc::aviation::CAtcStation &atcStation)
ATC station disconnected.
void changedAircraftInRangeDigest()
Digest signal changedAircraftInRange()
void removedAircraft(const swift::misc::aviation::CCallsign &callsign)
An aircraft disappeared.
static const QString & coreServiceName()
Default service name.
Definition: dbusserver.cpp:98
Used for hand written interface based on virtual methods.
void callDBus(QLatin1String method, Args &&...args)
Call DBus, no return value.
Ret callDBusRet(QLatin1String method, Args &&...args)
Call DBus with synchronous return value.
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 a connection status.
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 information of a text message.
Definition: textmessage.h:31
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
Free functions in swift::misc.