mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-06 10:15:38 +08:00
refs #619, use a combined cache class
* moved caches to blackmisc * used CModelCaches in loader * applied changes in simulator specific loader classes * renamed find function to findFirstByModelStringOrDefault * made merge function static so it can be used elsewhere
This commit is contained in:
@@ -64,9 +64,9 @@ namespace BlackMisc
|
||||
|
||||
void CAircraftModelLoaderXPlane::startLoadingFromDisk(LoadMode mode, const CAircraftModelList &dbModels)
|
||||
{
|
||||
m_installedModels.clear();
|
||||
if (m_rootDirectory.isEmpty())
|
||||
{
|
||||
this->clearCache();
|
||||
emit loadingFinished(false, this->m_simulatorInfo);
|
||||
return;
|
||||
}
|
||||
@@ -90,9 +90,9 @@ namespace BlackMisc
|
||||
}
|
||||
else if (mode.testFlag(LoadDirectly))
|
||||
{
|
||||
m_installedModels = performParsing(m_rootDirectory, m_excludedDirectories);
|
||||
mergeWithDbData(m_installedModels, dbModels);
|
||||
emit loadingFinished(true, this->m_simulatorInfo);
|
||||
CAircraftModelList models(performParsing(m_rootDirectory, m_excludedDirectories));
|
||||
mergeWithDbData(models, dbModels);
|
||||
updateInstalledModels(models);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -108,26 +108,10 @@ namespace BlackMisc
|
||||
return CFileUtils::containsFileNewerThan(cacheTs, this->getRootDirectory(), true, {fileFilterCsl(), fileFilterFlyable()}, this->m_excludedDirectories);
|
||||
}
|
||||
|
||||
bool CAircraftModelLoaderXPlane::hasCachedData() const
|
||||
{
|
||||
//! \todo KB
|
||||
return false;
|
||||
}
|
||||
|
||||
QDateTime CAircraftModelLoaderXPlane::getCacheTimestamp() const
|
||||
{
|
||||
//! \todo KB add cache and report back
|
||||
return QDateTime();
|
||||
}
|
||||
|
||||
const CAircraftModelList &CAircraftModelLoaderXPlane::getAircraftModels() const
|
||||
{
|
||||
return m_installedModels;
|
||||
}
|
||||
|
||||
void CAircraftModelLoaderXPlane::updateInstalledModels(const CAircraftModelList &models)
|
||||
{
|
||||
m_installedModels = models;
|
||||
this->setModelsInCache(models);
|
||||
emit loadingFinished(true, this->m_simulatorInfo);
|
||||
}
|
||||
|
||||
|
||||
@@ -46,9 +46,6 @@ namespace BlackMisc
|
||||
virtual BlackMisc::CPixmap iconForModel(const QString &modelName, BlackMisc::CStatusMessage &statusMessage) const override;
|
||||
virtual bool isLoadingFinished() const override;
|
||||
virtual bool areModelFilesUpdated() const override;
|
||||
virtual bool hasCachedData() const override;
|
||||
virtual QDateTime getCacheTimestamp() const override;
|
||||
virtual const BlackMisc::Simulation::CAircraftModelList &getAircraftModels() const override;
|
||||
//! @}
|
||||
|
||||
public slots:
|
||||
@@ -113,7 +110,6 @@ namespace BlackMisc
|
||||
|
||||
QPointer<BlackMisc::CWorker> m_parserWorker; //!< worker will destroy itself, so weak pointer
|
||||
QVector<CSLPackage> m_cslPackages; //!< Parsed Packages. No lock required since accessed only from one thread
|
||||
BlackMisc::Simulation::CAircraftModelList m_installedModels;
|
||||
|
||||
static const QString &fileFilterFlyable();
|
||||
static const QString &fileFilterCsl();
|
||||
|
||||
Reference in New Issue
Block a user