Issue #77 getLogCategories returns a simple QStringList instead of our own class

This commit is contained in:
Mat Sutcliffe
2020-10-28 16:48:31 +00:00
parent 05d28017e7
commit 63e8de8f00
156 changed files with 862 additions and 833 deletions

View File

@@ -844,12 +844,12 @@ namespace BlackMisc
{
if (same)
{
static const CStatusMessage msgSame({ CLogCategory::validation() }, CStatusMessage::SeverityWarning, u"Model '%1' same %2 '%3'");
static const CStatusMessage msgSame({ CLogCategories::validation() }, CStatusMessage::SeverityWarning, u"Model '%1' same %2 '%3'");
return CStatusMessage(msgSame) << model.getModelStringAndDbKey() << description << newValue;
}
else
{
static const CStatusMessage msgDiff({ CLogCategory::validation() }, CStatusMessage::SeverityInfo, u"Model '%1' changed %2 '%3'->'%4'");
static const CStatusMessage msgDiff({ CLogCategories::validation() }, CStatusMessage::SeverityInfo, u"Model '%1' changed %2 '%3'->'%4'");
return CStatusMessage(msgDiff) << model.getModelStringAndDbKey() << description << oldValue << newValue;
}
}
@@ -858,7 +858,7 @@ namespace BlackMisc
{
if (!dbModel.isLoadedFromDb())
{
static const CStatusMessage msgNoDbModel({ CLogCategory::validation() }, CStatusMessage::SeverityInfo, u"No DB model yet");
static const CStatusMessage msgNoDbModel({ CLogCategories::validation() }, CStatusMessage::SeverityInfo, u"No DB model yet");
if (details) { details->push_back(msgNoDbModel); }
return false;
}

View File

@@ -31,9 +31,9 @@ namespace BlackMisc
{
namespace Simulation
{
const CLogCategoryList &IAircraftModelLoader::getLogCategories()
const QStringList &IAircraftModelLoader::getLogCategories()
{
static const CLogCategoryList cats({ CLogCategory::modelLoader() });
static const QStringList cats({ CLogCategories::modelLoader() });
return cats;
}

View File

@@ -51,7 +51,7 @@ namespace BlackMisc
public:
//! Log categories
static const CLogCategoryList &getLogCategories();
static const QStringList &getLogCategories();
//! Parser mode
enum LoadModeFlag

View File

@@ -144,27 +144,28 @@ namespace BlackMisc
CStatusMessageList CAircraftModelUtilities::validateModelFiles(const CSimulatorInfo &simulator, const CAircraftModelList &models, CAircraftModelList &validModels, CAircraftModelList &invalidModels, bool ignoreEmpty, int stopAtFailedFiles, std::atomic_bool &wasStopped, const QString &simulatorDir)
{
// some generic tests
CLogCategoryList cats = { CLogCategories::matching() };
CStatusMessageList msgs;
if (models.isEmpty())
{
msgs.push_back(CStatusMessage(CLogCategory::matching(), CStatusMessage::SeverityError, u"No models", true));
msgs.push_back(CStatusMessage(cats, CStatusMessage::SeverityError, u"No models", true));
return msgs;
}
const int noDb = models.size() - models.countWithValidDbKey();
if (noDb > 0)
{
msgs.push_back(CStatusMessage(CLogCategory::matching(), CStatusMessage::SeverityWarning, QStringLiteral("%1 models without DB data, is this intended?").arg(noDb), true));
msgs.push_back(CStatusMessage(cats, CStatusMessage::SeverityWarning, QStringLiteral("%1 models without DB data, is this intended?").arg(noDb), true));
const QString ms = models.findWithoutValidDbKey(5).getModelStringList().join(", ");
msgs.push_back(CStatusMessage(CLogCategory::matching(), CStatusMessage::SeverityWarning, QStringLiteral("Some of the non DB models are: '%1'").arg(ms), true));
msgs.push_back(CStatusMessage(cats, CStatusMessage::SeverityWarning, QStringLiteral("Some of the non DB models are: '%1'").arg(ms), true));
}
const int noExcluded = models.countByMode(CAircraftModel::Exclude);
if (noExcluded > 0)
{
msgs.push_back(CStatusMessage(CLogCategory::matching(), CStatusMessage::SeverityWarning, QStringLiteral("%1 models marked as excluded, is this intended?").arg(noExcluded), true));
msgs.push_back(CStatusMessage(cats, CStatusMessage::SeverityWarning, QStringLiteral("%1 models marked as excluded, is this intended?").arg(noExcluded), true));
const QString ms = models.findAllExcludedModels(5).getModelStringList().join(", ");
msgs.push_back(CStatusMessage(CLogCategory::matching(), CStatusMessage::SeverityWarning, QStringLiteral("Some of the excluded models are: '%1'").arg(ms), true));
msgs.push_back(CStatusMessage(cats, CStatusMessage::SeverityWarning, QStringLiteral("Some of the excluded models are: '%1'").arg(ms), true));
}
// specific checks for FSX/XPlane/FG

View File

@@ -142,7 +142,7 @@ namespace BlackMisc
CStatusMessageList CAutoPublishData::analyzeAgainstDBData(const CAircraftModelList &dbModels)
{
static const CLogCategoryList cats({ CLogCategory::mapping(), CLogCategory::webservice() });
static const CLogCategoryList cats({ CLogCategories::mapping(), CLogCategories::webservice() });
if (dbModels.isEmpty()) { return CStatusMessage(this).validationError(u"No DB data"); }
if (this->isEmpty()) { return CStatusMessage(this).validationWarning(u"No data"); }

View File

@@ -22,9 +22,9 @@ namespace BlackMisc
{
namespace Simulation
{
const CLogCategoryList &CBackgroundValidation::getLogCategories()
const QStringList &CBackgroundValidation::getLogCategories()
{
static const CLogCategoryList cats({ CLogCategory::worker(), CLogCategory::modelSetCache() });
static const QStringList cats({ CLogCategories::worker(), CLogCategories::modelSetCache() });
return cats;
}

View File

@@ -34,7 +34,7 @@ namespace BlackMisc
public:
//! Log categories
static const CLogCategoryList &getLogCategories();
static const QStringList &getLogCategories();
//! Constructor
CBackgroundValidation(QObject *owner);

View File

@@ -20,9 +20,9 @@ namespace BlackMisc
{
namespace Simulation
{
const CLogCategoryList &CCategoryMatcher::getLogCategories()
const QStringList &CCategoryMatcher::getLogCategories()
{
static const CLogCategoryList cats { CLogCategory::matching() };
static const QStringList cats { CLogCategories::matching() };
return cats;
}

View File

@@ -29,7 +29,7 @@ namespace BlackMisc
{
public:
//! Log categories
static const BlackMisc::CLogCategoryList &getLogCategories();
static const QStringList &getLogCategories();
//! Constructor
CCategoryMatcher() {}

View File

@@ -192,9 +192,9 @@ namespace BlackMisc
}
}
const CLogCategoryList &CModelCaches::getLogCategories()
const QStringList &CModelCaches::getLogCategories()
{
static const CLogCategoryList l({ CLogCategory::modelCache() });
static const QStringList l({ CLogCategories::modelCache() });
return l;
}
@@ -411,9 +411,9 @@ namespace BlackMisc
}
}
const CLogCategoryList &CModelSetCaches::getLogCategories()
const QStringList &CModelSetCaches::getLogCategories()
{
static const CLogCategoryList l({ CLogCategory::modelSetCache() });
static const QStringList l({ CLogCategories::modelSetCache() });
return l;
}

View File

@@ -320,7 +320,7 @@ namespace BlackMisc
CModelCaches(bool synchronizeCache, QObject *parent = nullptr);
//! Log categories
static const BlackMisc::CLogCategoryList &getLogCategories();
static const QStringList &getLogCategories();
//! \name Interface implementations
//! @{
@@ -361,7 +361,7 @@ namespace BlackMisc
CModelSetCaches(bool synchronizeCache, QObject *parent = nullptr);
//! Log categories
static const BlackMisc::CLogCategoryList &getLogCategories();
static const QStringList &getLogCategories();
//! \name Interface implementations
//! @{

View File

@@ -39,9 +39,9 @@ namespace BlackMisc
{
using FsRegistryPathPair = QList<QPair<QString, QString>>;
const CLogCategoryList &CFsCommonUtil::getLogCategories()
const QStringList &CFsCommonUtil::getLogCategories()
{
static const CLogCategoryList cats({ CLogCategory::validation(), CLogCategory::driver() });
static const QStringList cats({ CLogCategories::validation(), CLogCategories::driver() });
return cats;
}
@@ -421,13 +421,13 @@ namespace BlackMisc
messages.clear();
if (!CDirectoryUtils::existsUnemptyDirectory(CSwiftDirectories::shareTerrainProbeDirectory()))
{
messages.push_back(CStatusMessage(getLogCategories(), CStatusMessage::SeverityError, u"No terrain probe source files in '%1'") << CSwiftDirectories::shareTerrainProbeDirectory());
messages.push_back(CStatusMessage(static_cast<CFsCommonUtil *>(nullptr), CStatusMessage::SeverityError, u"No terrain probe source files in '%1'") << CSwiftDirectories::shareTerrainProbeDirectory());
return -1;
}
if (simObjectDir.isEmpty())
{
messages.push_back(CStatusMessage(getLogCategories(), CStatusMessage::SeverityError, u"No simObject directory"));
messages.push_back(CStatusMessage(static_cast<CFsCommonUtil *>(nullptr), CStatusMessage::SeverityError, u"No simObject directory"));
return -1;
}
@@ -435,7 +435,7 @@ namespace BlackMisc
const QDir td(targetDir);
if (!td.exists())
{
messages.push_back(CStatusMessage(getLogCategories(), CStatusMessage::SeverityError, u"Cannot access target directory '%1'") << targetDir);
messages.push_back(CStatusMessage(static_cast<CFsCommonUtil *>(nullptr), CStatusMessage::SeverityError, u"Cannot access target directory '%1'") << targetDir);
return -1;
}
@@ -444,12 +444,12 @@ namespace BlackMisc
const bool hasDir = td.mkpath(targetDir);
if (!hasDir)
{
messages.push_back(CStatusMessage(getLogCategories(), CStatusMessage::SeverityError, u"Cannot create target directory '%1'") << targetDir);
messages.push_back(CStatusMessage(static_cast<CFsCommonUtil *>(nullptr), CStatusMessage::SeverityError, u"Cannot create target directory '%1'") << targetDir);
return -1;
}
const int copied = CDirectoryUtils::copyDirectoryRecursively(CSwiftDirectories::shareTerrainProbeDirectory(), targetDir, true);
messages.push_back(CStatusMessage(getLogCategories(), CStatusMessage::SeverityInfo, u"Copied %1 files from '%2' to '%3'") << copied << CSwiftDirectories::shareTerrainProbeDirectory() << targetDir);
messages.push_back(CStatusMessage(static_cast<CFsCommonUtil *>(nullptr), CStatusMessage::SeverityInfo, u"Copied %1 files from '%2' to '%3'") << copied << CSwiftDirectories::shareTerrainProbeDirectory() << targetDir);
return copied;
}
@@ -475,7 +475,7 @@ namespace BlackMisc
const QString pathUp = CFileUtils::appendFilePaths(CFileUtils::pathUp(path), "Lockheed Martin");
const QDir d(pathUp);
if (!d.exists()) { continue; }
if (logConfigPathReading()) { CLogMessage(getLogCategories()).info(u"P3D config dir: '%1'") << d.absolutePath(); }
if (logConfigPathReading()) { CLogMessage(static_cast<CFsCommonUtil *>(nullptr)).info(u"P3D config dir: '%1'") << d.absolutePath(); }
// all versions sub directories
// looking for "add-ons.cfg" or simobjects.cfg
@@ -490,7 +490,7 @@ namespace BlackMisc
if (fi.exists())
{
files.insert(f);
if (logConfigPathReading()) { CLogMessage(getLogCategories()).info(u"P3D config file: '%1'") << f; }
if (logConfigPathReading()) { CLogMessage(static_cast<CFsCommonUtil *>(nullptr)).info(u"P3D config file: '%1'") << f; }
}
} // contains
} // entries
@@ -531,7 +531,7 @@ namespace BlackMisc
QDomDocument doc;
QFile file(filename);
if (!file.open(QIODevice::ReadOnly) || !doc.setContent(&file)) { continue; }
if (CFsCommonUtil::logConfigPathReading()) { CLogMessage(getLogCategories()).info(u"Reading '%1' from addon path: '%2'") << file.fileName() << addOnPath; }
if (CFsCommonUtil::logConfigPathReading()) { CLogMessage(static_cast<CFsCommonUtil *>(nullptr)).info(u"Reading '%1' from addon path: '%2'") << file.fileName() << addOnPath; }
const QDomNodeList components = doc.elementsByTagName("AddOn.Component");
for (int i = 0; i < components.size(); i++)
@@ -550,11 +550,11 @@ namespace BlackMisc
const QString fp = pathValue.left(3).contains(':') ?
pathValue :
CFileUtils::appendFilePaths(addOnPath, pathValue);
if (CFsCommonUtil::logConfigPathReading()) { CLogMessage(getLogCategories()).info(u"Testing '%1' as addon path: '%2'") << fp << addOnPath; }
if (CFsCommonUtil::logConfigPathReading()) { CLogMessage(static_cast<CFsCommonUtil *>(nullptr)).info(u"Testing '%1' as addon path: '%2'") << fp << addOnPath; }
if (!checked || QDir(fp).exists())
{
simObjectPaths.insert(CFileUtils::normalizeFilePathToQtStandard(fp));
if (logConfigPathReading()) { CLogMessage(getLogCategories()).info(u"P3D SimObjects path: '%1'") << fp; }
if (logConfigPathReading()) { CLogMessage(static_cast<CFsCommonUtil *>(nullptr)).info(u"P3D SimObjects path: '%1'") << fp; }
}
} // components
} // paths
@@ -591,7 +591,7 @@ namespace BlackMisc
if (fi.exists())
{
files.push_back(fi.absoluteFilePath());
if (logConfigPathReading()) { CLogMessage(getLogCategories()).info(u"FSX config file: '%1'") << fi.absoluteFilePath(); }
if (logConfigPathReading()) { CLogMessage(static_cast<CFsCommonUtil *>(nullptr)).info(u"FSX config file: '%1'") << fi.absoluteFilePath(); }
}
}
return files;
@@ -626,7 +626,7 @@ namespace BlackMisc
if (i2 < 0 || i1 >= i2 || line.endsWith('=')) { continue; }
const QStringRef path = line.mid(i2 + 1);
QString soPath = QDir::fromNativeSeparators(path.toString());
if (logConfigPathReading()) { CLogMessage(getLogCategories()).info(u"FSX SimObjects path checked: '%1' in '%2'") << line << fsxFile; }
if (logConfigPathReading()) { CLogMessage(static_cast<CFsCommonUtil *>(nullptr)).info(u"FSX SimObjects path checked: '%1' in '%2'") << line << fsxFile; }
// ignore exclude patterns
if (containsAny(soPath, CFsCommonUtil::fsxSimObjectsExcludeDirectoryPatterns(), Qt::CaseInsensitive)) { continue; }
@@ -638,19 +638,19 @@ namespace BlackMisc
if (checked && !dir.exists())
{
// skip, not existing
if (logConfigPathReading()) { CLogMessage(getLogCategories()).info(u"FSX SimObjects path skipped, not existing: '%1' in '%2'") << dir.absolutePath() << fsxFile; }
if (logConfigPathReading()) { CLogMessage(static_cast<CFsCommonUtil *>(nullptr)).info(u"FSX SimObjects path skipped, not existing: '%1' in '%2'") << dir.absolutePath() << fsxFile; }
continue;
}
const QString afp = dir.absolutePath().toLower();
if (!CDirectoryUtils::containsFileInDir(afp, airFileFilter(), true))
{
if (logConfigPathReading()) { CLogMessage(getLogCategories()).info(u"FSX SimObjects path: Skipping '%1' from '%2', no '%3' file") << afp << fsxFile << airFileFilter(); }
if (logConfigPathReading()) { CLogMessage(static_cast<CFsCommonUtil *>(nullptr)).info(u"FSX SimObjects path: Skipping '%1' from '%2', no '%3' file") << afp << fsxFile << airFileFilter(); }
continue;
}
paths.insert(afp);
if (logConfigPathReading()) { CLogMessage(getLogCategories()).info(u"FSX SimObjects path: '%1' from '%2'") << afp << fsxFile; }
if (logConfigPathReading()) { CLogMessage(static_cast<CFsCommonUtil *>(nullptr)).info(u"FSX SimObjects path: '%1' from '%2'") << afp << fsxFile; }
}
return paths;
}
@@ -669,13 +669,13 @@ namespace BlackMisc
{
for (const CAircraftModel &model : nonFsModels)
{
m = CStatusMessage(getLogCategories(), CStatusMessage::SeverityError, QStringLiteral("Removed '%1' non FS family model").arg(model.getModelStringAndDbKey()), true);
m = CStatusMessage(static_cast<CFsCommonUtil *>(nullptr), CStatusMessage::SeverityError, QStringLiteral("Removed '%1' non FS family model").arg(model.getModelStringAndDbKey()), true);
msgs.push_back(m);
if (wasStopped) { break; } // allow to break from "outside"
}
const int d = validModels.removeIfNotFsFamily();
m = CStatusMessage(getLogCategories(), CStatusMessage::SeverityError, QStringLiteral("Removed %1 non FS family models").arg(d), true);
m = CStatusMessage(static_cast<CFsCommonUtil *>(nullptr), CStatusMessage::SeverityError, QStringLiteral("Removed %1 non FS family models").arg(d), true);
msgs.push_back(m);
}
@@ -692,7 +692,7 @@ namespace BlackMisc
for (const CAircraftModel &removedModel : removedModels)
{
removedCfgEntries++;
m = CStatusMessage(getLogCategories(), CStatusMessage::SeverityError, QStringLiteral("'%1' removed because no longer in '%2'").arg(removedModel.getModelStringAndDbKey(), removedModel.getFileName()), true);
m = CStatusMessage(static_cast<CFsCommonUtil *>(nullptr), CStatusMessage::SeverityError, QStringLiteral("'%1' removed because no longer in '%2'").arg(removedModel.getModelStringAndDbKey(), removedModel.getFileName()), true);
msgs.push_back(m);
CAircraftModelList::addAsValidOrInvalidModel(removedModel, false, validModels, invalidModels);
}
@@ -700,18 +700,18 @@ namespace BlackMisc
if (removedCfgEntries < 1)
{
m = CStatusMessage(getLogCategories(), CStatusMessage::SeverityInfo, QStringLiteral("Not removed any models, all OK!"), true);
m = CStatusMessage(static_cast<CFsCommonUtil *>(nullptr), CStatusMessage::SeverityInfo, QStringLiteral("Not removed any models, all OK!"), true);
msgs.push_back(m);
}
if (!validModels.isEmpty())
{
m = CStatusMessage(getLogCategories(), CStatusMessage::SeverityInfo, QStringLiteral("cfg validation, valid models: %1").arg(validModels.size()), true);
m = CStatusMessage(static_cast<CFsCommonUtil *>(nullptr), CStatusMessage::SeverityInfo, QStringLiteral("cfg validation, valid models: %1").arg(validModels.size()), true);
msgs.push_back(m);
}
if (!invalidModels.isEmpty())
{
m = CStatusMessage(getLogCategories(), CStatusMessage::SeverityWarning, QStringLiteral("cfg validation, invalid models: %1").arg(invalidModels.size()), true);
m = CStatusMessage(static_cast<CFsCommonUtil *>(nullptr), CStatusMessage::SeverityWarning, QStringLiteral("cfg validation, invalid models: %1").arg(invalidModels.size()), true);
msgs.push_back(m);
}
@@ -747,7 +747,7 @@ namespace BlackMisc
CStatusMessageList msgs;
if (simObjectDirs.isEmpty())
{
msgs.push_back(CStatusMessage(getLogCategories()).validationInfo(u"No SimObject directories from cfg files, skipping validation"));
msgs.push_back(CStatusMessage(static_cast<CFsCommonUtil *>(nullptr)).validationInfo(u"No SimObject directories from cfg files, skipping validation"));
return msgs;
}
@@ -755,13 +755,13 @@ namespace BlackMisc
sortedModels.sortByFileName();
if (sortedModels.isEmpty())
{
msgs.push_back(CStatusMessage(getLogCategories()).validationInfo(u"No models to validate"));
msgs.push_back(CStatusMessage(static_cast<CFsCommonUtil *>(nullptr)).validationInfo(u"No models to validate"));
return msgs;
}
// info
const QString simObjDirs = joinStringSet(simObjectDirs, ", ");
msgs.push_back(CStatusMessage(getLogCategories()).validationInfo(u"Validating %1 models against %2 SimObjects path(s): '%3'") << models.size() << simObjectDirs.size() << simObjDirs);
msgs.push_back(CStatusMessage(static_cast<CFsCommonUtil *>(nullptr)).validationInfo(u"Validating %1 models against %2 SimObjects path(s): '%3'") << models.size() << simObjectDirs.size() << simObjDirs);
// validate
int failed = 0;
@@ -770,7 +770,7 @@ namespace BlackMisc
if (!model.hasFileName())
{
if (ignoreEmptyFileNames) { continue; }
msgs.push_back(CStatusMessage(getLogCategories()).validationWarning(u"No file name for model '%1'") << model.getModelString());
msgs.push_back(CStatusMessage(static_cast<CFsCommonUtil *>(nullptr)).validationWarning(u"No file name for model '%1'") << model.getModelString());
CAircraftModelList::addAsValidOrInvalidModel(model, false, validModels, invalidModels);
continue;
}
@@ -785,14 +785,14 @@ namespace BlackMisc
CAircraftModelList::addAsValidOrInvalidModel(model, ok, validModels, invalidModels);
if (!ok)
{
msgs.push_back(CStatusMessage(getLogCategories()).validationWarning(u"Model '%1' '%2' in none of the %3 SimObjects path(s)") << model.getModelString() << model.getFileName() << simObjectDirs.size());
msgs.push_back(CStatusMessage(static_cast<CFsCommonUtil *>(nullptr)).validationWarning(u"Model '%1' '%2' in none of the %3 SimObjects path(s)") << model.getModelString() << model.getFileName() << simObjectDirs.size());
failed++;
}
if (stopAtFailedFiles > 0 && failed >= stopAtFailedFiles)
{
stopped = true;
msgs.push_back(CStatusMessage(getLogCategories()).validationWarning(u"Stopping after %1 failed models") << failed);
msgs.push_back(CStatusMessage(static_cast<CFsCommonUtil *>(nullptr)).validationWarning(u"Stopping after %1 failed models") << failed);
break;
}
} // models

