diff --git a/src/blackcore/airspace_monitor.cpp b/src/blackcore/airspace_monitor.cpp index 465684b2d..49e968889 100644 --- a/src/blackcore/airspace_monitor.cpp +++ b/src/blackcore/airspace_monitor.cpp @@ -140,7 +140,7 @@ namespace BlackCore QList CAirspaceMonitor::connectRemoteAircraftProviderSignals( QObject *receiver, std::function situationSlot, - std::function partsSlot, + std::function partsSlot, std::function removedAircraftSlot, std::function aircraftSnapshotSlot ) @@ -373,9 +373,9 @@ namespace BlackCore emit this->changedAtcStationsOnline(); } - void CAirspaceMonitor::testAddAircraftParts(const CAircraftParts &parts, bool incremental) + void CAirspaceMonitor::testAddAircraftParts(const BlackMisc::Aviation::CCallsign &callsign, const CAircraftParts &parts, bool incremental) { - this->ps_aircraftConfigReceived(parts.getCallsign(), parts.toJson(), !incremental); + this->ps_aircraftConfigReceived(callsign, parts.toJson(), !incremental); } void CAirspaceMonitor::clear() @@ -1011,18 +1011,17 @@ namespace BlackCore else { // incremental update - parts = this->remoteAircraftParts(callsign).findFirstByCallsign(callsign); + parts = this->remoteAircraftParts(callsign).frontOrDefault(); QJsonObject config = applyIncrementalObject(parts.toJson(), jsonObject); parts.convertFromJson(config); } - // make sure in any case right time / callsign + // make sure in any case right time parts.setCurrentUtcTime(); - parts.setCallsign(callsign); // store part history (parts always absolute) - this->storeAircraftParts(parts); - emit this->addedAircraftParts(parts); + this->storeAircraftParts(callsign, parts); + emit this->addedAircraftParts(callsign, parts); // here I expect always a changed value QWriteLocker l(&m_lockAircraft); @@ -1052,10 +1051,8 @@ namespace BlackCore Q_ASSERT_X(l.size() < 2 || l[0].getMSecsSinceEpoch() >= l[1].getMSecsSinceEpoch(), Q_FUNC_INFO, "wrong sort order"); } - void CAirspaceMonitor::storeAircraftParts(const CAircraftParts &parts) + void CAirspaceMonitor::storeAircraftParts(const CCallsign &callsign, const CAircraftParts &parts) { - const CCallsign callsign(parts.getCallsign()); - Q_ASSERT_X(!callsign.isEmpty(), "storeAircraftParts", "empty callsign"); if (callsign.isEmpty()) { return; } // list sorted from new to old diff --git a/src/blackcore/airspace_monitor.h b/src/blackcore/airspace_monitor.h index f0afe792b..a7e4532e8 100644 --- a/src/blackcore/airspace_monitor.h +++ b/src/blackcore/airspace_monitor.h @@ -145,13 +145,13 @@ namespace BlackCore void testCreateDummyOnlineAtcStations(int number); //! Test injected aircraft parts - void testAddAircraftParts(const BlackMisc::Aviation::CAircraftParts &parts, bool incremental); + void testAddAircraftParts(const BlackMisc::Aviation::CCallsign &callsign, const BlackMisc::Aviation::CAircraftParts &parts, bool incremental); //! \copydoc IRemoteAircraftProvider::connectRemoteAircraftProviderSignals virtual QList connectRemoteAircraftProviderSignals( QObject *receiver, std::function addedSituationSlot, - std::function addedPartsSlot, + std::function addedPartsSlot, std::function removedAircraftSlot, std::function aircraftSnapshotSlot ) override; @@ -188,7 +188,7 @@ namespace BlackCore void addedAircraft(const BlackMisc::Simulation::CSimulatedAircraft &remoteAircraft); //! Parts added - void addedAircraftParts(const BlackMisc::Aviation::CAircraftParts &parts); + void addedAircraftParts(const BlackMisc::Aviation::CCallsign &callsign, const BlackMisc::Aviation::CAircraftParts &parts); //! Situation added void addedAircraftSituation(const BlackMisc::Aviation::CAircraftSituation &situation); @@ -251,7 +251,7 @@ namespace BlackCore //! Store an aircraft part //! \threadsafe - void storeAircraftParts(const BlackMisc::Aviation::CAircraftParts &parts); + void storeAircraftParts(const BlackMisc::Aviation::CCallsign &callsign, const BlackMisc::Aviation::CAircraftParts &parts); private slots: //! Create aircraft in range, this is the only place where a new aircraft should be added diff --git a/src/blackcore/context_network.h b/src/blackcore/context_network.h index 2634f55a1..19c5c3c0c 100644 --- a/src/blackcore/context_network.h +++ b/src/blackcore/context_network.h @@ -269,7 +269,7 @@ namespace BlackCore virtual void testCreateDummyOnlineAtcStations(int number) = 0; //! Inject aircraft parts for testing - virtual void testAddAircraftParts(const BlackMisc::Aviation::CAircraftParts &parts, bool incremental) = 0; + virtual void testAddAircraftParts(const BlackMisc::Aviation::CCallsign &callsign, const BlackMisc::Aviation::CAircraftParts &parts, bool incremental) = 0; protected: //! Constructor diff --git a/src/blackcore/context_network_empty.h b/src/blackcore/context_network_empty.h index b064de72b..30c8d8e0e 100644 --- a/src/blackcore/context_network_empty.h +++ b/src/blackcore/context_network_empty.h @@ -214,8 +214,9 @@ namespace BlackCore } //! \copydoc IContextNetwork::testAddAircraftParts - virtual void testAddAircraftParts(const BlackMisc::Aviation::CAircraftParts &parts, bool incremental) override + virtual void testAddAircraftParts(const BlackMisc::Aviation::CCallsign &callsign, const BlackMisc::Aviation::CAircraftParts &parts, bool incremental) override { + Q_UNUSED(callsign); Q_UNUSED(parts); Q_UNUSED(incremental); logEmptyContextWarning(Q_FUNC_INFO); diff --git a/src/blackcore/context_network_impl.cpp b/src/blackcore/context_network_impl.cpp index 4b9aa8889..9dff18a0b 100644 --- a/src/blackcore/context_network_impl.cpp +++ b/src/blackcore/context_network_impl.cpp @@ -132,7 +132,7 @@ namespace BlackCore QList CContextNetwork::connectRemoteAircraftProviderSignals( QObject *receiver, std::function situationSlot, - std::function partsSlot, + std::function partsSlot, std::function removedAircraftSlot, std::function aircraftSnapshotSlot) { @@ -620,10 +620,10 @@ namespace BlackCore this->m_airspace->testCreateDummyOnlineAtcStations(number); } - void CContextNetwork::testAddAircraftParts(const CAircraftParts &parts, bool incremental) + void CContextNetwork::testAddAircraftParts(const BlackMisc::Aviation::CCallsign &callsign, const CAircraftParts &parts, bool incremental) { if (this->isDebugEnabled()) { CLogMessage(this, CLogCategory::contextSlot()).debug() << Q_FUNC_INFO << parts << incremental; } - this->m_airspace->testAddAircraftParts(parts, incremental); + this->m_airspace->testAddAircraftParts(callsign, parts, incremental); } CMetar CContextNetwork::getMetar(const BlackMisc::Aviation::CAirportIcaoCode &airportIcaoCode) diff --git a/src/blackcore/context_network_impl.h b/src/blackcore/context_network_impl.h index fe8af1cb1..f8b67a2ea 100644 --- a/src/blackcore/context_network_impl.h +++ b/src/blackcore/context_network_impl.h @@ -77,7 +77,7 @@ namespace BlackCore virtual QList connectRemoteAircraftProviderSignals( QObject *receiver, std::function addedSituationSlot, - std::function addedPartsSlot, + std::function addedPartsSlot, std::function removedAircraftSlot, std::function aircraftSnapshotSlot ) override; @@ -221,7 +221,7 @@ namespace BlackCore virtual void testCreateDummyOnlineAtcStations(int number) override; //! \copydoc IContextNetwork::testAddAircraftParts - virtual void testAddAircraftParts(const BlackMisc::Aviation::CAircraftParts &parts, bool incremental) override; + virtual void testAddAircraftParts(const BlackMisc::Aviation::CCallsign &callsign, const BlackMisc::Aviation::CAircraftParts &parts, bool incremental) override; //! Gracefully shut down, e.g. for thread safety void gracefulShutdown(); diff --git a/src/blackcore/context_network_proxy.cpp b/src/blackcore/context_network_proxy.cpp index 130c89fe5..4775b75e5 100644 --- a/src/blackcore/context_network_proxy.cpp +++ b/src/blackcore/context_network_proxy.cpp @@ -227,9 +227,9 @@ namespace BlackCore this->m_dBusInterface->callDBus(QLatin1Literal("testCreateDummyOnlineAtcStations"), number); } - void CContextNetworkProxy::testAddAircraftParts(const CAircraftParts &parts, bool incremental) + void CContextNetworkProxy::testAddAircraftParts(const BlackMisc::Aviation::CCallsign &callsign, const CAircraftParts &parts, bool incremental) { - this->m_dBusInterface->callDBus(QLatin1Literal("testAddAircraftParts"), parts, incremental); + this->m_dBusInterface->callDBus(QLatin1Literal("testAddAircraftParts"), callsign, parts, incremental); } CStatusMessage CContextNetworkProxy::connectToNetwork(const CServer &server, int loginMode) diff --git a/src/blackcore/context_network_proxy.h b/src/blackcore/context_network_proxy.h index 70879a40a..5963d5405 100644 --- a/src/blackcore/context_network_proxy.h +++ b/src/blackcore/context_network_proxy.h @@ -160,7 +160,7 @@ namespace BlackCore virtual void testCreateDummyOnlineAtcStations(int number) override; //! \copydoc IContextNetwork::testAddAircraftParts - virtual void testAddAircraftParts(const BlackMisc::Aviation::CAircraftParts &parts, bool incremental) override; + virtual void testAddAircraftParts(const BlackMisc::Aviation::CCallsign &callsign, const BlackMisc::Aviation::CAircraftParts &parts, bool incremental) override; }; } diff --git a/src/blackcore/simulator_common.cpp b/src/blackcore/simulator_common.cpp index c8fc82f4c..866c4023a 100644 --- a/src/blackcore/simulator_common.cpp +++ b/src/blackcore/simulator_common.cpp @@ -38,7 +38,7 @@ namespace BlackCore m_remoteAircraftProviderConnections = this->m_remoteAircraftProvider->connectRemoteAircraftProviderSignals( this, // receiver must match object in bind std::bind(&CSimulatorCommon::ps_remoteProviderAddAircraftSituation, this, std::placeholders::_1), - std::bind(&CSimulatorCommon::ps_remoteProviderAddAircraftParts, this, std::placeholders::_1), + std::bind(&CSimulatorCommon::ps_remoteProviderAddAircraftParts, this, std::placeholders::_1, std::placeholders::_2), std::bind(&CSimulatorCommon::ps_remoteProviderRemovedAircraft, this, std::placeholders::_1), std::bind(&CSimulatorCommon::ps_recalculateRenderedAircraft, this, std::placeholders::_1)); @@ -356,8 +356,9 @@ namespace BlackCore Q_UNUSED(situation); } - void CSimulatorCommon::ps_remoteProviderAddAircraftParts(const CAircraftParts &parts) + void CSimulatorCommon::ps_remoteProviderAddAircraftParts(const BlackMisc::Aviation::CCallsign &callsign, const CAircraftParts &parts) { + Q_UNUSED(callsign); Q_UNUSED(parts); } diff --git a/src/blackcore/simulator_common.h b/src/blackcore/simulator_common.h index e209c2eb3..2106ae653 100644 --- a/src/blackcore/simulator_common.h +++ b/src/blackcore/simulator_common.h @@ -108,7 +108,7 @@ namespace BlackCore virtual void ps_remoteProviderAddAircraftSituation(const BlackMisc::Aviation::CAircraftSituation &situation); //! Provider added parts - virtual void ps_remoteProviderAddAircraftParts(const BlackMisc::Aviation::CAircraftParts &parts); + virtual void ps_remoteProviderAddAircraftParts(const BlackMisc::Aviation::CCallsign &callsign, const BlackMisc::Aviation::CAircraftParts &parts); //! Provider removed aircraft virtual void ps_remoteProviderRemovedAircraft(const BlackMisc::Aviation::CCallsign &callsign); diff --git a/src/blackgui/components/internalscomponent.cpp b/src/blackgui/components/internalscomponent.cpp index d468959b8..d42b32978 100644 --- a/src/blackgui/components/internalscomponent.cpp +++ b/src/blackgui/components/internalscomponent.cpp @@ -98,8 +98,7 @@ namespace BlackGui this->ps_guiToJson(); } - parts.setCallsign(callsign); - this->getIContextNetwork()->testAddAircraftParts(parts, this->ui->cb_AircraftPartsIncremental->isChecked()); + this->getIContextNetwork()->testAddAircraftParts(callsign, parts, this->ui->cb_AircraftPartsIncremental->isChecked()); CLogMessage(this).info("Added parts for %1") << callsign.toQString(); } diff --git a/src/blackmisc/aviation/aircraft.cpp b/src/blackmisc/aviation/aircraft.cpp index b3b59e6f4..1d5a44059 100644 --- a/src/blackmisc/aviation/aircraft.cpp +++ b/src/blackmisc/aviation/aircraft.cpp @@ -41,7 +41,6 @@ namespace BlackMisc this->m_callsign.setTypeHint(CCallsign::Aircraft); this->m_pilot.setCallsign(this->m_callsign); this->m_situation.setCallsign(this->m_callsign); - this->m_parts.setCallsign(this->m_callsign); } QString CAircraft::convertToQString(bool i18n) const @@ -168,7 +167,6 @@ namespace BlackMisc void CAircraft::setParts(const CAircraftParts &parts) { m_parts = parts; - m_parts.setCallsign(this->getCallsign()); } void CAircraft::setLights(CAircraftLights &lights) diff --git a/src/blackmisc/aviation/aircraftparts.cpp b/src/blackmisc/aviation/aircraftparts.cpp index 69bb3bc7b..e6166233d 100644 --- a/src/blackmisc/aviation/aircraftparts.cpp +++ b/src/blackmisc/aviation/aircraftparts.cpp @@ -42,8 +42,6 @@ namespace BlackMisc ColumnIndex i = index.frontCasted(); switch (i) { - case IndexCallsign: - return m_correspondingCallsign.propertyByIndex(index.copyFrontRemoved()); case IndexEngines: return CVariant::fromValue(this->m_engines); case IndexFlapsPercentage: @@ -86,9 +84,6 @@ namespace BlackMisc case IndexSpoilersOut: this->m_spoilersOut = variant.toBool(); break; - case IndexCallsign: - this->m_correspondingCallsign.setPropertyByIndex(variant, index.copyFrontRemoved()); - break; default: CValueObject::setPropertyByIndex(variant, index); break; diff --git a/src/blackmisc/aviation/aircraftparts.h b/src/blackmisc/aviation/aircraftparts.h index 20f017994..8c86fe44e 100644 --- a/src/blackmisc/aviation/aircraftparts.h +++ b/src/blackmisc/aviation/aircraftparts.h @@ -13,7 +13,6 @@ #define BLACKMISC_AVIATION_AIRCRAFTPARTS_H #include "blackmisc/blackmiscexport.h" -#include "blackmisc/aviation/callsign.h" #include "blackmisc/valueobject.h" #include "blackmisc/timestampbased.h" #include "blackmisc/propertyindex.h" @@ -38,8 +37,7 @@ namespace BlackMisc IndexFlapsPercentage, IndexSpoilersOut, IndexEngines, - IndexOnGround, - IndexCallsign + IndexOnGround }; //! Default constructor @@ -52,13 +50,6 @@ namespace BlackMisc m_spoilersOut(spoilersOut), m_isOnGround(onGround) {} - //! Constructor - CAircraftParts(const CCallsign &callsign, const CAircraftLights &lights, bool gearDown, int flapsPercent, bool spoilersOut, - const CAircraftEngineList &engines, bool onGround) - : m_correspondingCallsign(callsign), m_lights(lights), m_engines(engines), m_flapsPercentage(flapsPercent), m_gearDown(gearDown), - m_spoilersOut(spoilersOut), m_isOnGround(onGround) - {} - //! \copydoc CValueObject::propertyByIndex CVariant propertyByIndex(const BlackMisc::CPropertyIndex &index) const; @@ -113,18 +104,11 @@ namespace BlackMisc //! Set aircraft on ground void setOnGround(bool onGround) { m_isOnGround = onGround; } - //! Corresponding callsign - const BlackMisc::Aviation::CCallsign &getCallsign() const { return this->m_correspondingCallsign; } - - //! Corresponding callsign - void setCallsign(const BlackMisc::Aviation::CCallsign &callsign) { this->m_correspondingCallsign = callsign; } - //! \copydoc CValueObject::convertToQString QString convertToQString(bool i18n = false) const; private: BLACK_ENABLE_TUPLE_CONVERSION(CAircraftParts) - BlackMisc::Aviation::CCallsign m_correspondingCallsign; CAircraftLights m_lights; CAircraftEngineList m_engines; int m_flapsPercentage = 0; @@ -137,7 +121,6 @@ namespace BlackMisc } // namespace BLACK_DECLARE_TUPLE_CONVERSION(BlackMisc::Aviation::CAircraftParts, ( - attr(o.m_correspondingCallsign, flags < DisabledForJson > ()), attr(o.m_lights, "lights"), attr(o.m_gearDown, "gear_down"), attr(o.m_flapsPercentage, "flaps_pct"), diff --git a/src/blackmisc/aviation/aircraftpartslist.h b/src/blackmisc/aviation/aircraftpartslist.h index ddc44c7ec..d44695547 100644 --- a/src/blackmisc/aviation/aircraftpartslist.h +++ b/src/blackmisc/aviation/aircraftpartslist.h @@ -26,7 +26,6 @@ namespace BlackMisc class BLACKMISC_EXPORT CAircraftPartsList : public CSequence, public ITimestampObjectList, - public ICallsignObjectList, public BlackMisc::Mixin::MetaType { public: diff --git a/src/blackmisc/aviation/callsignobjectlist.cpp b/src/blackmisc/aviation/callsignobjectlist.cpp index 0d7c67bb5..55bcbb16a 100644 --- a/src/blackmisc/aviation/callsignobjectlist.cpp +++ b/src/blackmisc/aviation/callsignobjectlist.cpp @@ -203,7 +203,6 @@ namespace BlackMisc template class ICallsignObjectList; template class ICallsignObjectList; template class ICallsignObjectList; - template class ICallsignObjectList; template class ICallsignObjectList; template class ICallsignObjectList; diff --git a/src/blackmisc/aviation/callsignobjectlist.h b/src/blackmisc/aviation/callsignobjectlist.h index 51a214720..0d103623f 100644 --- a/src/blackmisc/aviation/callsignobjectlist.h +++ b/src/blackmisc/aviation/callsignobjectlist.h @@ -112,7 +112,6 @@ namespace BlackMisc extern template class BLACKMISC_EXPORT_TEMPLATE ICallsignObjectList; extern template class BLACKMISC_EXPORT_TEMPLATE ICallsignObjectList; extern template class BLACKMISC_EXPORT_TEMPLATE ICallsignObjectList; - extern template class BLACKMISC_EXPORT_TEMPLATE ICallsignObjectList; extern template class BLACKMISC_EXPORT_TEMPLATE ICallsignObjectList; extern template class BLACKMISC_EXPORT_TEMPLATE ICallsignObjectList; //! \endcond diff --git a/src/blackmisc/simulation/remoteaircraftprovider.h b/src/blackmisc/simulation/remoteaircraftprovider.h index 366c35bf3..d13f86efe 100644 --- a/src/blackmisc/simulation/remoteaircraftprovider.h +++ b/src/blackmisc/simulation/remoteaircraftprovider.h @@ -106,7 +106,7 @@ namespace BlackMisc virtual QList connectRemoteAircraftProviderSignals( QObject *receiver, std::function addedSituationSlot, - std::function addedPartsSlot, + std::function addedPartsSlot, std::function removedAircraftSlot, std::function aircraftSnapshot ) = 0; diff --git a/src/blackmisc/simulation/remoteaircraftproviderdummy.cpp b/src/blackmisc/simulation/remoteaircraftproviderdummy.cpp index 1fc693ce2..9809f82c7 100644 --- a/src/blackmisc/simulation/remoteaircraftproviderdummy.cpp +++ b/src/blackmisc/simulation/remoteaircraftproviderdummy.cpp @@ -41,8 +41,8 @@ namespace BlackMisc CAircraftPartsList CRemoteAircraftProviderDummy::remoteAircraftParts(const BlackMisc::Aviation::CCallsign &callsign, qint64 cutoffTimeBefore) const { - if (cutoffTimeBefore < 0) { return m_parts.findByCallsign(callsign); } - return m_parts.findByCallsign(callsign).findBefore(cutoffTimeBefore); + if (cutoffTimeBefore < 0) { return m_parts.value(callsign); } + return m_parts.value(callsign).findBefore(cutoffTimeBefore); } CAircraftSituationList CRemoteAircraftProviderDummy::remoteAircraftSituations(const BlackMisc::Aviation::CCallsign &callsign) const @@ -57,7 +57,7 @@ namespace BlackMisc CCallsignSet CRemoteAircraftProviderDummy::remoteAircraftSupportingParts() const { - return m_parts.getCallsigns(); + return CCollection(m_parts.keys()); } bool CRemoteAircraftProviderDummy::isRemoteAircraftSupportingParts(const CCallsign &callsign) const @@ -68,7 +68,7 @@ namespace BlackMisc QList CRemoteAircraftProviderDummy::connectRemoteAircraftProviderSignals( QObject *receiver, std::function situationSlot, - std::function partsSlot, + std::function partsSlot, std::function removedAircraftSlot, std::function aircraftSnapshotSlot ) @@ -129,11 +129,11 @@ namespace BlackMisc emit addedRemoteAircraftSituation(situation); } - void CRemoteAircraftProviderDummy::insertNewAircraftParts(const CAircraftParts &parts) + void CRemoteAircraftProviderDummy::insertNewAircraftParts(const CCallsign &callsign, const CAircraftParts &parts) { - this->m_parts.push_front(parts); - this->m_parts.sortLatestFirst(); // like in real world, latest should be first - emit addedRemoteAircraftParts(parts); + this->m_parts[callsign].push_front(parts); + this->m_parts[callsign].sortLatestFirst(); // like in real world, latest should be first + emit addedRemoteAircraftParts(callsign, parts); } void CRemoteAircraftProviderDummy::clear() diff --git a/src/blackmisc/simulation/remoteaircraftproviderdummy.h b/src/blackmisc/simulation/remoteaircraftproviderdummy.h index c8f664c82..9f2a62d5f 100644 --- a/src/blackmisc/simulation/remoteaircraftproviderdummy.h +++ b/src/blackmisc/simulation/remoteaircraftproviderdummy.h @@ -63,7 +63,7 @@ namespace BlackMisc virtual QList connectRemoteAircraftProviderSignals( QObject *receiver, std::function addedSituationSlot, - std::function addedPartsSlot, + std::function addedPartsSlot, std::function removedAircraftSlot, std::function aircraftSnapshotSlot ) override; @@ -87,7 +87,7 @@ namespace BlackMisc void insertNewSituation(const BlackMisc::Aviation::CAircraftSituation &situation); //! For testing, add new parts and fire signals - void insertNewAircraftParts(const BlackMisc::Aviation::CAircraftParts &parts); + void insertNewAircraftParts(const BlackMisc::Aviation::CCallsign &callsign, const BlackMisc::Aviation::CAircraftParts &parts); //! Clear all data void clear(); @@ -97,7 +97,7 @@ namespace BlackMisc void addedRemoteAircraftSituation(const BlackMisc::Aviation::CAircraftSituation &situation); //! Added parts - void addedRemoteAircraftParts(const BlackMisc::Aviation::CAircraftParts &parts); + void addedRemoteAircraftParts(const BlackMisc::Aviation::CCallsign &callsign, const BlackMisc::Aviation::CAircraftParts &parts); //! Added aircraft void removedRemoteAircraft(const BlackMisc::Aviation::CCallsign &callsign); @@ -108,7 +108,7 @@ namespace BlackMisc private: BlackMisc::Simulation::CSimulatedAircraftList m_aircraft; BlackMisc::Aviation::CAircraftSituationList m_situations; - BlackMisc::Aviation::CAircraftPartsList m_parts; + CPartsPerCallsign m_parts; }; } // namespace diff --git a/src/plugins/simulator/xplane/simulator_xplane.cpp b/src/plugins/simulator/xplane/simulator_xplane.cpp index beb201470..3dbcf21b4 100644 --- a/src/plugins/simulator/xplane/simulator_xplane.cpp +++ b/src/plugins/simulator/xplane/simulator_xplane.cpp @@ -410,11 +410,12 @@ namespace BlackSimPlugin situation.getHeading().value(CAngleUnit::deg())); } - void CSimulatorXPlane::ps_remoteProviderAddAircraftParts(const BlackMisc::Aviation::CAircraftParts &parts) + void CSimulatorXPlane::ps_remoteProviderAddAircraftParts(const BlackMisc::Aviation::CCallsign &callsign, const BlackMisc::Aviation::CAircraftParts &parts) { Q_ASSERT(isConnected()); - m_traffic->setPlaneSurfaces(parts.getCallsign().asString(), true, 0, 0, 0, 0, 0, 0, 0, 0, 0, true, true, true, true, 0); // TODO landing gear, lights, control surfaces - m_traffic->setPlaneTransponder(parts.getCallsign().asString(), 2000, true, false); // TODO transponder + m_traffic->setPlaneSurfaces(callsign.asString(), true, 0, 0, 0, 0, 0, 0, 0, 0, 0, true, true, true, true, 0); // TODO landing gear, lights, control surfaces + m_traffic->setPlaneTransponder(callsign.asString(), 2000, true, false); // TODO transponder + Q_UNUSED(parts); // TODO } void CSimulatorXPlane::ps_remoteProviderRemovedAircraft(const CCallsign &callsign) diff --git a/src/plugins/simulator/xplane/simulator_xplane.h b/src/plugins/simulator/xplane/simulator_xplane.h index 8ebafd92b..e79a413d8 100644 --- a/src/plugins/simulator/xplane/simulator_xplane.h +++ b/src/plugins/simulator/xplane/simulator_xplane.h @@ -106,7 +106,7 @@ namespace BlackSimPlugin virtual void ps_remoteProviderAddAircraftSituation(const BlackMisc::Aviation::CAircraftSituation &situation) override; //! \copydoc CSimulatorCommon::ps_remoteProvideraddAircraftParts - virtual void ps_remoteProviderAddAircraftParts(const BlackMisc::Aviation::CAircraftParts &parts) override; + virtual void ps_remoteProviderAddAircraftParts(const BlackMisc::Aviation::CCallsign &callsign, const BlackMisc::Aviation::CAircraftParts &parts) override; //! \copydoc CSimulatorCommon::ps_remoteProviderRemovedAircraft virtual void ps_remoteProviderRemovedAircraft(const BlackMisc::Aviation::CCallsign &callsign) override; diff --git a/tests/blackcore/testinterpolator.cpp b/tests/blackcore/testinterpolator.cpp index 1fbad38b4..15de5b191 100644 --- a/tests/blackcore/testinterpolator.cpp +++ b/tests/blackcore/testinterpolator.cpp @@ -42,8 +42,8 @@ namespace BlackCoreTest for (int i = 0; i < IRemoteAircraftProvider::MaxPartsPerCallsign; i++) { - CAircraftParts p(getTestParts(cs, i, ts, deltaT)); - provider->insertNewAircraftParts(p); + CAircraftParts p(getTestParts(i, ts, deltaT)); + provider->insertNewAircraftParts(cs, p); } // make sure signals are processed, if the interpolator depends on those signals @@ -138,11 +138,11 @@ namespace BlackCoreTest return s; } - CAircraftParts CTestInterpolator::getTestParts(const CCallsign &callsign, int number, qint64 ts, qint64 deltaT) + CAircraftParts CTestInterpolator::getTestParts(int number, qint64 ts, qint64 deltaT) { CAircraftLights l(true, false, true, false, true, false); CAircraftEngineList e({ CAircraftEngine(1, true), CAircraftEngine(2, false), CAircraftEngine(3, true) }); - CAircraftParts p(callsign, l, true, 20, true, e, false); + CAircraftParts p(l, true, 20, true, e, false); p.setMSecsSinceEpoch(ts - deltaT * number); // values in past return p; } diff --git a/tests/blackcore/testinterpolator.h b/tests/blackcore/testinterpolator.h index 9bfed57c2..79006fe2a 100644 --- a/tests/blackcore/testinterpolator.h +++ b/tests/blackcore/testinterpolator.h @@ -38,7 +38,7 @@ namespace BlackCoreTest static BlackMisc::Aviation::CAircraftSituation getTestSituation(const BlackMisc::Aviation::CCallsign &callsign, int number, qint64 ts, qint64 deltaT); //! Test parts - static BlackMisc::Aviation::CAircraftParts getTestParts(const BlackMisc::Aviation::CCallsign &callsign, int number, qint64 ts, qint64 deltaT); + static BlackMisc::Aviation::CAircraftParts getTestParts(int number, qint64 ts, qint64 deltaT); };