refs #438, added plug info to listeners

* listener signal can be directly used without mapping
* (during debugging) it is much easier to identify a listener
This commit is contained in:
Klaus Basan
2015-06-02 02:48:44 +02:00
parent f423f167f3
commit 91bcba6a0c
12 changed files with 57 additions and 71 deletions

View File

@@ -40,10 +40,10 @@ namespace BlackSimPlugin
namespace Fsx
{
CSimulatorFsx::CSimulatorFsx(const CSimulatorPluginInfo &info,
IOwnAircraftProvider *ownAircraftProvider,
IRemoteAircraftProvider *remoteAircraftProvider,
IPluginStorageProvider *pluginStorageProvider,
QObject *parent) :
IOwnAircraftProvider *ownAircraftProvider,
IRemoteAircraftProvider *remoteAircraftProvider,
IPluginStorageProvider *pluginStorageProvider,
QObject *parent) :
CSimulatorFsCommon(info, ownAircraftProvider, remoteAircraftProvider, pluginStorageProvider,
simObjectsDir(), excludeDirectories(), parent)
{
@@ -54,11 +54,11 @@ namespace BlackSimPlugin
m_useFsuipc = false; // do not use FSUIPC at the moment with FSX
this->m_interpolator = new CInterpolatorLinear(remoteAircraftProvider, this);
m_modelMatcher.setDefaultModel(CAircraftModel(
"Boeing 737-800 Paint1",
CAircraftModel::TypeModelMatchingDefaultModel,
"B737-800 default model",
CAircraftIcaoData(CAircraftIcaoCode("B738", "L2J"), CAirlineIcaoCode(), "FFFFFF")
));
"Boeing 737-800 Paint1",
CAircraftModel::TypeModelMatchingDefaultModel,
"B737-800 default model",
CAircraftIcaoData(CAircraftIcaoCode("B738", "L2J"), CAirlineIcaoCode(), "FFFFFF")
));
}
CSimulatorFsx::~CSimulatorFsx()
@@ -860,7 +860,8 @@ namespace BlackSimPlugin
return exclude;
}
CSimulatorFsxListener::CSimulatorFsxListener(QObject *parent) : ISimulatorListener(parent),
CSimulatorFsxListener::CSimulatorFsxListener(const CSimulatorPluginInfo &info, QObject *parent) :
ISimulatorListener(info, parent),
m_timer(new QTimer(this))
{
Q_CONSTEXPR int QueryInterval = 5 * 1000; // 5 seconds
@@ -873,8 +874,7 @@ namespace BlackSimPlugin
HANDLE hSimConnect;
HRESULT result = SimConnect_Open(&hSimConnect, BlackMisc::CProject::systemNameAndVersionChar(), nullptr, 0, 0, 0);
SimConnect_Close(hSimConnect);
if (result == S_OK) { emit simulatorStarted(); }
if (result == S_OK) { emit simulatorStarted(this->getPluginInfo()); }
});
}

View File

@@ -217,7 +217,7 @@ namespace BlackSimPlugin
public:
//! Constructor
CSimulatorFsxListener(QObject *parent);
CSimulatorFsxListener(const BlackMisc::Simulation::CSimulatorPluginInfo &info, QObject *parent);
public slots:
//! \copydoc BlackCore::ISimulatorListener::start

View File

@@ -27,9 +27,9 @@ namespace BlackSimPlugin
return new CSimulatorFsx(info, ownAircraftProvider, renderedAircraftProvider, pluginStorageProvider, this);
}
BlackCore::ISimulatorListener *CSimulatorFsxFactory::createListener(QObject *parent)
BlackCore::ISimulatorListener *CSimulatorFsxFactory::createListener(const BlackMisc::Simulation::CSimulatorPluginInfo &info, QObject *parent)
{
return new CSimulatorFsxListener(parent);
return new CSimulatorFsxListener(info, parent);
}
} // namespace

View File

@@ -24,7 +24,9 @@ namespace BlackSimPlugin
namespace Fsx
{
//! Factory implementation to create CSimulatorFsx instances
class CSimulatorFsxFactory : public QObject, public BlackCore::ISimulatorFactory
class CSimulatorFsxFactory :
public QObject,
public BlackCore::ISimulatorFactory
{
Q_OBJECT
Q_PLUGIN_METADATA(IID "org.swift-project.blackcore.simulatorinterface" FILE "simulator_fsx.json")
@@ -38,7 +40,7 @@ namespace BlackSimPlugin
BlackMisc::IPluginStorageProvider *pluginStorageProvider) override;
//! \copydoc BlackCore::ISimulatorFactory::getListener
virtual BlackCore::ISimulatorListener *createListener(QObject *parent = nullptr) override;
virtual BlackCore::ISimulatorListener *createListener(const BlackMisc::Simulation::CSimulatorPluginInfo &info, QObject *parent = nullptr) override;
};
} // namespace