View File

@@ -30,7 +30,7 @@ namespace BlackMisc
{
public:
//! Log categories
static const BlackMisc::CLogCategoryList &getLogCategories();
static const QStringList &getLogCategories();
//! Constructor
CFsCommonUtil() = delete;

View File

@@ -41,9 +41,9 @@ namespace BlackMisc
this->setObjectName("CInterpolationLogger");
}
const CLogCategoryList &CInterpolationLogger::getLogCategories()
const QStringList &CInterpolationLogger::getLogCategories()
{
static const CLogCategoryList cats { CLogCategory::interpolator() };
static const QStringList cats { CLogCategories::interpolator() };
return cats;
}

View File

@@ -105,7 +105,7 @@ namespace BlackMisc
CInterpolationLogger(QObject *parent = nullptr);
//! Log categories
static const CLogCategoryList &getLogCategories();
static const QStringList &getLogCategories();
//! Write a log in background
CWorker *writeLogInBackground(bool clearLog);

View File

@@ -163,9 +163,9 @@ namespace BlackMisc
}
template <typename Derived>
const CLogCategoryList &CInterpolator<Derived>::getLogCategories()
const QStringList &CInterpolator<Derived>::getLogCategories()
{
static const CLogCategoryList cats { CLogCategory::interpolator() };
static const QStringList cats { CLogCategories::interpolator() };
return cats;
}

