refs #614, moved model set cache and matcher to simulator common class

* removed from FS common class
* formatting
This commit is contained in:
Klaus Basan
2016-04-04 12:57:40 +02:00
parent f3ef7ad7ea
commit aa6370c325
6 changed files with 30 additions and 107 deletions

View File

@@ -9,7 +9,6 @@
#include "simulatorfscommon.h"
#include "blackmisc/logmessage.h"
#include "blackmisc/simulation/modelmappingsprovider.h"
using namespace BlackMisc::PhysicalQuantities;
using namespace BlackMisc::Simulation;
@@ -32,15 +31,8 @@ namespace BlackSimPlugin
Weather::IWeatherGridProvider *weatherGridProvider,
QObject *parent) :
CSimulatorCommon(info, ownAircraftProvider, renderedAircraftProvider, pluginStorageProvider, weatherGridProvider, parent),
m_fsuipc(new CFsuipc()),
m_modelMatcher(CAircraftMatcher::AllModes, this)
{
// init mapper
CSimulatorInfo sim(info.getIdentifier());
this->m_modelMatcher.setModelMappingProvider(
std::make_unique<CachedModelSetProvider>(sim, this)
);
}
m_fsuipc(new CFsuipc())
{ }
CSimulatorFsCommon::~CSimulatorFsCommon() { }
@@ -101,12 +93,7 @@ namespace BlackSimPlugin
CAircraftModelList CSimulatorFsCommon::getInstalledModels() const
{
return m_modelMatcher.getMatchingModels();
}
void CSimulatorFsCommon::reloadInstalledModels()
{
this->m_modelMatcher.reload();
return m_modelMatcher.getModelSet();
}
CPixmap CSimulatorFsCommon::iconForModel(const QString &modelString) const

View File

@@ -58,9 +58,6 @@ namespace BlackSimPlugin
//! \copydoc BlackCore::ISimulator::getInstalledModels
virtual BlackMisc::Simulation::CAircraftModelList getInstalledModels() const override;
//! \copydoc BlackCore::ISimulator::reloadInstalledModels
virtual void reloadInstalledModels() override;
//! \copydoc BlackCore::IContextSimulator::iconForModel
virtual BlackMisc::CPixmap iconForModel(const QString &modelString) const override;
@@ -95,9 +92,6 @@ namespace BlackSimPlugin
BlackMisc::Aviation::CComSystem m_simCom2; //!< cockpit COM2 state in simulator
BlackMisc::Aviation::CTransponder m_simTransponder; //!< cockpit xpdr state in simulator
// parser / matcher
BlackMisc::Simulation::CAircraftMatcher m_modelMatcher; //!< Model matcher
//! Set own model
void setOwnAircraftModel(const BlackMisc::Simulation::CAircraftModel &model);

View File

