Ref T554, signal if auto publish data are written

This commit is contained in:
Klaus Basan
2019-06-28 01:34:32 +02:00
committed by Mat Sutcliffe
parent 49d1bcbd39
commit 7b03ed5aec
4 changed files with 10 additions and 1 deletions

View File

@@ -142,6 +142,9 @@ namespace BlackCore
const BlackMisc::Simulation::CAircraftModelList &valid, const BlackMisc::Simulation::CAircraftModelList &invalid,
bool stopped, const BlackMisc::CStatusMessageList &msgs);
//! Auto publish data written for simulator
void autoPublishDataWritten(const BlackMisc::Simulation::CSimulatorInfo &simulator);
public slots:
//! Simulator info, currently loaded plugin
virtual BlackMisc::Simulation::CSimulatorPluginInfo getSimulatorPluginInfo() const = 0;

View File

@@ -486,6 +486,8 @@ namespace BlackCore
Q_ASSERT(c);
c = connect(simulator, &ISimulator::requestUiConsoleMessage, this, &IContextSimulator::requestUiConsoleMessage);
Q_ASSERT(c);
c = connect(simulator, &ISimulator::autoPublishDataWritten, this, &IContextSimulator::autoPublishDataWritten);
Q_ASSERT(c);
// log from context to simulator
c = connect(CLogHandler::instance(), &CLogHandler::localMessageLogged, this, &CContextSimulator::relayStatusMessageToSimulator);

View File

@@ -997,7 +997,8 @@ namespace BlackCore
void ISimulator::unload()
{
this->disconnectFrom(); // disconnect from simulator
m_autoPublishing.writeJsonToFile();
const bool saved = m_autoPublishing.writeJsonToFile();
if (saved) { emit this->autoPublishDataWritten(this->getSimulatorInfo()); }
m_autoPublishing.clear();
m_remoteAircraftProviderConnections.disconnectAll(); // disconnect signals from provider
}

View File

@@ -375,6 +375,9 @@ namespace BlackCore
//! A requested elevation has been received
void receivedRequestedElevation(const BlackMisc::Geo::CElevationPlane &plane, const BlackMisc::Aviation::CCallsign &callsign);
//! Auto publish data written for simulator
void autoPublishDataWritten(const BlackMisc::Simulation::CSimulatorInfo &simulator);
protected:
//! Constructor with all the providers
ISimulator(const BlackMisc::Simulation::CSimulatorPluginInfo &pluginInfo,