View File

@@ -187,7 +187,7 @@ namespace BlackMisc
{
public:
//! Log categories
static const CLogCategoryList &getLogCategories();
static const QStringList &getLogCategories();
//! Latest interpolation result
const Aviation::CAircraftSituation &getLastInterpolatedSituation() const { return m_lastSituation; }

View File

@@ -15,22 +15,22 @@ namespace BlackMisc
{
namespace Simulation
{
void CMatchingUtils::addLogDetailsToList(CStatusMessageList *log, const CSimulatedAircraft &remoteAircraft, const QString &message, const CLogCategoryList &extraCategories, CStatusMessage::StatusSeverity s)
void CMatchingUtils::addLogDetailsToList(CStatusMessageList *log, const CSimulatedAircraft &remoteAircraft, const QString &message, const QStringList &extraCategories, CStatusMessage::StatusSeverity s)
{
CLogUtilities::addLogDetailsToList(log, remoteAircraft.getCallsign(), message, extraCategories, s);
}
const CLogCategoryList &CMatchingUtils::defaultCategories()
{
static const CLogCategoryList cats({ CLogCategory::matching() });
static const CLogCategoryList cats({ CLogCategories::matching() });
return cats;
}
CLogCategoryList CMatchingUtils::categories(const CLogCategoryList &extraCategories)
CLogCategoryList CMatchingUtils::categories(const QStringList &extraCategories)
{
if (extraCategories.isEmpty()) { return defaultCategories(); }
CLogCategoryList cats(defaultCategories());
cats.push_back(extraCategories);
cats.push_back(CLogCategoryList::fromQStringList(extraCategories));
return cats;
}
} // ns

View File

@@ -29,7 +29,7 @@ namespace BlackMisc
//! \threadsafe
static void addLogDetailsToList(
CStatusMessageList *log, const Simulation::CSimulatedAircraft &remoteAircraft,
const QString &message, const CLogCategoryList &extraCategories = {},
const QString &message, const QStringList &extraCategories = {},
CStatusMessage::StatusSeverity s = CStatusMessage::SeverityInfo);
private:
@@ -37,7 +37,7 @@ namespace BlackMisc
static const CLogCategoryList &defaultCategories();
//! Categories
static CLogCategoryList categories(const CLogCategoryList &extraCategories);
static CLogCategoryList categories(const QStringList &extraCategories);
};
} // ns
} // ns

