refs #808, added support for internals object

* initInternalsObject
* some formatting
This commit is contained in:
Klaus Basan
2016-11-17 04:41:56 +01:00
parent c70b1ccb00
commit c4dd888fa7
4 changed files with 25 additions and 4 deletions

View File

@@ -240,7 +240,7 @@ namespace BlackCore
const CSimulatorInternals &CSimulatorCommon::getSimulatorInternals() const
{
return m_simulatorSetup;
return m_simulatorInternals;
}
void CSimulatorCommon::unload()

View File

@@ -137,12 +137,12 @@ namespace BlackCore
BlackMisc::IInterpolator *m_interpolator = nullptr; //!< interpolator instance
bool m_pausedSimFreezesInterpolation = false; //!< paused simulator will also pause interpolation (so AI aircraft will hold)
BlackMisc::Simulation::CSimulatorInternals m_simulatorSetup; //!< setup object
BlackMisc::CInterpolationAndRenderingSetup m_interpolationRenderingSetup; //!< debug messages, rendering etc.
BlackMisc::Simulation::CAircraftModel m_defaultModel; //!< default model
qint64 m_statsUpdateAircraftTimeTotalMs = 0; //!< statistics update time
qint64 m_statsUpdateAircraftTimeAvgMs = 0; //!< statistics update time
int m_statsUpdateAircraftCountMs = 0; //!< statistics update time
BlackMisc::Simulation::CSimulatorInternals m_simulatorInternals; //!< setup object
BlackMisc::CInterpolationAndRenderingSetup m_interpolationRenderingSetup; //!< debug messages, rendering etc.
// some optional functionality which can be used by the sims as needed
BlackMisc::Simulation::CSimulatedAircraftList m_aircraftToAddAgainWhenRemoved; //!< add this model again when removed, normally used to change model

View File

@@ -9,6 +9,7 @@
#include "simulatorfscommon.h"
#include "blackmisc/logmessage.h"
#include "blackmisc/stringutils.h"
using namespace BlackMisc::PhysicalQuantities;
using namespace BlackMisc::Simulation;
@@ -35,6 +36,21 @@ namespace BlackSimPlugin
CSimulatorFsCommon::~CSimulatorFsCommon() { }
void CSimulatorFsCommon::initInternalsObject()
{
CSimulatorInternals s;
s.setSimulatorName(this->m_simulatorName);
s.setSimulatorVersion(this->m_simulatorVersion);
s.setValue("fscommon/fsuipc", boolToOnOff(m_useFsuipc));
if (m_fsuipc)
{
const QString v(m_fsuipc->getVersion());
if (!v.isEmpty()) { s.setValue("fscommon/fsuipcversion", v); }
s.setValue("fscommon/fsuipcconnect", boolToYesNo(m_fsuipc->isConnected()));
}
this->m_simulatorInternals = s;
}
bool CSimulatorFsCommon::disconnectFrom()
{
if (this->m_fsuipc) { this->m_fsuipc->disconnect(); }

View File

@@ -53,7 +53,12 @@ namespace BlackSimPlugin
BlackMisc::Weather::IWeatherGridProvider *weatherGridProvider,
QObject *parent = nullptr);
QString simulatorDetails; //!< describes version etc.
//! Init the internals objects
virtual void initInternalsObject();
QString m_simulatorName; //!< name of simulator
QString m_simulatorDetails; //!< describes version etc.
QString m_simulatorVersion; //!< Simulator version
QScopedPointer<FsCommon::CFsuipc> m_fsuipc; //!< FSUIPC
bool m_useFsuipc = true; //!< use FSUIPC
bool m_simPaused = false; //!< Simulator paused?