Ref T260, utility functions to set provider, plane ctor

This commit is contained in:
Klaus Basan
2018-04-09 22:53:16 +02:00
committed by Roland Winklmeier
parent 6e908db52e
commit 056c257182
7 changed files with 32 additions and 10 deletions

View File

@@ -97,6 +97,12 @@ namespace BlackCore
return this;
}
void CContextNetwork::setSimulationEnvironmentProvider(ISimulationEnvironmentProvider *provider)
{
if (m_airspace) { m_airspace->setSimulationEnvironmentProvider(provider); }
if (m_network) { m_network->setSimulationEnvironmentProvider(provider); }
}
CContextNetwork::~CContextNetwork()
{
this->gracefulShutdown();
@@ -438,17 +444,14 @@ namespace BlackCore
void CContextNetwork::xCtxSimulatorStatusChanged(int status)
{
const ISimulator::SimulatorStatus simStatus = static_cast<ISimulator::SimulatorStatus>(status);
if (m_network)
if (ISimulator::isAnyConnectedStatus(simStatus))
{
if (simStatus.testFlag(ISimulator::Connected))
{
const CContextSimulator *sim = this->getRuntime()->getCContextSimulator();
m_network->setSimulationEnvironmentProvider(sim ? sim->simulator() : nullptr);
}
else
{
m_network->setSimulationEnvironmentProvider(nullptr);
}
const CContextSimulator *sim = this->getRuntime()->getCContextSimulator();
this->setSimulationEnvironmentProvider(sim ? sim->simulator() : nullptr);
}
else
{
this->setSimulationEnvironmentProvider(nullptr);
}
}

View File

@@ -217,6 +217,9 @@ namespace BlackCore
//! \remarks normally only for core facade internal usage
CAirspaceMonitor *airspace() const { return m_airspace; }
//! Set the provider
void setSimulationEnvironmentProvider(BlackMisc::Simulation::ISimulationEnvironmentProvider *provider);
private:
CAirspaceMonitor *m_airspace = nullptr;
INetwork *m_network = nullptr;