View File

@@ -31,9 +31,9 @@ namespace BlackMisc
IRemoteAircraftProvider::~IRemoteAircraftProvider()
{ }
const CLogCategoryList &CRemoteAircraftProvider::getLogCategories()
const QStringList &CRemoteAircraftProvider::getLogCategories()
{
static const CLogCategoryList cats { CLogCategory::matching(), CLogCategory::network() };
static const QStringList cats { CLogCategories::matching(), CLogCategories::network() };
return cats;
}

View File

@@ -299,7 +299,7 @@ namespace BlackMisc
public:
//! Log categories
static const CLogCategoryList &getLogCategories();
static const QStringList &getLogCategories();
//! Constructor
CRemoteAircraftProvider(QObject *parent);

View File

@@ -236,7 +236,7 @@ namespace BlackMisc
Q_ASSERT_X(simulator.isSingleSimulator(), Q_FUNC_INFO, "No single simulator");
break;
}
return CStatusMessage({ CLogCategory::settings() }, CStatusMessage::SeverityError, u"wrong simulator");
return CStatusMessage({ CLogCategories::settings() }, CStatusMessage::SeverityError, u"wrong simulator");
}
CStatusMessage CMultiSimulatorSettings::addModelDirectory(const QString &modelDirectory, const CSimulatorInfo &simulator)
@@ -244,7 +244,7 @@ namespace BlackMisc
CSimulatorSettings s = this->getSettings(simulator);
if (!s.addModelDirectory(modelDirectory))
{
return CStatusMessage({ CLogCategory::settings() }, CStatusMessage::SeverityInfo, u"directory already existing");
return CStatusMessage({ CLogCategories::settings() }, CStatusMessage::SeverityInfo, u"directory already existing");
}
return this->setSettings(s, simulator);
}
@@ -296,7 +296,7 @@ namespace BlackMisc
Q_ASSERT_X(simulator.isSingleSimulator(), Q_FUNC_INFO, "No single simulator");
break;
}
return CStatusMessage({ CLogCategory::settings() }, CStatusMessage::SeverityError, u"wrong simulator");
return CStatusMessage({ CLogCategories::settings() }, CStatusMessage::SeverityError, u"wrong simulator");
}
CStatusMessage CMultiSimulatorSettings::setAndSaveSettings(const CSpecializedSimulatorSettings &settings, const CSimulatorInfo &simulator)
@@ -318,7 +318,7 @@ namespace BlackMisc
Q_ASSERT_X(simulator.isSingleSimulator(), Q_FUNC_INFO, "No single simulator");
break;
}
return CStatusMessage({ CLogCategory::settings() }, CStatusMessage::SeverityError, u"wrong simulator");
return CStatusMessage({ CLogCategories::settings() }, CStatusMessage::SeverityError, u"wrong simulator");
}
QString CMultiSimulatorSettings::getSimulatorDirectoryIfNotDefault(const CSimulatorInfo &simulator) const

