refs #452 updated drivers

* FSX/FS9 directories directly resolved in parser
* all: using BlackMisc::Simulation::CSimulatedAircraft instead of CAircraft
This commit is contained in:
Klaus Basan
2015-09-23 18:26:44 +02:00
committed by Mathew Sutcliffe
parent dbcc540313
commit a8e8e5527a
8 changed files with 49 additions and 157 deletions

View File

@@ -35,7 +35,6 @@ using namespace BlackMisc::Simulation::FsCommon;
using namespace BlackSimPlugin::Fs9;
using namespace BlackSimPlugin::FsCommon;
namespace
{
/* These instances should be global, as they are shared between all classes
@@ -54,8 +53,7 @@ namespace BlackSimPlugin
IRemoteAircraftProvider *remoteAircraftProvider,
IPluginStorageProvider *pluginStorageProvider,
QObject *parent) :
CSimulatorFsCommon(info, ownAircraftProvider, remoteAircraftProvider, pluginStorageProvider,
aircraftObjectsDir(), excludeDirectories(), parent)
CSimulatorFsCommon(info, ownAircraftProvider, remoteAircraftProvider, pluginStorageProvider, parent)
{
connect(lobbyClient.data(), &CLobbyClient::disconnected, this, std::bind(&CSimulatorFs9::simulatorStatusChanged, this, 0));
this->m_interpolator = new BlackCore::CInterpolatorLinear(remoteAircraftProvider, this);
@@ -63,7 +61,7 @@ namespace BlackSimPlugin
"Boeing 737-400",
CAircraftModel::TypeModelMatchingDefaultModel,
"B737-400 default model",
CAircraftIcaoData(CAircraftIcaoCode("B734", "L2J"), CAirlineIcaoCode())
CAircraftIcaoCode("B734", "L2J")
));
}
@@ -165,7 +163,7 @@ namespace BlackSimPlugin
return CCollection<CCallsign>(this->m_hashFs9Clients.keys());
}
bool CSimulatorFs9::updateOwnSimulatorCockpit(const CAircraft &ownAircraft, const CIdentifier &originator)
bool CSimulatorFs9::updateOwnSimulatorCockpit(const CSimulatedAircraft &ownAircraft, const CIdentifier &originator)
{
if (originator == this->identifier()) { return false; }
if (!this->isSimulating()) { return false; }
@@ -295,7 +293,7 @@ namespace BlackSimPlugin
}
}
void CSimulatorFs9::updateOwnAircraftFromSimulator(const CAircraft &simDataOwnAircraft)
void CSimulatorFs9::updateOwnAircraftFromSimulator(const CSimulatedAircraft &simDataOwnAircraft)
{
this->updateCockpit(
simDataOwnAircraft.getCom1System(),
@@ -313,21 +311,6 @@ namespace BlackSimPlugin
}
}
QString CSimulatorFs9::aircraftObjectsDir()
{
QString dir = CFsCommonUtil::fs9AircraftDirFromRegistry();
if (!dir.isEmpty()) { return dir; }
return "C:/Flight Simulator 9/Aircraft";
}
const QStringList &CSimulatorFs9::excludeDirectories()
{
static const QStringList exclude
{
};
return exclude;
}
CSimulatorFs9Listener::CSimulatorFs9Listener(const CSimulatorPluginInfo &info) :
BlackCore::ISimulatorListener(info),
m_timer(new QTimer(this))

View File

@@ -18,8 +18,7 @@
#include "../fscommon/simulator_fscommon.h"
#include "blackcore/simulator.h"
#include "blackcore/interpolator.h"
#include "blackmisc/simulation/aircraftmodel.h"
#include "blackmisc/aviation/aircraft.h"
#include "blackmisc/simulation/simulatedaircraft.h"
#include "blackmisc/simulation/simulatorplugininfo.h"
#include "blackmisc/pixmap.h"
#include <QObject>
@@ -71,7 +70,7 @@ namespace BlackSimPlugin
virtual bool isPhysicallyRenderedAircraft(const BlackMisc::Aviation::CCallsign &callsign) const override;
//! \copydoc ISimulator::updateOwnSimulatorCockpit()
virtual bool updateOwnSimulatorCockpit(const BlackMisc::Aviation::CAircraft &ownAircraft, const BlackMisc::CIdentifier &originator) override;
virtual bool updateOwnSimulatorCockpit(const BlackMisc::Simulation::CSimulatedAircraft &ownAircraft, const BlackMisc::CIdentifier &originator) override;
//! \copydoc ISimulator::displayStatusMessage()
virtual void displayStatusMessage(const BlackMisc::CStatusMessage &message) const override;
@@ -100,17 +99,10 @@ namespace BlackSimPlugin
private:
//! Called when data about our own aircraft are received
void updateOwnAircraftFromSimulator(const BlackMisc::Aviation::CAircraft &ownAircraft);
void updateOwnAircraftFromSimulator(const BlackMisc::Simulation::CSimulatedAircraft &ownAircraft);
void disconnectAllClients();
//! Aircraft object directory
//! \todo Read from settings if registry fails
static QString aircraftObjectsDir();
//! Do not include the following directories for FS
static const QStringList &excludeDirectories();
QHash<BlackMisc::Aviation::CCallsign, QPointer<CFs9Client>> m_hashFs9Clients;
QMetaObject::Connection m_connectionHostMessages;
int m_dispatchTimerId = -1;