swift
ownaircraftproviderdummy.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (C) 2015 swift Project Community / Contributors
2 // SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-swift-pilot-client-1
3 
5 
6 #ifndef SWIFT_MISC_SIMULATION_OWNAIRCRAFTPROVIDERDUMMY_H
7 #define SWIFT_MISC_SIMULATION_OWNAIRCRAFTPROVIDERDUMMY_H
8 
9 #include <QObject>
10 #include <QReadWriteLock>
11 
15 #include "misc/aviation/selcal.h"
17 #include "misc/identifier.h"
18 #include "misc/pq/frequency.h"
19 #include "misc/pq/length.h"
23 #include "misc/swiftmiscexport.h"
24 
25 namespace swift::misc
26 {
27  namespace aviation
28  {
29  class CAircraftIcaoCode;
30  class CAircraftSituation;
31  class CCallsign;
32  class CTransponder;
33  } // namespace aviation
34 
35  namespace simulation
36  {
39  {
40  Q_OBJECT
41 
42  public:
45 
47  static COwnAircraftProviderDummy *instance();
48 
50  virtual CSimulatedAircraft getOwnAircraft() const override;
51 
53  virtual aviation::CCallsign getOwnCallsign() const override;
54 
56  virtual aviation::CComSystem getOwnComSystem(aviation::CComSystem::ComUnit unit) const override;
57 
59  virtual aviation::CTransponder getOwnTransponder() const override;
60 
62  virtual swift::misc::geo::CCoordinateGeodetic getOwnAircraftPosition() const override;
63 
65  virtual swift::misc::aviation::CAircraftSituation getOwnAircraftSituation() const override;
66 
68  virtual swift::misc::aviation::CAircraftParts getOwnAircraftParts() const override;
69 
71  virtual swift::misc::simulation::CAircraftModel getOwnAircraftModel() const override;
72 
75  getDistanceToOwnAircraft(const swift::misc::geo::ICoordinateGeodetic &position) const override;
76 
77  public slots:
79  virtual bool updateCockpit(const swift::misc::aviation::CComSystem &com1,
81  const swift::misc::aviation::CTransponder &transponder,
82  const swift::misc::CIdentifier &originator) override;
83 
85  virtual bool updateActiveComFrequency(const swift::misc::physical_quantities::CFrequency &frequency,
87  const swift::misc::CIdentifier &originator) override;
88 
90  virtual bool updateSelcal(const swift::misc::aviation::CSelcal &selcal,
91  const swift::misc::CIdentifier &originator) override;
92 
94  virtual bool updateOwnCallsign(const swift::misc::aviation::CCallsign &callsign) override;
95 
97  virtual bool updateOwnModel(const swift::misc::simulation::CAircraftModel &model) override;
98 
100  virtual bool updateOwnIcaoCodes(const swift::misc::aviation::CAircraftIcaoCode &aircraftIcaoCode,
101  const swift::misc::aviation::CAirlineIcaoCode &airlineIcaoCode) override;
102 
104  virtual bool updateOwnSituation(const swift::misc::aviation::CAircraftSituation &situation) override;
105 
107  virtual bool updateOwnParts(const swift::misc::aviation::CAircraftParts &parts) override;
108 
110  virtual bool updateOwnCG(const swift::misc::physical_quantities::CLength &cg) override;
111 
112  private:
114  mutable QReadWriteLock m_lock;
115  };
116  } // namespace simulation
117 } // namespace swift::misc
118 
119 #endif // SWIFT_MISC_SIMULATION_OWNAIRCRAFTPROVIDERDUMMY_H
Value object encapsulating information identifying a component of a modular distributed swift process...
Definition: identifier.h:29
Value object for ICAO classification.
Value object encapsulating information of aircraft's parts.
Definition: aircraftparts.h:26
Value object encapsulating information of an aircraft's situation.
Value object for ICAO classification.
Value object encapsulating information of a callsign.
Definition: callsign.h:30
COM system (aka "radio")
Definition: comsystem.h:37
Value object for SELCAL.
Definition: selcal.h:31
Geodetic coordinate, a position in 3D space relative to the reference geoid.
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.
Direct threadsafe in memory access to own aircraft.
Free functions in swift::misc.
#define SWIFT_MISC_EXPORT
Export a class or function from the library.