Ref T259, Ref T243 remove aircraft parts and situations from interpolator

* no longer using the add parts/situations signals
* will use the remote aircraft provider parts directly

Result: all parts/situations are stored only once in memory and in one single place
This commit is contained in:
Klaus Basan
2018-03-24 17:27:16 +01:00
parent 4248c1b689
commit 9abc57bb3d
27 changed files with 140 additions and 351 deletions

View File

@@ -415,20 +415,6 @@ namespace BlackSimPlugin
m_fsuipc->write(weatherGrid);
}
void CSimulatorFs9::onRemoteProviderAddedAircraftSituation(const CAircraftSituation &situation)
{
const auto it = m_hashFs9Clients.find(situation.getCallsign());
if (it == m_hashFs9Clients.end()) { return; }
QTimer::singleShot(0, it->data(), [client = *it, situation] { client->getInterpolator()->addAircraftSituation(situation); });
}
void CSimulatorFs9::onRemoteProviderAddedAircraftParts(const BlackMisc::Aviation::CCallsign &callsign, const CAircraftParts &parts)
{
const auto it = m_hashFs9Clients.find(callsign);
if (it == m_hashFs9Clients.end()) { return; }
QTimer::singleShot(0, it->data(), [client = *it, parts] { client->getInterpolator()->addAircraftParts(parts); });
}
CSimulatorFs9Listener::CSimulatorFs9Listener(const CSimulatorPluginInfo &info,
const QSharedPointer<CFs9Host> &fs9Host,
const QSharedPointer<CLobbyClient> &lobbyClient) :

View File

@@ -80,12 +80,6 @@ namespace BlackSimPlugin
virtual void injectWeatherGrid(const BlackMisc::Weather::CWeatherGrid &weatherGrid) override;
//! @}
//! \name Remote aircraft provider overrides
//! @{
virtual void onRemoteProviderAddedAircraftSituation(const BlackMisc::Aviation::CAircraftSituation &situation) override;
virtual void onRemoteProviderAddedAircraftParts(const BlackMisc::Aviation::CCallsign &callsign, const BlackMisc::Aviation::CAircraftParts &parts) override;
//! @}
private:
//! Dispatch FSUIPC reading
//! \remark very frequently called