refs #459 Removed CAircraftParts::m_correspondingCallsign per Slack discussion MS/RW.

This commit is contained in:
Mathew Sutcliffe
2015-09-07 17:29:23 +01:00
parent d1955ba61f
commit 00cd4f4f87
24 changed files with 52 additions and 80 deletions

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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);

View File

@@ -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)

View File

@@ -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();

View File

@@ -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)

View File

@@ -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;
};
}

View File

@@ -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);
}

View File

@@ -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);