mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-05 01:05:34 +08:00
Issue #77 Factor out parts of CDirectoryUtils into CSwiftDirectories
CDirectoryUtils is utilities for manipulating directories. CSwiftDirectories is getters that return directories used by swift.
This commit is contained in:
@@ -22,6 +22,7 @@
|
||||
#include "blackmisc/logcategorylist.h"
|
||||
#include "blackmisc/logmessage.h"
|
||||
#include "blackmisc/statusmessagelist.h"
|
||||
#include "blackmisc/swiftdirectories.h"
|
||||
#include "blackmisc/directoryutils.h"
|
||||
#include "aircraftmatcher.h"
|
||||
|
||||
@@ -538,8 +539,8 @@ namespace BlackCore
|
||||
// matching script
|
||||
const bool msReverse = (script == ReverseLookup);
|
||||
const QString lf = msReverse ? setup.getMsReverseLookupFile() : setup.getMsMatchingStageFile();
|
||||
static const QString logFileR = CFileUtils::appendFilePaths(CDirectoryUtils::logDirectory(), "logMatchingScriptReverseLookup.log");
|
||||
static const QString logFileM = CFileUtils::appendFilePaths(CDirectoryUtils::logDirectory(), "logMatchingScriptMatchingStage.log");
|
||||
static const QString logFileR = CFileUtils::appendFilePaths(CSwiftDirectories::logDirectory(), "logMatchingScriptReverseLookup.log");
|
||||
static const QString logFileM = CFileUtils::appendFilePaths(CSwiftDirectories::logDirectory(), "logMatchingScriptMatchingStage.log");
|
||||
|
||||
if (log)
|
||||
{
|
||||
@@ -1390,7 +1391,7 @@ namespace BlackCore
|
||||
// log the models
|
||||
const QString ts = QDateTime::currentDateTimeUtc().toString("yyyyMMddHHmmss");
|
||||
const QString json = m_disabledModels.toJsonString();
|
||||
return CFileUtils::writeStringToFile(json, CFileUtils::appendFilePathsAndFixUnc(CDirectoryUtils::logDirectory(), QStringLiteral("removed models %1.json").arg(ts)));
|
||||
return CFileUtils::writeStringToFile(json, CFileUtils::appendFilePathsAndFixUnc(CSwiftDirectories::logDirectory(), QStringLiteral("removed models %1.json").arg(ts)));
|
||||
}
|
||||
|
||||
CAircraftModelList CAircraftMatcher::getClosestMatchStepwiseReduceImplementation(const CAircraftModelList &modelSet, const CAircraftMatcherSetup &setup, const CCategoryMatcher &categoryMatcher, const CSimulatedAircraft &remoteAircraft, MatchingLog whatToLog, CStatusMessageList *log)
|
||||
|
||||
@@ -24,6 +24,7 @@
|
||||
#include "blackmisc/crashhandler.h"
|
||||
#include "blackmisc/datacache.h"
|
||||
#include "blackmisc/dbusserver.h"
|
||||
#include "blackmisc/swiftdirectories.h"
|
||||
#include "blackmisc/directoryutils.h"
|
||||
#include "blackmisc/eventloop.h"
|
||||
#include "blackmisc/filelogger.h"
|
||||
@@ -107,7 +108,7 @@ namespace BlackCore
|
||||
Q_ASSERT_X(!sApp, Q_FUNC_INFO, "already initialized");
|
||||
Q_ASSERT_X(QCoreApplication::instance(), Q_FUNC_INFO, "no application object");
|
||||
|
||||
m_applicationInfo.setApplicationDataDirectory(CDirectoryUtils::normalizedApplicationDataDirectory());
|
||||
m_applicationInfo.setApplicationDataDirectory(CSwiftDirectories::normalizedApplicationDataDirectory());
|
||||
QCoreApplication::setApplicationName(m_applicationName);
|
||||
QCoreApplication::setApplicationVersion(CBuildConfig::getVersionString());
|
||||
this->setObjectName(m_applicationName);
|
||||
@@ -1437,7 +1438,7 @@ namespace BlackCore
|
||||
"You'll need to update swift in order to use it thereafter.");
|
||||
}
|
||||
|
||||
const QStringList verifyErrors = CDirectoryUtils::verifyRuntimeDirectoriesAndFiles();
|
||||
const QStringList verifyErrors = CSwiftDirectories::verifyRuntimeDirectoriesAndFiles();
|
||||
if (!verifyErrors.isEmpty() && !m_applicationInfo.isUnitTest())
|
||||
{
|
||||
this->cmdLineErrorMessage("Missing runtime directories/files:", verifyErrors.join(", "));
|
||||
@@ -1862,7 +1863,7 @@ namespace BlackCore
|
||||
|
||||
void CApplication::tagApplicationDataDirectory()
|
||||
{
|
||||
const QString d = CDirectoryUtils::normalizedApplicationDataDirectory();
|
||||
const QString d = CSwiftDirectories::normalizedApplicationDataDirectory();
|
||||
const QDir dir(d);
|
||||
if (!dir.exists() || !dir.isReadable()) { return; }
|
||||
const QString aiStr(this->getApplicationInfo().toJsonString());
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
#include "blackcore/data/globalsetup.h"
|
||||
#include "blackcore/application.h"
|
||||
#include "blackmisc/json.h"
|
||||
#include "blackmisc/swiftdirectories.h"
|
||||
#include "blackmisc/directoryutils.h"
|
||||
#include "blackmisc/network/server.h"
|
||||
#include "blackmisc/network/user.h"
|
||||
@@ -110,7 +111,7 @@ namespace BlackCore
|
||||
|
||||
CUrlList CGlobalSetup::getSwiftBootstrapFileUrls() const
|
||||
{
|
||||
return getSwiftSharedUrls().withAppendedPath(CGlobalSetup::schemaVersionString() + "/bootstrap/" + CDirectoryUtils::bootstrapFileName());
|
||||
return getSwiftSharedUrls().withAppendedPath(CGlobalSetup::schemaVersionString() + "/bootstrap/" + CSwiftDirectories::bootstrapFileName());
|
||||
}
|
||||
|
||||
CUrlList CGlobalSetup::getSwiftUpdateInfoFileUrls() const
|
||||
@@ -217,23 +218,23 @@ namespace BlackCore
|
||||
{
|
||||
if (candidate.isEmpty()) return {}; // not possible
|
||||
static const QString version(QString(CGlobalSetup::schemaVersionString()).append("/"));
|
||||
if (candidate.endsWith(CDirectoryUtils::bootstrapFileName())) { return candidate; }
|
||||
if (candidate.endsWith(CSwiftDirectories::bootstrapFileName())) { return candidate; }
|
||||
CUrl url(candidate);
|
||||
if (candidate.contains("/bootstrap"))
|
||||
{
|
||||
url.appendPath(CDirectoryUtils::bootstrapFileName());
|
||||
url.appendPath(CSwiftDirectories::bootstrapFileName());
|
||||
}
|
||||
else if (candidate.endsWith(CGlobalSetup::schemaVersionString()) || candidate.endsWith(version))
|
||||
{
|
||||
url.appendPath("/bootstrap/" + CDirectoryUtils::bootstrapFileName());
|
||||
url.appendPath("/bootstrap/" + CSwiftDirectories::bootstrapFileName());
|
||||
}
|
||||
else if (candidate.endsWith("shared") || candidate.endsWith("shared/"))
|
||||
{
|
||||
url.appendPath(CGlobalSetup::schemaVersionString() + "/bootstrap/" + CDirectoryUtils::bootstrapFileName());
|
||||
url.appendPath(CGlobalSetup::schemaVersionString() + "/bootstrap/" + CSwiftDirectories::bootstrapFileName());
|
||||
}
|
||||
else
|
||||
{
|
||||
url.appendPath("shared/" + CGlobalSetup::schemaVersionString() + "/bootstrap/" + CDirectoryUtils::bootstrapFileName());
|
||||
url.appendPath("shared/" + CGlobalSetup::schemaVersionString() + "/bootstrap/" + CSwiftDirectories::bootstrapFileName());
|
||||
}
|
||||
return url.getFullUrl();
|
||||
}
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
#include "blackmisc/db/datastoreutility.h"
|
||||
#include "blackmisc/network/networkutils.h"
|
||||
#include "blackmisc/network/entityflags.h"
|
||||
#include "blackmisc/swiftdirectories.h"
|
||||
#include "blackmisc/directoryutils.h"
|
||||
#include "blackmisc/logcategory.h"
|
||||
#include "blackmisc/logcategorylist.h"
|
||||
@@ -621,14 +622,14 @@ namespace BlackCore
|
||||
|
||||
if (inBackground || !CThreadUtils::isInThisThread(this))
|
||||
{
|
||||
const bool s = this->readFromJsonFilesInBackground(CDirectoryUtils::staticDbFilesDirectory(), entities, overrideNewerOnly);
|
||||
const bool s = this->readFromJsonFilesInBackground(CSwiftDirectories::staticDbFilesDirectory(), entities, overrideNewerOnly);
|
||||
return s ?
|
||||
CStatusMessage(this).info(u"Started reading in background from '%1' of entities: '%2'") << CDirectoryUtils::staticDbFilesDirectory() << CEntityFlags::flagToString(entities) :
|
||||
CStatusMessage(this).error(u"Starting reading in background from '%1' of entities: '%2' failed") << CDirectoryUtils::staticDbFilesDirectory() << CEntityFlags::flagToString(entities);
|
||||
CStatusMessage(this).info(u"Started reading in background from '%1' of entities: '%2'") << CSwiftDirectories::staticDbFilesDirectory() << CEntityFlags::flagToString(entities) :
|
||||
CStatusMessage(this).error(u"Starting reading in background from '%1' of entities: '%2' failed") << CSwiftDirectories::staticDbFilesDirectory() << CEntityFlags::flagToString(entities);
|
||||
}
|
||||
else
|
||||
{
|
||||
return this->readFromJsonFiles(CDirectoryUtils::staticDbFilesDirectory(), entities, overrideNewerOnly);
|
||||
return this->readFromJsonFiles(CSwiftDirectories::staticDbFilesDirectory(), entities, overrideNewerOnly);
|
||||
}
|
||||
}
|
||||
//! \endcond
|
||||
|
||||
@@ -687,38 +687,42 @@ namespace BlackCore
|
||||
return true;
|
||||
}
|
||||
|
||||
bool CIcaoDataReader::writeToJsonFiles(const QString &dir) const
|
||||
bool CIcaoDataReader::writeToJsonFiles(const QString &dir)
|
||||
{
|
||||
QDir directory(dir);
|
||||
if (!directory.exists()) { return false; }
|
||||
QList<QPair<CEntityFlags::EntityFlag, QString>> fileContents;
|
||||
if (this->getCountriesCount() > 0)
|
||||
{
|
||||
const QString json(QJsonDocument(this->getCountries().toJson()).toJson());
|
||||
const bool s = CFileUtils::writeStringToFileInBackground(json, CFileUtils::appendFilePaths(directory.absolutePath(), CDbInfo::entityToSharedName(CEntityFlags::CountryEntity)));
|
||||
if (!s) { return false; }
|
||||
fileContents.push_back({ CEntityFlags::CountryEntity, json });
|
||||
}
|
||||
|
||||
if (this->getAircraftIcaoCodesCount() > 0)
|
||||
{
|
||||
const QString json(QJsonDocument(this->getAircraftIcaoCodes().toJson()).toJson());
|
||||
const bool s = CFileUtils::writeStringToFileInBackground(json, CFileUtils::appendFilePaths(directory.absolutePath(), CDbInfo::entityToSharedName(CEntityFlags::AircraftIcaoEntity)));
|
||||
if (!s) { return false; }
|
||||
fileContents.push_back({ CEntityFlags::AircraftIcaoEntity, json });
|
||||
}
|
||||
|
||||
if (this->getAirlineIcaoCodesCount() > 0)
|
||||
{
|
||||
const QString json(QJsonDocument(this->getAirlineIcaoCodes().toJson()).toJson());
|
||||
const bool s = CFileUtils::writeStringToFileInBackground(json, CFileUtils::appendFilePaths(directory.absolutePath(), CDbInfo::entityToSharedName(CEntityFlags::AirlineIcaoEntity)));
|
||||
if (!s) { return false; }
|
||||
fileContents.push_back({ CEntityFlags::AirlineIcaoEntity, json });
|
||||
}
|
||||
|
||||
if (this->getAircraftCategoryCount() > 0)
|
||||
{
|
||||
const QString json(QJsonDocument(this->getAirlineIcaoCodes().toJson()).toJson());
|
||||
const bool s = CFileUtils::writeStringToFileInBackground(json, CFileUtils::appendFilePaths(directory.absolutePath(), CDbInfo::entityToSharedName(CEntityFlags::AircraftCategoryEntity)));
|
||||
if (!s) { return false; }
|
||||
fileContents.push_back({ CEntityFlags::AircraftCategoryEntity, json });
|
||||
}
|
||||
|
||||
for (const auto &pair : fileContents)
|
||||
{
|
||||
CWorker::fromTask(this, Q_FUNC_INFO, [pair, directory]
|
||||
{
|
||||
CFileUtils::writeStringToFile(CFileUtils::appendFilePaths(directory.absolutePath(), CDbInfo::entityToSharedName(pair.first)), pair.second);
|
||||
});
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@@ -140,7 +140,7 @@ namespace BlackCore
|
||||
bool areAllDataRead() const;
|
||||
|
||||
//! Write to static DB data file
|
||||
bool writeToJsonFiles(const QString &dir) const;
|
||||
bool writeToJsonFiles(const QString &dir);
|
||||
|
||||
// data read from local data
|
||||
virtual BlackMisc::CStatusMessageList readFromJsonFiles(const QString &dir, BlackMisc::Network::CEntityFlags::Entity whatToRead, bool overrideNewerOnly) override;
|
||||
|
||||
@@ -599,29 +599,35 @@ namespace BlackCore
|
||||
return true;
|
||||
}
|
||||
|
||||
bool CModelDataReader::writeToJsonFiles(const QString &dir) const
|
||||
bool CModelDataReader::writeToJsonFiles(const QString &dir)
|
||||
{
|
||||
QDir directory(dir);
|
||||
if (!directory.exists()) { return false; }
|
||||
QList<QPair<QString, QString>> fileContents;
|
||||
if (this->getLiveriesCount() > 0)
|
||||
{
|
||||
const QString json(QJsonDocument(this->getLiveries().toJson()).toJson());
|
||||
const bool s = CFileUtils::writeStringToFileInBackground(json, CFileUtils::appendFilePaths(directory.absolutePath(), "liveries.json"));
|
||||
if (!s) { return false; }
|
||||
fileContents.push_back({ "liveries.json", json });
|
||||
}
|
||||
|
||||
if (this->getModelsCount() > 0)
|
||||
{
|
||||
const QString json(QJsonDocument(this->getModels().toJson()).toJson());
|
||||
const bool s = CFileUtils::writeStringToFileInBackground(json, CFileUtils::appendFilePaths(directory.absolutePath(), "models.json"));
|
||||
if (!s) { return false; }
|
||||
fileContents.push_back({ "models.json", json });
|
||||
}
|
||||
|
||||
if (this->getDistributorsCount() > 0)
|
||||
{
|
||||
const QString json(QJsonDocument(this->getDistributors().toJson()).toJson());
|
||||
const bool s = CFileUtils::writeStringToFileInBackground(json, CFileUtils::appendFilePaths(directory.absolutePath(), "distributors.json"));
|
||||
if (!s) { return false; }
|
||||
fileContents.push_back({ "distributors.json", json });
|
||||
}
|
||||
|
||||
for (const auto &pair : fileContents)
|
||||
{
|
||||
CWorker::fromTask(this, Q_FUNC_INFO, [pair, directory]
|
||||
{
|
||||
CFileUtils::writeStringToFile(CFileUtils::appendFilePaths(directory.absolutePath(), pair.first), pair.second);
|
||||
});
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -134,7 +134,7 @@ namespace BlackCore
|
||||
bool areAllDataRead() const;
|
||||
|
||||
//! Write to JSON file
|
||||
bool writeToJsonFiles(const QString &dir) const;
|
||||
bool writeToJsonFiles(const QString &dir);
|
||||
|
||||
// Data read from local data
|
||||
virtual BlackMisc::CStatusMessageList readFromJsonFiles(const QString &dir, BlackMisc::Network::CEntityFlags::Entity whatToRead, bool overrideNewerOnly) override;
|
||||
|
||||
@@ -38,6 +38,7 @@
|
||||
|
||||
#include "blackmisc/aviation/flightplan.h"
|
||||
#include "blackmisc/network/rawfsdmessage.h"
|
||||
#include "blackmisc/swiftdirectories.h"
|
||||
#include "blackmisc/threadutils.h"
|
||||
#include "blackmisc/logmessage.h"
|
||||
#include "blackmisc/range.h"
|
||||
@@ -2080,7 +2081,7 @@ namespace BlackCore
|
||||
const QString s = this->getNetworkStatisticsAsText(false, "\n");
|
||||
if (s.isEmpty()) { return false; }
|
||||
const QString fn = QStringLiteral("networkstatistics_%1_%2.log").arg(QDateTime::currentDateTimeUtc().toString("yyMMddhhmmss"), server);
|
||||
const QString fp = CFileUtils::appendFilePaths(CDirectoryUtils::logDirectory(), fn);
|
||||
const QString fp = CFileUtils::appendFilePaths(CSwiftDirectories::logDirectory(), fn);
|
||||
return CFileUtils::writeStringToFile(s, fp);
|
||||
}
|
||||
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
|
||||
#include "blackcore/pluginmanager.h"
|
||||
#include "blackcore/application.h"
|
||||
#include "blackmisc/swiftdirectories.h"
|
||||
#include "blackmisc/directoryutils.h"
|
||||
#include "blackmisc/logmessage.h"
|
||||
#include "blackmisc/statusmessage.h"
|
||||
@@ -51,7 +52,7 @@ namespace BlackCore
|
||||
|
||||
const QString &IPluginManager::pluginDirectory() const
|
||||
{
|
||||
return CDirectoryUtils::pluginsDirectory();
|
||||
return CSwiftDirectories::pluginsDirectory();
|
||||
}
|
||||
|
||||
bool IPluginManager::isValid(const QJsonObject &metadata) const
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
#include "blackcore/application.h"
|
||||
#include "blackcore/pluginmanagersimulator.h"
|
||||
#include "blackcore/simulator.h"
|
||||
#include "blackmisc/swiftdirectories.h"
|
||||
#include "blackmisc/directoryutils.h"
|
||||
#include "blackmisc/logmessage.h"
|
||||
|
||||
@@ -112,7 +113,7 @@ namespace BlackCore
|
||||
|
||||
const QString &CPluginManagerSimulator::pluginDirectory() const
|
||||
{
|
||||
static const QString d(CFileUtils::appendFilePaths(CDirectoryUtils::pluginsDirectory(), "simulator"));
|
||||
static const QString d(CFileUtils::appendFilePaths(CSwiftDirectories::pluginsDirectory(), "simulator"));
|
||||
return d;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
#include "blackcore/application.h"
|
||||
#include "blackcore/pluginmanagerweatherdata.h"
|
||||
#include "blackcore/weatherdata.h"
|
||||
#include "blackmisc/swiftdirectories.h"
|
||||
#include "blackmisc/directoryutils.h"
|
||||
|
||||
#include <QJsonObject>
|
||||
@@ -65,7 +66,7 @@ namespace BlackCore
|
||||
|
||||
const QString &CPluginManagerWeatherData::pluginDirectory() const
|
||||
{
|
||||
static const QString d(CFileUtils::appendFilePaths(CDirectoryUtils::pluginsDirectory(), "weatherdata"));
|
||||
static const QString d(CFileUtils::appendFilePaths(CSwiftDirectories::pluginsDirectory(), "weatherdata"));
|
||||
return d;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
#include "blackmisc/verify.h"
|
||||
#include "blackmisc/compare.h"
|
||||
#include "blackmisc/fileutils.h"
|
||||
#include "blackmisc/swiftdirectories.h"
|
||||
#include "blackmisc/directoryutils.h"
|
||||
#include "blackmisc/logcategory.h"
|
||||
#include "blackmisc/logcategorylist.h"
|
||||
@@ -115,7 +116,7 @@ namespace BlackCore
|
||||
if (m_bootstrapUrls.isEmpty())
|
||||
{
|
||||
// after all still empty
|
||||
msgs.push_back(CStatusMessage(this, CStatusMessage::SeverityInfo, u"Your log files are here: " % CDirectoryUtils::logDirectory()));
|
||||
msgs.push_back(CStatusMessage(this, CStatusMessage::SeverityInfo, u"Your log files are here: " % CSwiftDirectories::logDirectory()));
|
||||
msgs.push_back(CStatusMessage(this, CStatusMessage::SeverityError, u"No bootstrap URLs, cannot load setup"));
|
||||
}
|
||||
else
|
||||
@@ -307,7 +308,7 @@ namespace BlackCore
|
||||
if (dir.isEmpty()) { return CStatusMessage(this).error(u"Empty shared directory '%1' for bootstrap file") << dir; }
|
||||
|
||||
// no version for local files, as those come with the current code
|
||||
fn = CFileUtils::appendFilePaths(dir, "bootstrap/" + CDirectoryUtils::bootstrapFileName());
|
||||
fn = CFileUtils::appendFilePaths(dir, "bootstrap/" + CSwiftDirectories::bootstrapFileName());
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -482,7 +483,7 @@ namespace BlackCore
|
||||
CLogMessage(this).info(u"Setup cache prefill (bootstrap already cached, no prefill needed");
|
||||
return false;
|
||||
}
|
||||
const QString fn = CDirectoryUtils::bootstrapResourceFilePath();
|
||||
const QString fn = CSwiftDirectories::bootstrapResourceFilePath();
|
||||
const CStatusMessageList msgs = this->readLocalBootstrapFile(fn);
|
||||
CLogMessage::preformatted(msgs);
|
||||
return true;
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
#include "blackmisc/valueobject.h"
|
||||
#include "blackmisc/pq/time.h"
|
||||
#include "blackmisc/network/serverlist.h"
|
||||
#include "blackmisc/swiftdirectories.h"
|
||||
#include "blackmisc/directoryutils.h"
|
||||
#include "blackmisc/fileutils.h"
|
||||
|
||||
@@ -211,7 +212,7 @@ namespace BlackCore
|
||||
//! \copydoc BlackMisc::TSettingTrait::defaultValue
|
||||
static const CRawFsdMessageSettings &defaultValue()
|
||||
{
|
||||
static const CRawFsdMessageSettings setting { false, BlackMisc::CDirectoryUtils::logDirectory() };
|
||||
static const CRawFsdMessageSettings setting { false, BlackMisc::CSwiftDirectories::logDirectory() };
|
||||
return setting;
|
||||
}
|
||||
};
|
||||
|
||||
@@ -1538,7 +1538,7 @@ namespace BlackCore
|
||||
CLogMessage(this).info(u"Changed data service ecosystem to '%1'") << es.toQString(true);
|
||||
}
|
||||
|
||||
bool CWebDataServices::writeDbDataToDisk(const QString &dir) const
|
||||
bool CWebDataServices::writeDbDataToDisk(const QString &dir)
|
||||
{
|
||||
if (dir.isEmpty()) { return false; }
|
||||
const QDir directory(dir);
|
||||
@@ -1547,28 +1547,33 @@ namespace BlackCore
|
||||
const bool s = directory.mkpath(dir);
|
||||
if (!s) { return false; }
|
||||
}
|
||||
QList<QPair<QString, QString>> fileContents;
|
||||
|
||||
if (this->getModelsCount() > 0)
|
||||
{
|
||||
const QString json(QJsonDocument(this->getModels().toJson()).toJson());
|
||||
const bool s = CFileUtils::writeStringToFileInBackground(json, CFileUtils::appendFilePaths(directory.absolutePath(), "models.json"));
|
||||
if (!s) { return false; }
|
||||
fileContents.push_back({ "models.json", json });
|
||||
}
|
||||
|
||||
if (this->getLiveriesCount() > 0)
|
||||
{
|
||||
const QString json(QJsonDocument(this->getLiveries().toJson()).toJson());
|
||||
const bool s = CFileUtils::writeStringToFileInBackground(json, CFileUtils::appendFilePaths(directory.absolutePath(), "liveries.json"));
|
||||
if (!s) { return false; }
|
||||
fileContents.push_back({ "liveries.json", json });
|
||||
}
|
||||
|
||||
if (this->getAirportsCount() > 0)
|
||||
{
|
||||
const QString json(QJsonDocument(this->getAirports().toJson()).toJson());
|
||||
const bool s = CFileUtils::writeStringToFileInBackground(json, CFileUtils::appendFilePaths(directory.absolutePath(), "airports.json"));
|
||||
if (!s) { return false; }
|
||||
fileContents.push_back({ "airports.json", json });
|
||||
}
|
||||
|
||||
for (const auto &pair : fileContents)
|
||||
{
|
||||
CWorker::fromTask(this, Q_FUNC_INFO, [pair, directory]
|
||||
{
|
||||
CFileUtils::writeStringToFile(CFileUtils::appendFilePaths(directory.absolutePath(), pair.first), pair.second);
|
||||
});
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@@ -499,7 +499,7 @@ namespace BlackCore
|
||||
void synchronizeDbCaches(BlackMisc::Network::CEntityFlags::Entity entities);
|
||||
|
||||
//! Write data to disk (mainly for testing scenarios)
|
||||
bool writeDbDataToDisk(const QString &dir) const;
|
||||
bool writeDbDataToDisk(const QString &dir);
|
||||
|
||||
//! Load DB data from disk (mainly for initial data load and testing scenarios)
|
||||
//! \remark if the DB readers are alred in aother thread reads in background
|
||||
|
||||
Reference in New Issue
Block a user