Ref T259, Ref T243 pass the providers along the hierarchy

This commit is contained in:
Klaus Basan
2018-03-28 03:50:51 +02:00
parent 785e35ee88
commit a7f1e15f39
11 changed files with 26 additions and 29 deletions

View File

@@ -490,7 +490,7 @@ namespace BlackSimPlugin
Q_ASSERT_X(!newRemoteAircraft.getCallsign().isEmpty(), Q_FUNC_INFO, "empty callsign");
Q_ASSERT_X(newRemoteAircraft.hasModelString(), Q_FUNC_INFO, "missing model string");
m_xplaneAircraftObjects.insert(newRemoteAircraft.getCallsign(), CXPlaneMPAircraft(newRemoteAircraft, &m_interpolationLogger));
m_xplaneAircraftObjects.insert(newRemoteAircraft.getCallsign(), CXPlaneMPAircraft(newRemoteAircraft, this, &m_interpolationLogger));
CAircraftModel aircraftModel = newRemoteAircraft.getModel();
QString livery = aircraftModel.getLivery().getCombinedCode(); //! \todo livery resolution for XP
m_trafficProxy->addPlane(newRemoteAircraft.getCallsign().asString(), aircraftModel.getModelString(),

View File

@@ -8,8 +8,10 @@
*/
#include "xplanempaircraft.h"
#include "blackcore/simulator.h"
#include "blackmisc/simulation/interpolatormulti.h"
using namespace BlackCore;
using namespace BlackMisc::Aviation;
using namespace BlackMisc::Simulation;
@@ -20,22 +22,14 @@ namespace BlackSimPlugin
CXPlaneMPAircraft::CXPlaneMPAircraft()
{ }
CXPlaneMPAircraft::CXPlaneMPAircraft(const CSimulatedAircraft &aircraft,
CInterpolationLogger *logger) :
CXPlaneMPAircraft::CXPlaneMPAircraft(
const CSimulatedAircraft &aircraft, ISimulator *simulator, CInterpolationLogger *logger) :
m_aircraft(aircraft),
m_interpolator(QSharedPointer<CInterpolatorMulti>::create(aircraft.getCallsign()))
m_interpolator(QSharedPointer<CInterpolatorMulti>::create(aircraft.getCallsign(), simulator, simulator, simulator->getRemoteAircraftProvider(), logger))
{
m_interpolator->attachLogger(logger);
}
CXPlaneMPAircraft::CXPlaneMPAircraft(const CAircraftSituation &situation) :
m_interpolator(QSharedPointer<CInterpolatorMulti>::create(situation.getCallsign()))
{ }
CXPlaneMPAircraft::CXPlaneMPAircraft(const CAircraftParts &parts, const CCallsign &callsign) :
m_interpolator(QSharedPointer<CInterpolatorMulti>::create(callsign))
{ }
bool CXPlaneMPAircraft::isSameAsSent(const CAircraftSituation &position) const
{
return m_positionAsSent == position;

View File

@@ -17,6 +17,7 @@
#include <QSharedPointer>
#include <QStringList>
namespace BlackCore { class ISimulator; }
namespace BlackSimPlugin
{
namespace XPlane
@@ -30,14 +31,9 @@ namespace BlackSimPlugin
//! Constructor providing initial situation/parts
CXPlaneMPAircraft(const BlackMisc::Simulation::CSimulatedAircraft &aircraft,
BlackCore::ISimulator *simulator,
BlackMisc::Simulation::CInterpolationLogger *logger);
//! Constructor providing initial situation
CXPlaneMPAircraft(const BlackMisc::Aviation::CAircraftSituation &situation);
//! Constructor providing initial parts
CXPlaneMPAircraft(const BlackMisc::Aviation::CAircraftParts &parts, const BlackMisc::Aviation::CCallsign &callsign);
//! Destructor
~CXPlaneMPAircraft() {}