refs #911, backend function in listener

Can provide information of the system which was connected
This commit is contained in:
Klaus Basan
2017-03-16 04:44:01 +01:00
committed by Mathew Sutcliffe
parent 8a2eef66ae
commit 622a2f0937
4 changed files with 23 additions and 2 deletions

View File

@@ -78,4 +78,9 @@ namespace BlackCore
Q_UNUSED(s) Q_UNUSED(s)
} }
QString ISimulatorListener::backendInfo() const
{
return m_info.toQString();
}
} // namespace } // namespace

View File

@@ -247,6 +247,9 @@ namespace BlackCore
//! Corresponding info //! Corresponding info
const BlackMisc::Simulation::CSimulatorPluginInfo &getPluginInfo() const { return m_info; } const BlackMisc::Simulation::CSimulatorPluginInfo &getPluginInfo() const { return m_info; }
//! Info about the backend system (if available)
virtual QString backendInfo() const;
public slots: public slots:
//! Start listening for the simulator to start. //! Start listening for the simulator to start.
virtual void start() = 0; virtual void start() = 0;

View File

@@ -1321,6 +1321,10 @@ namespace BlackSimPlugin
void CSimulatorFsxCommonListener::start() void CSimulatorFsxCommonListener::start()
{ {
m_simulatorVersion.clear();
m_simConnectVersion.clear();
m_simulatorName.clear();
m_simulatorDetails.clear();
m_timer->start(); m_timer->start();
} }
@@ -1329,6 +1333,12 @@ namespace BlackSimPlugin
m_timer->stop(); m_timer->stop();
} }
QString CSimulatorFsxCommonListener::backendInfo() const
{
if (m_simulatorName.isEmpty()) { return ISimulatorListener::backendInfo(); }
return m_simulatorDetails;
}
void CSimulatorFsxCommonListener::checkConnection() void CSimulatorFsxCommonListener::checkConnection()
{ {
Q_ASSERT_X(sApp, Q_FUNC_INFO, "Missing sApp"); Q_ASSERT_X(sApp, Q_FUNC_INFO, "Missing sApp");
@@ -1391,8 +1401,8 @@ namespace BlackSimPlugin
simListener->m_simulatorVersion = QString("%1.%2.%3.%4").arg(event->dwApplicationVersionMajor).arg(event->dwApplicationVersionMinor).arg(event->dwApplicationBuildMajor).arg(event->dwApplicationBuildMinor); simListener->m_simulatorVersion = QString("%1.%2.%3.%4").arg(event->dwApplicationVersionMajor).arg(event->dwApplicationVersionMinor).arg(event->dwApplicationBuildMajor).arg(event->dwApplicationBuildMinor);
simListener->m_simConnectVersion = QString("%1.%2.%3.%4").arg(event->dwSimConnectVersionMajor).arg(event->dwSimConnectVersionMinor).arg(event->dwSimConnectBuildMajor).arg(event->dwSimConnectBuildMinor); simListener->m_simConnectVersion = QString("%1.%2.%3.%4").arg(event->dwSimConnectVersionMajor).arg(event->dwSimConnectVersionMinor).arg(event->dwSimConnectBuildMajor).arg(event->dwSimConnectBuildMinor);
simListener->m_simulatorName = QString(event->szApplicationName); simListener->m_simulatorName = QString(event->szApplicationName);
simListener->m_simulatorDetails = QString("Open: AppName=\"%1\" AppVersion=%2 SimConnectVersion=%3").arg(simListener->m_simulatorName, simListener->m_simulatorVersion, simListener->m_simConnectVersion); simListener->m_simulatorDetails = QString("Name: '%1' Version: %2 SimConnect: %3").arg(simListener->m_simulatorName, simListener->m_simulatorVersion, simListener->m_simConnectVersion);
CLogMessage(static_cast<CSimulatorFsxCommonListener *>(nullptr)).info("Connect to FSX/P3D: %1") << sApp->swiftVersionString(); CLogMessage(static_cast<CSimulatorFsxCommonListener *>(nullptr)).info("Connect to FSX/P3D: '%1'") << simListener->backendInfo();
break; break;
} }
case SIMCONNECT_RECV_ID_EXCEPTION: case SIMCONNECT_RECV_ID_EXCEPTION:

View File

@@ -291,6 +291,9 @@ namespace BlackSimPlugin
//! Constructor //! Constructor
CSimulatorFsxCommonListener(const BlackMisc::Simulation::CSimulatorPluginInfo &info); CSimulatorFsxCommonListener(const BlackMisc::Simulation::CSimulatorPluginInfo &info);
//! \copydoc BlackCore::ISimulatorListener::backendInfo
virtual QString backendInfo() const override;
public slots: public slots:
//! \copydoc BlackCore::ISimulatorListener::start //! \copydoc BlackCore::ISimulatorListener::start
virtual void start() override; virtual void start() override;