View File

@@ -29,9 +29,9 @@ namespace BlackMisc
{
namespace XPlane
{
const CLogCategoryList &CXPlaneUtil::getLogCategories()
const QStringList &CXPlaneUtil::getLogCategories()
{
static const CLogCategoryList cats { CLogCategory::matching() };
static const QStringList cats { CLogCategories::matching() };
return cats;
}
@@ -289,7 +289,7 @@ namespace BlackMisc
{
if (simDir.isEmpty())
{
return CStatusMessage(getLogCategories(), CStatusMessage::SeverityWarning, u"no simulator directory", true);
return CStatusMessage(static_cast<CXPlaneUtil *>(nullptr), CStatusMessage::SeverityWarning, u"no simulator directory", true);
}
CStatusMessageList msgs;
@@ -302,8 +302,8 @@ namespace BlackMisc
CDirectoryUtils::isSameOrSubDirectoryOf(modelDir, sd) :
CDirectoryUtils::isSameOrSubDirectoryOfStringBased(modelDir, sd.absolutePath());
const CStatusMessage m = exists ?
CStatusMessage(getLogCategories()).info(u"Model directory '%1' inside '%2'") << modelDir << sd.absolutePath() :
CStatusMessage(getLogCategories()).error(u"Model directory '%1' NOT inside '%2'") << modelDir << sd.absolutePath();
CStatusMessage(static_cast<CXPlaneUtil *>(nullptr)).info(u"Model directory '%1' inside '%2'") << modelDir << sd.absolutePath() :
CStatusMessage(static_cast<CXPlaneUtil *>(nullptr)).error(u"Model directory '%1' NOT inside '%2'") << modelDir << sd.absolutePath();
msgs.push_back(m);
}
msgs.addValidationCategory();

View File

@@ -30,7 +30,7 @@ namespace BlackMisc
CXPlaneUtil() = delete;
//! Log categories
static const CLogCategoryList &getLogCategories();
static const QStringList &getLogCategories();
//! XPlane 9 directory
static QString xplane9Dir();