@@ -13,7 +13,6 @@
#include "xbusweatherproxy.h"
#include "blackmisc/dbusserver.h"
#include "blackmisc/logmessage.h"
#include "blackmisc/simulation/modelmappingsprovider.h"
#include "blackmisc/geo/coordinategeodetic.h"
#include <QDBusServiceWatcher>
#include <QTimer>
@@ -65,7 +64,6 @@ namespace BlackSimPlugin
m_fastTimer->start(100);
m_slowTimer->start(1000);
m_modelMatcher.setModelMappingProvider(std::make_unique<CachedModelSetProvider>(CSimulatorInfo::XPLANE, this));
m_modelMatcher.setDefaultModel(CAircraftModel(
"__XPFW_Jets/A320_a/A320_a_Austrian_Airlines.obj __XPFW_Jets/A320_a/A320_a_Austrian_Airlines.png",
CAircraftModel::TypeModelMatchingDefaultModel,
@@ -319,12 +317,6 @@ namespace BlackSimPlugin
return m_installedModels;
}
void CSimulatorXPlane::reloadInstalledModels()
{
//! \todo XP driver, function not available
CLogMessage(this).error("Function not avialable");
}
void CSimulatorXPlane::ps_setAirportsInRange(const QStringList &icaos, const QStringList &names, const BlackMisc::CSequence<double> &lats, const BlackMisc::CSequence<double> &lons, const BlackMisc::CSequence<double> &alts)
{
m_airportsInRange.clear();

View File

@@ -45,62 +45,27 @@ namespace BlackSimPlugin
BlackMisc::Weather::IWeatherGridProvider *weatherGridProvider,
QObject *parent = nullptr);
//! \copydoc BlackCore::ISimulator::isTimeSynchronized
//! ISimulator implementations
//! @{
virtual bool isTimeSynchronized() const override { return false; } // TODO: Can we query the XP intrinisc feature?
//! \copydoc BlackCore::ISimulator::connectTo
virtual bool connectTo() override;
//! \copydoc BlackCore::ISimulator::disconnectFrom
virtual bool disconnectFrom() override;
//! \copydoc BlackCore::ISimulator::physicallyAddRemoteAircraft()
virtual bool physicallyAddRemoteAircraft(const BlackMisc::Simulation::CSimulatedAircraft &newRemoteAircraft) override;
//! \copydoc BlackCore::ISimulator::physicallyRemoveRemoteAircraft
virtual bool physicallyRemoveRemoteAircraft(const BlackMisc::Aviation::CCallsign &callsign) override;
//! \copydoc BlackCore::ISimulator::physicallyRemoveAllRemoteAircraft
virtual int physicallyRemoveAllRemoteAircraft() override;
//! \copydoc BlackCore::ISimulator::physicallyRenderedAircraft
virtual BlackMisc::Aviation::CCallsignSet physicallyRenderedAircraft() const override;
//! \copydoc BlackCore::ISimulator::isPhysicallyRenderedAircraft
virtual bool isPhysicallyRenderedAircraft(const BlackMisc::Aviation::CCallsign &callsign) const override;
//! \copydoc BlackCore::ISimulator::changeRemoteAircraftModel
virtual bool changeRemoteAircraftModel(const BlackMisc::Simulation::CSimulatedAircraft &aircraft, const BlackMisc::CIdentifier &originator) override;
//! \copydoc BlackCore::ISimulator::changeRemoteAircraftEnabled
virtual bool changeRemoteAircraftEnabled(const BlackMisc::Simulation::CSimulatedAircraft &aircraft, const BlackMisc::CIdentifier &originator) override;
//! \copydoc BlackCore::ISimulator::updateOwnSimulatorCockpit
virtual bool updateOwnSimulatorCockpit(const BlackMisc::Simulation::CSimulatedAircraft &aircraft, const BlackMisc::CIdentifier &originator) override;
//! \copydoc BlackCore::ISimulator::displayStatusMessage
virtual void displayStatusMessage(const BlackMisc::CStatusMessage &message) const override;
//! \copydoc BlackCore::ISimulator::displayTextMessage
virtual void displayTextMessage(const BlackMisc::Network::CTextMessage &message) const override;
//! \copydoc BlackCore::ISimulator::getInstalledModels
virtual BlackMisc::Simulation::CAircraftModelList getInstalledModels() const override;
//! \copydoc BlackCore::ISimulator::reloadInstalledModels
virtual void reloadInstalledModels() override;
//! \copydoc BlackCore::ISimulator::getAirportsInRange
virtual BlackMisc::Aviation::CAirportList getAirportsInRange() const override;
//! \copydoc BlackCore::ISimulator::setTimeSynchronization
virtual bool setTimeSynchronization(bool enable, const BlackMisc::PhysicalQuantities::CTime &offset) override;
//! \copydoc BlackCore::ISimulator::getTimeSynchronizationOffset
virtual BlackMisc::PhysicalQuantities::CTime getTimeSynchronizationOffset() const override { return BlackMisc::PhysicalQuantities::CTime(0, BlackMisc::PhysicalQuantities::CTimeUnit::hrmin()); }
//! \copydoc BlackCore::ISimulator::iconForModel
virtual BlackMisc::CPixmap iconForModel(const QString &modelString) const override;
//! @}
//! Creates an appropriate dbus connection from the string describing it
static QDBusConnection connectionFromString(const QString &str);
@@ -148,9 +113,8 @@ namespace BlackSimPlugin
CXBusWeatherProxy *m_weather { nullptr };
QTimer *m_fastTimer { nullptr };
QTimer *m_slowTimer { nullptr };
BlackMisc::Aviation::CAirportList m_airportsInRange; //!< aiports in range of own aircraft
BlackMisc::Simulation::CAircraftModelList m_installedModels;
BlackMisc::Simulation::CAircraftMatcher m_modelMatcher { BlackMisc::Simulation::CAircraftMatcher::AllModes, this }; //!< Model matcher
BlackMisc::Aviation::CAirportList m_airportsInRange; //!< aiports in range of own aircraft
BlackMisc::Simulation::CAircraftModelList m_installedModels; //!< \todo Do we still need this, as we now focus on model set
BlackMisc::Geo::CCoordinateGeodetic m_lastWeatherPosition; //!< Own aircraft position at which weather was fetched and injected last