swift
Loading...
Searching...
No Matches
ownaircraftproviderdummy.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#include <QtGlobal>
7
8using namespace swift::misc::aviation;
9using namespace swift::misc::physical_quantities;
10
11namespace swift::misc::simulation
12{
14 {
15 QReadLocker l(&m_lock);
16 return m_ownAircraft;
17 }
18
20 {
21 QReadLocker l(&m_lock);
22 return m_ownAircraft.getCallsign();
23 }
24
26 {
27 QReadLocker l(&m_lock);
28 return m_ownAircraft.getComSystem(unit);
29 }
30
32 {
33 QReadLocker l(&m_lock);
34 return m_ownAircraft.getTransponder();
35 }
36
38 {
39 QReadLocker l(&m_lock);
40 return m_ownAircraft.getPosition();
41 }
42
44 {
45 QReadLocker l(&m_lock);
46 return m_ownAircraft.getSituation();
47 }
48
50 {
51 QReadLocker l(&m_lock);
52 return m_ownAircraft.getParts();
53 }
54
56 {
57 QReadLocker l(&m_lock);
58 return m_ownAircraft.getModel();
59 }
60
65
67 const aviation::CTransponder &transponder,
68 const CIdentifier &originator)
69 {
70 QWriteLocker l(&m_lock);
71 m_ownAircraft.setCom1System(com1);
72 m_ownAircraft.setCom2System(com2);
73 m_ownAircraft.setTransponder(transponder);
74 Q_UNUSED(originator);
75 return true;
76 }
77
79 CComSystem::ComUnit comUnit,
80 const swift::misc::CIdentifier &originator)
81 {
82 if (!CComSystem::isValidComFrequency(frequency))
83 {
84 return false;
85 }
86 QWriteLocker l(&m_lock);
87 CComSystem com = m_ownAircraft.getComSystem(comUnit);
88 com.setFrequencyActive(frequency);
89 m_ownAircraft.setComSystem(com, comUnit);
90 Q_UNUSED(originator);
91 return true;
92 }
93
95 {
96 QWriteLocker l(&m_lock);
97 m_ownAircraft.setSelcal(selcal);
98 Q_UNUSED(originator);
99 return true;
100 }
101
103 {
104 QWriteLocker l(&m_lock);
105 m_ownAircraft.setModel(model);
106 return true;
107 }
108
110 {
111 QWriteLocker l(&m_lock);
112 m_ownAircraft.setSituation(situation);
113 return true;
114 }
115
117 {
118 QWriteLocker l(&m_lock);
119 m_ownAircraft.setParts(parts);
120 return true;
121 }
122
124 {
125 QWriteLocker l(&m_lock);
126 return m_ownAircraft.setCG(cg);
127 }
128
130 {
131 QWriteLocker l(&m_lock);
132 m_ownAircraft.setCallsign(callsign);
133 return true;
134 }
135
137 const CAirlineIcaoCode &airlineIcaoCode)
138 {
139 QWriteLocker l(&m_lock);
140 m_ownAircraft.setIcaoCodes(aircraftIcaoCode, airlineIcaoCode);
141 return true;
142 }
143
145 {
146 static auto dummy = new COwnAircraftProviderDummy();
147 return dummy;
148 }
149} // 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.
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
static bool isValidComFrequency(const physical_quantities::CFrequency &f)
Valid COM frequency (either civil or military).
void setFrequencyActive(const physical_quantities::CFrequency &frequency)
Set active frequency.
Definition comsystem.cpp:37
Value object for SELCAL.
Definition selcal.h:31
Geodetic coordinate, a position in 3D space relative to the reference geoid.
physical_quantities::CLength calculateGreatCircleDistance(const ICoordinateGeodetic &otherCoordinate) const
Great circle distance.
Physical unit length (length).
Definition length.h:18
Aircraft model (used by another pilot, my models on disk).
bool updateSelcal(const swift::misc::aviation::CSelcal &selcal, const swift::misc::CIdentifier &originator)
Update cockpit, but only send signals when applicable.
bool updateOwnModel(const swift::misc::simulation::CAircraftModel &model)
Update model.
aviation::CComSystem getOwnComSystem(aviation::CComSystem::ComUnit unit) const
Own aircraft COM unit.
bool updateOwnCallsign(const swift::misc::aviation::CCallsign &callsign)
Update aircraft's callsign.
bool updateOwnIcaoCodes(const swift::misc::aviation::CAircraftIcaoCode &aircraftIcaoCode, const swift::misc::aviation::CAirlineIcaoCode &airlineIcaoCode)
Update ICAO data.
bool updateOwnCG(const swift::misc::physical_quantities::CLength &cg)
Update own aircraft's CG (aka vertical offset).
bool updateOwnSituation(const swift::misc::aviation::CAircraftSituation &situation)
Update own situation.
static COwnAircraftProviderDummy * instance()
Singleton.
aviation::CTransponder getOwnTransponder() const
Own aircraft XPDR.
bool updateCockpit(const swift::misc::aviation::CComSystem &com1, const swift::misc::aviation::CComSystem &com2, const swift::misc::aviation::CTransponder &transponder, const swift::misc::CIdentifier &originator)
Update cockpit, but only send signals when applicable.
swift::misc::aviation::CAircraftParts getOwnAircraftParts() const
Own aircraft's parts.
bool updateActiveComFrequency(const swift::misc::physical_quantities::CFrequency &frequency, swift::misc::aviation::CComSystem::ComUnit comUnit, const swift::misc::CIdentifier &originator)
Update cockpit, but only send signals when applicable.
swift::misc::geo::CCoordinateGeodetic getOwnAircraftPosition() const
Own aircraft's position.
aviation::CCallsign getOwnCallsign() const
Own aircraft's callsign.
swift::misc::simulation::CAircraftModel getOwnAircraftModel() const
Own aircraft model.
CSimulatedAircraft getOwnAircraft() const
Own aircraft.
bool updateOwnParts(const swift::misc::aviation::CAircraftParts &parts)
Update own parts.
swift::misc::aviation::CAircraftSituation getOwnAircraftSituation() const
Own aircraft's situation.
swift::misc::physical_quantities::CLength getDistanceToOwnAircraft(const swift::misc::geo::ICoordinateGeodetic &position) const
Distance to own aircraft.
Comprehensive information of an aircraft.