swift
ownaircraftprovider.cpp
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 using namespace swift::misc::aviation;
7 using namespace swift::misc::geo;
8 using namespace swift::misc::physical_quantities;
9 
10 namespace swift::misc::simulation
11 {
12  bool IOwnAircraftProvider::updateCockpit(const CSimulatedAircraft &aircraft, const CIdentifier &originator)
13  {
14  const bool changed1 = this->updateCockpit(aircraft.getCom1System(), aircraft.getCom2System(),
15  aircraft.getTransponder(), originator);
16  const bool changed2 = this->updateSelcal(aircraft.getSelcal(), originator);
17  return changed1 || changed2;
18  }
19 
20  // pin vtables to this file
21  void COwnAircraftAware::anchor() {}
22 
23  CSimulatedAircraft COwnAircraftAware::getOwnAircraft() const
24  {
25  Q_ASSERT_X(this->provider(), Q_FUNC_INFO, "No object available");
26  return this->provider()->getOwnAircraft();
27  }
28 
29  CCallsign COwnAircraftAware::getOwnCallsign() const
30  {
31  Q_ASSERT_X(this->provider(), Q_FUNC_INFO, "No object available");
32  return this->provider()->getOwnCallsign();
33  }
34 
35  CComSystem COwnAircraftAware::getOwnComSystem(CComSystem::ComUnit unit) const
36  {
37  Q_ASSERT_X(this->provider(), Q_FUNC_INFO, "No object available");
38  return this->provider()->getOwnComSystem(unit);
39  }
40 
41  CTransponder COwnAircraftAware::getOwnTransponder() const
42  {
43  Q_ASSERT_X(this->provider(), Q_FUNC_INFO, "No object available");
44  return this->provider()->getOwnTransponder();
45  }
46 
47  CCoordinateGeodetic COwnAircraftAware::getOwnAircraftPosition() const
48  {
49  Q_ASSERT_X(this->provider(), Q_FUNC_INFO, "No object available");
50  return this->provider()->getOwnAircraftPosition();
51  }
52 
53  CAircraftSituation COwnAircraftAware::getOwnAircraftSituation() const
54  {
55  Q_ASSERT_X(this->provider(), Q_FUNC_INFO, "No object available");
56  return this->provider()->getOwnAircraftSituation();
57  }
58 
59  CAircraftParts COwnAircraftAware::getOwnAircraftParts() const
60  {
61  Q_ASSERT_X(this->provider(), Q_FUNC_INFO, "No object available");
62  return this->provider()->getOwnAircraftParts();
63  }
64 
65  CAircraftModel COwnAircraftAware::getOwnAircraftModel() const
66  {
67  Q_ASSERT_X(this->provider(), Q_FUNC_INFO, "No object available");
68  return this->provider()->getOwnAircraftModel();
69  }
70 
71  CLength COwnAircraftAware::getDistanceToOwnAircraft(const geo::ICoordinateGeodetic &position) const
72  {
73  Q_ASSERT_X(this->provider(), Q_FUNC_INFO, "No object available");
74  return this->provider()->getDistanceToOwnAircraft(position);
75  }
76 
77  bool COwnAircraftAware::updateCockpit(const CSimulatedAircraft &aircraft, const CIdentifier &originator)
78  {
79  Q_ASSERT_X(this->provider(), Q_FUNC_INFO, "No object available");
80  return this->provider()->updateCockpit(aircraft, originator);
81  }
82 
83  bool COwnAircraftAware::updateCockpit(const CComSystem &com1, const CComSystem &com2,
84  const CTransponder &transponder, const CIdentifier &originator)
85  {
86  Q_ASSERT_X(this->provider(), Q_FUNC_INFO, "No object available");
87  return this->provider()->updateCockpit(com1, com2, transponder, originator);
88  }
89 
90  bool COwnAircraftAware::updateActiveComFrequency(const CFrequency &frequency, CComSystem::ComUnit comUnit,
91  const CIdentifier &originator)
92  {
93  Q_ASSERT_X(this->provider(), Q_FUNC_INFO, "No object available");
94  return this->provider()->updateActiveComFrequency(frequency, comUnit, originator);
95  }
96 
97  bool COwnAircraftAware::updateSelcal(const CSelcal &selcal, const CIdentifier &originator)
98  {
99  Q_ASSERT_X(this->provider(), Q_FUNC_INFO, "No object available");
100  return this->provider()->updateSelcal(selcal, originator);
101  }
102 
103  bool COwnAircraftAware::updateOwnModel(const CAircraftModel &model)
104  {
105  Q_ASSERT_X(this->provider(), Q_FUNC_INFO, "No object available");
106  return this->provider()->updateOwnModel(model);
107  }
108 
109  bool COwnAircraftAware::updateOwnSituation(const CAircraftSituation &situation)
110  {
111  Q_ASSERT_X(this->provider(), Q_FUNC_INFO, "No object available");
112  return this->provider()->updateOwnSituation(situation);
113  }
114 
115  bool COwnAircraftAware::updateOwnParts(const CAircraftParts &parts)
116  {
117  Q_ASSERT_X(this->provider(), Q_FUNC_INFO, "No object available");
118  return this->provider()->updateOwnParts(parts);
119  }
120 
121  bool COwnAircraftAware::updateOwnCG(const CLength &cg)
122  {
123  Q_ASSERT_X(this->provider(), Q_FUNC_INFO, "No object available");
124  return this->provider()->updateOwnCG(cg);
125  }
126 
127  bool COwnAircraftAware::updateOwnCallsign(const CCallsign &callsign)
128  {
129  Q_ASSERT_X(this->provider(), Q_FUNC_INFO, "No object available");
130  return this->provider()->updateOwnCallsign(callsign);
131  }
132 
133  bool COwnAircraftAware::updateOwnIcaoCodes(const CAircraftIcaoCode &aircraftIcaoData,
134  const CAirlineIcaoCode &airlineIcaoCode)
135  {
136  Q_ASSERT_X(this->provider(), Q_FUNC_INFO, "No object available");
137  return this->provider()->updateOwnIcaoCodes(aircraftIcaoData, airlineIcaoCode);
138  }
139 } // namespace swift::misc::simulation
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.
const aviation::CSelcal getSelcal() const
SELCAL.
const aviation::CComSystem & getCom2System() const
Get COM2 system.
const aviation::CTransponder & getTransponder() const
Get transponder.
const aviation::CComSystem & getCom1System() const
Get COM1 system.