Ref T786, simulator context

* use identifier based "requestWeatherGrid"
* injectWeatherGrid now public
* clean m_lastWeatherPosition if weather is de-activated
* inject weather CContextSimulator::onWeatherGridReceived

1) this automatically injects the weather, the callback is not needed
2) the callback was the part which crashed
This commit is contained in:
Klaus Basan
2020-04-19 02:34:15 +02:00
committed by Mat Sutcliffe
parent e7875c3af8
commit 58583d3ffa
8 changed files with 69 additions and 51 deletions

View File

@@ -117,7 +117,7 @@ namespace BlackCore
virtual bool resetToModelMatchingAircraft(const BlackMisc::Aviation::CCallsign &callsign) override;
virtual bool isWeatherActivated() const override;
virtual void setWeatherActivated(bool activated) override;
virtual void requestWeatherGrid(const BlackMisc::Weather::CWeatherGrid &weatherGrid, const BlackMisc::CIdentifier &identifier) override;
virtual void requestWeatherGrid(const BlackMisc::Geo::CCoordinateGeodetic &position, const BlackMisc::CIdentifier &identifier) override;
virtual bool requestElevationBySituation(const BlackMisc::Aviation::CAircraftSituation &situation) override;
virtual BlackMisc::Geo::CElevationPlane findClosestElevationWithinRange(const BlackMisc::Geo::CCoordinateGeodetic &reference, const BlackMisc::PhysicalQuantities::CLength &range) const override;
virtual int doMatchingsAgain() override;
@@ -236,6 +236,9 @@ namespace BlackCore
//! Failed adding remote aircraft
void onAddingRemoteAircraftFailed(const BlackMisc::Simulation::CSimulatedAircraft &remoteAircraft, bool disabled, bool requestFailover, const BlackMisc::CStatusMessage &message);
//! Weather request was received
void onWeatherGridReceived(const BlackMisc::Weather::CWeatherGrid &weatherGrid, const BlackMisc::CIdentifier &identifier);
//! Relay status message to simulator under consideration of settings
void relayStatusMessageToSimulator(const BlackMisc::CStatusMessage &message);