refs #358, added (a first very simple) model matching to FSX driver

* isRunning → isSimulating
* adjusted addRemoteAircraft signature (remark: CClient as parameter will be removed)
* renamed to "ownAircraft" when referring to own aircraft
* functions to access installed models/matched models
* model matching in CSimulatorFsx::addRemoteAircraft
This commit is contained in:
Klaus Basan
2014-12-28 20:33:11 +01:00
parent c285ac4098
commit 23e9159dfd
11 changed files with 324 additions and 212 deletions

View File

@@ -21,6 +21,7 @@
using namespace BlackMisc;
using namespace BlackMisc::Aviation;
using namespace BlackMisc::Network;
using namespace BlackMisc::PhysicalQuantities;
using namespace BlackMisc::Geo;
using namespace BlackSim;
@@ -94,8 +95,10 @@ namespace BlackSimPlugin
return true;
}
void CSimulatorFs9::addRemoteAircraft(const CCallsign &callsign, const BlackMisc::Aviation::CAircraftSituation &initialSituation)
void CSimulatorFs9::addRemoteAircraft(const CAircraft &remoteAircraft, const CClient &remoteClient)
{
Q_UNUSED(remoteClient);
CCallsign callsign = remoteAircraft.getCallsign();
CFs9Client *client = new CFs9Client(this, callsign.toQString(), CTime(25, CTimeUnit::ms()));
client->setHostAddress(m_fs9Host->getHostAddress());
client->setPlayerUserId(m_fs9Host->getPlayerUserId());
@@ -103,7 +106,7 @@ namespace BlackSimPlugin
client->start();
m_hashFs9Clients.insert(callsign, client);
addAircraftSituation(callsign, initialSituation);
addAircraftSituation(callsign, remoteAircraft.getSituation());
}
void CSimulatorFs9::addAircraftSituation(const CCallsign &callsign, const CAircraftSituation &situation)
@@ -259,7 +262,7 @@ namespace BlackSimPlugin
void CSimulatorFs9::ps_changeOwnAircraftModel(const QString &modelname)
{
m_aircraftModel.setQueriedModelString(modelname);
emit aircraftModelChanged(m_aircraftModel);
emit ownAircraftModelChanged(m_aircraftModel);
}
void CSimulatorFs9::ps_changeHostStatus(BlackSimPlugin::Fs9::CFs9Host::HostStatus status)

View File

@@ -67,9 +67,8 @@ namespace BlackSimPlugin
//! \copydoc ISimulator::isPaused
virtual bool isPaused() const override { return m_simPaused; }
//! \copydoc ISimulator::isRunning
//! \todo RW fix, set better state here
virtual bool isRunning() const override { return true; }
//! \copydoc ISimulator::isSimulating
virtual bool isSimulating() const override { return isConnected(); }
//! Is time synchronization on?
virtual bool isTimeSynchronized() const override { return m_syncTime; }
@@ -89,7 +88,7 @@ namespace BlackSimPlugin
virtual BlackMisc::Aviation::CAircraft getOwnAircraft() const override { return m_ownAircraft; }
//! \copydoc ISimulator::addRemoteAircraft()
virtual void addRemoteAircraft(const BlackMisc::Aviation::CCallsign &callsign, const BlackMisc::Aviation::CAircraftSituation &initialSituation) override;
virtual void addRemoteAircraft(const BlackMisc::Aviation::CAircraft &remoteAircraft, const BlackMisc::Network::CClient &remoteClient) override;
//! \copydoc ISimulator::addAircraftSituation()
virtual void addAircraftSituation(const BlackMisc::Aviation::CCallsign &callsign, const BlackMisc::Aviation::CAircraftSituation &initialSituation) override;
@@ -110,12 +109,14 @@ namespace BlackSimPlugin
virtual void displayTextMessage(const BlackMisc::Network::CTextMessage &message) const override;
//! \copydoc ISimulator::getAircraftModel()
virtual BlackMisc::Network::CAircraftModel getAircraftModel() const override { return m_aircraftModel; }
virtual BlackMisc::Network::CAircraftModel getOwnAircraftModel() const override { return m_aircraftModel; }
//! \copydoc BlackCore::ISimulator::getInstalledModels
//! \todo
virtual BlackMisc::Network::CAircraftModelList getInstalledModels() const override { return {}; }
//! \copydoc BlackCore::ISimulator::getCurrentlyMatchedModels
virtual BlackMisc::Network::CAircraftModelList getCurrentlyMatchedModels() const override { return BlackMisc::Network::CAircraftModelList(); }
//! Airports in range
virtual BlackMisc::Aviation::CAirportList getAirportsInRange() const override;