refs #649, with #659 deferred caches available

* adjustments to use deferred caches
* removed simulator from CAircraftModelSetLoader`s signature as it was not used
* only change current simulator when explicitly set (avoid unintended setting)
* added function to obtain number of elements from model caches
This commit is contained in:
Klaus Basan
2016-05-29 12:37:03 +02:00
parent 771c531125
commit 875b311ede
19 changed files with 123 additions and 66 deletions

View File

@@ -187,7 +187,7 @@ namespace BlackMisc
virtual BlackMisc::Simulation::CSimulatorInfo getCurrentSimulator() const = 0;
//!Selected simulator
virtual void setCurrentSimulator(const BlackMisc::Simulation::CSimulatorInfo &simulator) = 0;
virtual BlackMisc::CStatusMessage setCurrentSimulator(const BlackMisc::Simulation::CSimulatorInfo &simulator) = 0;
//! \copydoc IModelsPerSimulatorSetable::setModels
virtual void setModels(const BlackMisc::Simulation::CAircraftModelList &models, const BlackMisc::Simulation::CSimulatorInfo &simulator) override;
@@ -207,6 +207,7 @@ namespace BlackMisc
};
//! Bundle of caches for all simulators
//! \remark remembers its last simulator selection
class CModelCaches : public IMultiSimulatorModelCaches
{
Q_OBJECT
@@ -222,7 +223,7 @@ namespace BlackMisc
virtual QDateTime getCacheTimestamp(const BlackMisc::Simulation::CSimulatorInfo &simulator) const override;
virtual void syncronizeCache(const BlackMisc::Simulation::CSimulatorInfo &simulator) override;
virtual BlackMisc::Simulation::CSimulatorInfo getCurrentSimulator() const override { return this->m_currentSimulator.getCopy(); }
virtual void setCurrentSimulator(const BlackMisc::Simulation::CSimulatorInfo &simulator) override;
virtual BlackMisc::CStatusMessage setCurrentSimulator(const BlackMisc::Simulation::CSimulatorInfo &simulator) override;
//! @}
private:
@@ -234,7 +235,7 @@ namespace BlackMisc
};
//! Bundle of caches for model sets of all simulators
//! \remark Temp. workaround
//! \remark remembers its last simulator selection
class CModelSetCaches : public IMultiSimulatorModelCaches
{
Q_OBJECT
@@ -250,7 +251,7 @@ namespace BlackMisc
virtual QDateTime getCacheTimestamp(const BlackMisc::Simulation::CSimulatorInfo &simulator) const override;
virtual void syncronizeCache(const BlackMisc::Simulation::CSimulatorInfo &simulator) override;
virtual BlackMisc::Simulation::CSimulatorInfo getCurrentSimulator() const override { return this->m_currentSimulator.getCopy(); }
virtual void setCurrentSimulator(const BlackMisc::Simulation::CSimulatorInfo &simulator) override;
virtual BlackMisc::CStatusMessage setCurrentSimulator(const BlackMisc::Simulation::CSimulatorInfo &simulator) override;
//! @}
private: