mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-03-24 07:55:35 +08:00
refs #459 Removed CAircraftParts::m_correspondingCallsign per Slack discussion MS/RW.
This commit is contained in:
@@ -140,7 +140,7 @@ namespace BlackCore
|
||||
QList<QMetaObject::Connection> CAirspaceMonitor::connectRemoteAircraftProviderSignals(
|
||||
QObject *receiver,
|
||||
std::function<void(const CAircraftSituation &)> situationSlot,
|
||||
std::function<void(const CAircraftParts &)> partsSlot,
|
||||
std::function<void(const BlackMisc::Aviation::CCallsign &, const CAircraftParts &)> partsSlot,
|
||||
std::function<void(const CCallsign &)> removedAircraftSlot,
|
||||
std::function<void(const CAirspaceAircraftSnapshot &)> 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
|
||||
|
||||
@@ -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<QMetaObject::Connection> connectRemoteAircraftProviderSignals(
|
||||
QObject *receiver,
|
||||
std::function<void(const BlackMisc::Aviation::CAircraftSituation &)> addedSituationSlot,
|
||||
std::function<void(const BlackMisc::Aviation::CAircraftParts &)> addedPartsSlot,
|
||||
std::function<void(const BlackMisc::Aviation::CCallsign &, const BlackMisc::Aviation::CAircraftParts &)> addedPartsSlot,
|
||||
std::function<void(const BlackMisc::Aviation::CCallsign &)> removedAircraftSlot,
|
||||
std::function<void(const BlackMisc::Simulation::CAirspaceAircraftSnapshot &)> 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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -132,7 +132,7 @@ namespace BlackCore
|
||||
QList<QMetaObject::Connection> CContextNetwork::connectRemoteAircraftProviderSignals(
|
||||
QObject *receiver,
|
||||
std::function<void (const CAircraftSituation &)> situationSlot,
|
||||
std::function<void (const CAircraftParts &)> partsSlot,
|
||||
std::function<void (const BlackMisc::Aviation::CCallsign &, const CAircraftParts &)> partsSlot,
|
||||
std::function<void (const CCallsign &)> removedAircraftSlot,
|
||||
std::function<void (const BlackMisc::Simulation::CAirspaceAircraftSnapshot &)> 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)
|
||||
|
||||
@@ -77,7 +77,7 @@ namespace BlackCore
|
||||
virtual QList<QMetaObject::Connection> connectRemoteAircraftProviderSignals(
|
||||
QObject *receiver,
|
||||
std::function<void(const BlackMisc::Aviation::CAircraftSituation &)> addedSituationSlot,
|
||||
std::function<void(const BlackMisc::Aviation::CAircraftParts &)> addedPartsSlot,
|
||||
std::function<void(const BlackMisc::Aviation::CCallsign &, const BlackMisc::Aviation::CAircraftParts &)> addedPartsSlot,
|
||||
std::function<void(const BlackMisc::Aviation::CCallsign &)> removedAircraftSlot,
|
||||
std::function<void(const BlackMisc::Simulation::CAirspaceAircraftSnapshot &)> 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();
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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;
|
||||
|
||||
};
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -42,8 +42,6 @@ namespace BlackMisc
|
||||
ColumnIndex i = index.frontCasted<ColumnIndex>();
|
||||
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;
|
||||
|
||||
@@ -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"),
|
||||
|
||||
@@ -26,7 +26,6 @@ namespace BlackMisc
|
||||
class BLACKMISC_EXPORT CAircraftPartsList :
|
||||
public CSequence<CAircraftParts>,
|
||||
public ITimestampObjectList<CAircraftParts, CAircraftPartsList>,
|
||||
public ICallsignObjectList<CAircraftParts, CAircraftPartsList>,
|
||||
public BlackMisc::Mixin::MetaType<CAircraftPartsList>
|
||||
{
|
||||
public:
|
||||
|
||||
@@ -203,7 +203,6 @@ namespace BlackMisc
|
||||
template class ICallsignObjectList<BlackMisc::Aviation::CAtcStation, BlackMisc::Aviation::CAtcStationList>;
|
||||
template class ICallsignObjectList<BlackMisc::Aviation::CAircraft, BlackMisc::Aviation::CAircraftList>;
|
||||
template class ICallsignObjectList<BlackMisc::Aviation::CAircraftSituation, BlackMisc::Aviation::CAircraftSituationList>;
|
||||
template class ICallsignObjectList<BlackMisc::Aviation::CAircraftParts, BlackMisc::Aviation::CAircraftPartsList>;
|
||||
template class ICallsignObjectList<BlackMisc::Simulation::CSimulatedAircraft, BlackMisc::Simulation::CSimulatedAircraftList>;
|
||||
template class ICallsignObjectList<BlackMisc::Network::CClient, BlackMisc::Network::CClientList>;
|
||||
|
||||
|
||||
@@ -112,7 +112,6 @@ namespace BlackMisc
|
||||
extern template class BLACKMISC_EXPORT_TEMPLATE ICallsignObjectList<BlackMisc::Aviation::CAtcStation, BlackMisc::Aviation::CAtcStationList>;
|
||||
extern template class BLACKMISC_EXPORT_TEMPLATE ICallsignObjectList<BlackMisc::Aviation::CAircraft, BlackMisc::Aviation::CAircraftList>;
|
||||
extern template class BLACKMISC_EXPORT_TEMPLATE ICallsignObjectList<BlackMisc::Aviation::CAircraftSituation, BlackMisc::Aviation::CAircraftSituationList>;
|
||||
extern template class BLACKMISC_EXPORT_TEMPLATE ICallsignObjectList<BlackMisc::Aviation::CAircraftParts, BlackMisc::Aviation::CAircraftPartsList>;
|
||||
extern template class BLACKMISC_EXPORT_TEMPLATE ICallsignObjectList<BlackMisc::Simulation::CSimulatedAircraft, BlackMisc::Simulation::CSimulatedAircraftList>;
|
||||
extern template class BLACKMISC_EXPORT_TEMPLATE ICallsignObjectList<BlackMisc::Network::CClient, BlackMisc::Network::CClientList>;
|
||||
//! \endcond
|
||||
|
||||
@@ -106,7 +106,7 @@ namespace BlackMisc
|
||||
virtual QList<QMetaObject::Connection> connectRemoteAircraftProviderSignals(
|
||||
QObject *receiver,
|
||||
std::function<void(const BlackMisc::Aviation::CAircraftSituation &)> addedSituationSlot,
|
||||
std::function<void(const BlackMisc::Aviation::CAircraftParts &)> addedPartsSlot,
|
||||
std::function<void(const BlackMisc::Aviation::CCallsign &, const BlackMisc::Aviation::CAircraftParts &)> addedPartsSlot,
|
||||
std::function<void(const BlackMisc::Aviation::CCallsign &)> removedAircraftSlot,
|
||||
std::function<void(const BlackMisc::Simulation::CAirspaceAircraftSnapshot &)> aircraftSnapshot
|
||||
) = 0;
|
||||
|
||||
@@ -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<CCallsign>(m_parts.keys());
|
||||
}
|
||||
|
||||
bool CRemoteAircraftProviderDummy::isRemoteAircraftSupportingParts(const CCallsign &callsign) const
|
||||
@@ -68,7 +68,7 @@ namespace BlackMisc
|
||||
QList<QMetaObject::Connection> CRemoteAircraftProviderDummy::connectRemoteAircraftProviderSignals(
|
||||
QObject *receiver,
|
||||
std::function<void (const CAircraftSituation &)> situationSlot,
|
||||
std::function<void (const CAircraftParts &)> partsSlot,
|
||||
std::function<void (const BlackMisc::Aviation::CCallsign &, const CAircraftParts &)> partsSlot,
|
||||
std::function<void (const CCallsign &)> removedAircraftSlot,
|
||||
std::function<void (const CAirspaceAircraftSnapshot &)> 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()
|
||||
|
||||
@@ -63,7 +63,7 @@ namespace BlackMisc
|
||||
virtual QList<QMetaObject::Connection> connectRemoteAircraftProviderSignals(
|
||||
QObject *receiver,
|
||||
std::function<void(const BlackMisc::Aviation::CAircraftSituation &)> addedSituationSlot,
|
||||
std::function<void(const BlackMisc::Aviation::CAircraftParts &)> addedPartsSlot,
|
||||
std::function<void(const BlackMisc::Aviation::CCallsign &, const BlackMisc::Aviation::CAircraftParts &)> addedPartsSlot,
|
||||
std::function<void(const BlackMisc::Aviation::CCallsign &)> removedAircraftSlot,
|
||||
std::function<void(const BlackMisc::Simulation::CAirspaceAircraftSnapshot &)> 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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user