Style and formatting

This commit is contained in:
Roland Rossgotterer
2019-03-11 13:24:10 +01:00
committed by Mat Sutcliffe
parent 9b4a01cd25
commit 264002cb63
7 changed files with 49 additions and 66 deletions

View File

@@ -24,6 +24,7 @@ using namespace BlackMisc;
using namespace BlackMisc::Simulation::Data; using namespace BlackMisc::Simulation::Data;
using namespace BlackMisc::Simulation::Settings; using namespace BlackMisc::Simulation::Settings;
using namespace BlackMisc::Simulation::FsCommon; using namespace BlackMisc::Simulation::FsCommon;
using namespace BlackMisc::Simulation::Flightgear;
using namespace BlackMisc::Simulation::XPlane; using namespace BlackMisc::Simulation::XPlane;
namespace BlackMisc namespace BlackMisc
@@ -175,7 +176,7 @@ namespace BlackMisc
{ {
Q_ASSERT_X(simulator.isSingleSimulator(), Q_FUNC_INFO, "Single simulator"); Q_ASSERT_X(simulator.isSingleSimulator(), Q_FUNC_INFO, "Single simulator");
if (simulator.isXPlane()) { return new CAircraftModelLoaderXPlane(parent); } if (simulator.isXPlane()) { return new CAircraftModelLoaderXPlane(parent); }
if (simulator.isFG()) { return new BlackMisc::Simulation::Flightgear::AircraftModelLoaderFlightgear(parent); } if (simulator.isFG()) { return new CAircraftModelLoaderFlightgear(parent); }
return CAircraftCfgParser::createModelLoader(simulator, parent); return CAircraftCfgParser::createModelLoader(simulator, parent);
} }

View File

@@ -16,100 +16,94 @@ namespace BlackMisc
namespace Flightgear namespace Flightgear
{ {
bool AircraftModelLoaderFlightgear::isLoadingFinished() const bool CAircraftModelLoaderFlightgear::isLoadingFinished() const
{ {
return !m_parserWorker || m_parserWorker->isFinished();; return !m_parserWorker || m_parserWorker->isFinished();;
} }
AircraftModelLoaderFlightgear::AircraftModelLoaderFlightgear(QObject *parent) : Simulation::IAircraftModelLoader(Simulation::CSimulatorInfo::fg(), parent) CAircraftModelLoaderFlightgear::CAircraftModelLoaderFlightgear(QObject *parent) : Simulation::IAircraftModelLoader(Simulation::CSimulatorInfo::fg(), parent)
{ } { }
AircraftModelLoaderFlightgear::~AircraftModelLoaderFlightgear() CAircraftModelLoaderFlightgear::~CAircraftModelLoaderFlightgear()
{ {
// that should be safe as long as the worker uses deleteLater (which it does) // that should be safe as long as the worker uses deleteLater (which it does)
if (m_parserWorker) { m_parserWorker->waitForFinished(); } if (m_parserWorker) { m_parserWorker->waitForFinished(); }
} }
void AircraftModelLoaderFlightgear::updateInstalledModels(const CAircraftModelList &models) void CAircraftModelLoaderFlightgear::updateInstalledModels(const CAircraftModelList &models)
{ {
this->setModelsForSimulator(models, CSimulatorInfo::fg()); this->setModelsForSimulator(models, CSimulatorInfo::fg());
const CStatusMessage m = CStatusMessage(this, CStatusMessage::SeverityInfo, u"Flightgear updated '%1' models") << models.size(); const CStatusMessage m = CStatusMessage(this, CStatusMessage::SeverityInfo, u"Flightgear updated '%1' models") << models.size();
m_loadingMessages.push_back(m); m_loadingMessages.push_back(m);
} }
Simulation::CAircraftModelList AircraftModelLoaderFlightgear::parseFlyableAirplanes(const QString &rootDirectory, const QStringList &excludeDirectories) CAircraftModelList CAircraftModelLoaderFlightgear::parseFlyableAirplanes(const QString &rootDirectory, const QStringList &excludeDirectories)
{ {
Q_UNUSED(excludeDirectories); Q_UNUSED(excludeDirectories);
if (rootDirectory.isEmpty()) { return {}; } if (rootDirectory.isEmpty()) { return {}; }
Simulation::CAircraftModelList installedModels; CAircraftModelList installedModels;
QDir searchPath(rootDirectory); QDir searchPath(rootDirectory);
searchPath.setNameFilters(QStringList() << "*-set.xml"); searchPath.setNameFilters(QStringList() << "*-set.xml");
QDirIterator aircraftIt(searchPath, QDirIterator::Subdirectories | QDirIterator::FollowSymlinks); QDirIterator aircraftIt(searchPath, QDirIterator::Subdirectories | QDirIterator::FollowSymlinks);
while (aircraftIt.hasNext()) while (aircraftIt.hasNext())
{ {
aircraftIt.next(); aircraftIt.next();
if (CFileUtils::isExcludedDirectory(aircraftIt.fileInfo(), excludeDirectories, Qt::CaseInsensitive)) { continue; } if (CFileUtils::isExcludedDirectory(aircraftIt.fileInfo(), excludeDirectories, Qt::CaseInsensitive)) { continue; }
if (aircraftIt.filePath().toStdString().find("/AI/Aircraft") != std::string::npos) { continue; } if (aircraftIt.filePath().toStdString().find("/AI/Aircraft") != std::string::npos) { continue; }
Simulation::CAircraftModel model; CAircraftModel model;
std::string modelName = aircraftIt.fileName().toStdString(); QString modelName = aircraftIt.fileName();
modelName = modelName.substr(0, modelName.find("-set.xml")); modelName = modelName.remove("-set.xml");
model.setName(QString::fromStdString(modelName)); model.setName(modelName);
model.setModelString(QString::fromStdString(getModelString(aircraftIt.fileName().toStdString(), false))); model.setModelString(getModelString(aircraftIt.fileName(), false));
model.setModelType(CAircraftModel::TypeOwnSimulatorModel); model.setModelType(CAircraftModel::TypeOwnSimulatorModel);
model.setSimulator(CSimulatorInfo::fg()); model.setSimulator(CSimulatorInfo::fg());
model.setFileDetailsAndTimestamp(aircraftIt.fileInfo()); model.setFileDetailsAndTimestamp(aircraftIt.fileInfo());
model.setModelMode(CAircraftModel::Exclude); model.setModelMode(CAircraftModel::Exclude);
addUniqueModel(model, installedModels); addUniqueModel(model, installedModels);
} }
return installedModels; return installedModels;
} }
CAircraftModelList AircraftModelLoaderFlightgear::parseAIAirplanes(const QString &rootDirectory, const QStringList &excludeDirectories) CAircraftModelList CAircraftModelLoaderFlightgear::parseAIAirplanes(const QString &rootDirectory, const QStringList &excludeDirectories)
{ {
Q_UNUSED(excludeDirectories); Q_UNUSED(excludeDirectories);
if (rootDirectory.isEmpty()) { return {}; } if (rootDirectory.isEmpty()) { return {}; }
Simulation::CAircraftModelList installedModels; CAircraftModelList installedModels;
QDir searchPath(rootDirectory); QDir searchPath(rootDirectory);
searchPath.setNameFilters(QStringList() << "*.xml"); searchPath.setNameFilters(QStringList() << "*.xml");
QDirIterator aircraftIt(searchPath, QDirIterator::Subdirectories | QDirIterator::FollowSymlinks); QDirIterator aircraftIt(searchPath, QDirIterator::Subdirectories | QDirIterator::FollowSymlinks);
while (aircraftIt.hasNext()) while (aircraftIt.hasNext())
{ {
aircraftIt.next(); aircraftIt.next();
if (CFileUtils::isExcludedDirectory(aircraftIt.fileInfo(), excludeDirectories, Qt::CaseInsensitive)) { continue; } if (CFileUtils::isExcludedDirectory(aircraftIt.fileInfo(), excludeDirectories, Qt::CaseInsensitive)) { continue; }
Simulation::CAircraftModel model; CAircraftModel model;
std::string modelName = aircraftIt.fileName().toStdString(); QString modelName = aircraftIt.fileName();
modelName = modelName.substr(0, modelName.find(".xml")); modelName = modelName.remove(".xml");
model.setName(QString::fromStdString(modelName)); model.setName(modelName);
model.setModelString(QString::fromStdString(getModelString(aircraftIt.filePath().toStdString(), true))); model.setModelString(getModelString(aircraftIt.filePath(), true));
model.setModelType(CAircraftModel::TypeOwnSimulatorModel); model.setModelType(CAircraftModel::TypeOwnSimulatorModel);
model.setSimulator(CSimulatorInfo::fg()); model.setSimulator(CSimulatorInfo::fg());
model.setFileDetailsAndTimestamp(aircraftIt.fileInfo()); model.setFileDetailsAndTimestamp(aircraftIt.fileInfo());
model.setModelMode(CAircraftModel::Include); model.setModelMode(CAircraftModel::Include);
addUniqueModel(model, installedModels); addUniqueModel(model, installedModels);
} }
return installedModels; return installedModels;
} }
void AircraftModelLoaderFlightgear::addUniqueModel(const CAircraftModel &model, CAircraftModelList &models) void CAircraftModelLoaderFlightgear::addUniqueModel(const CAircraftModel &model, CAircraftModelList &models)
{ {
//TODO Add check //TODO Add check
models.push_back(model); models.push_back(model);
} }
CAircraftModelList AircraftModelLoaderFlightgear::performParsing(const QStringList &rootDirectories, const QStringList &excludeDirectories) CAircraftModelList CAircraftModelLoaderFlightgear::performParsing(const QStringList &rootDirectories, const QStringList &excludeDirectories)
{ {
CAircraftModelList allModels; CAircraftModelList allModels;
for (const QString &rootDirectory : rootDirectories) for (const QString &rootDirectory : rootDirectories)
@@ -124,7 +118,7 @@ namespace BlackMisc
return allModels; return allModels;
} }
void AircraftModelLoaderFlightgear::startLoadingFromDisk(IAircraftModelLoader::LoadMode mode, const IAircraftModelLoader::ModelConsolidationCallback &modelConsolidation, const QStringList &modelDirectories) void CAircraftModelLoaderFlightgear::startLoadingFromDisk(IAircraftModelLoader::LoadMode mode, const IAircraftModelLoader::ModelConsolidationCallback &modelConsolidation, const QStringList &modelDirectories)
{ {
const CSimulatorInfo simulator = CSimulatorInfo::fg(); const CSimulatorInfo simulator = CSimulatorInfo::fg();
const QStringList modelDirs = this->getInitializedModelDirectories(modelDirectories, simulator); const QStringList modelDirs = this->getInitializedModelDirectories(modelDirectories, simulator);
@@ -159,28 +153,25 @@ namespace BlackMisc
} }
std::string AircraftModelLoaderFlightgear::getModelString(std::string fileName, bool ai) QString CAircraftModelLoaderFlightgear::getModelString(const QString &fileName, bool ai)
{ {
std::string modelString = "FG "; QString modelString = "FG ";
QString f;
if (ai) if (ai)
{ {
modelString.append("AI "); modelString.append("AI ");
fileName = fileName.substr(fileName.find("Aircraft") + 9); f = fileName.mid(fileName.indexOf("Aircraft") + 9);
fileName = fileName.substr(0, fileName.find(".xml")); f.remove(".xml");
} }
else else
{ {
fileName = fileName.substr(0, fileName.find("-set.xml")); f = fileName;
f.remove("-set.xml");
} }
modelString.append(fileName); modelString.append(f);
return modelString; return modelString;
} }
} }
} }

View File

@@ -15,44 +15,36 @@ namespace BlackMisc
{ {
namespace Flightgear namespace Flightgear
{ {
/*! //! Flightgear aircraft model loader
* Flightgear aircraft model loader class CAircraftModelLoaderFlightgear : public Simulation::IAircraftModelLoader
*/
class AircraftModelLoaderFlightgear : public Simulation::IAircraftModelLoader
{ {
Q_OBJECT Q_OBJECT
// IAircraftModelLoader interface
public: public:
//! Constructor //! Constructor
AircraftModelLoaderFlightgear(QObject *parent = nullptr); CAircraftModelLoaderFlightgear(QObject *parent = nullptr);
//! Virtual destructor //! Virtual destructor
virtual ~AircraftModelLoaderFlightgear() override; virtual ~CAircraftModelLoaderFlightgear() override;
// Interface functions
//! Parsed or injected models //! Parsed or injected models
void updateInstalledModels(const CAircraftModelList &models); void updateInstalledModels(const CAircraftModelList &models);
bool isLoadingFinished() const override;
//! \copydoc IAircraftModelLoader::isLoadingFinished
virtual bool isLoadingFinished() const override;
protected: protected:
// Interface functions //! \copydoc IAircraftModelLoader::startLoadingFromDisk
void startLoadingFromDisk(LoadMode mode, const ModelConsolidationCallback &modelConsolidation, const QStringList &modelDirectories) override; virtual void startLoadingFromDisk(LoadMode mode, const ModelConsolidationCallback &modelConsolidation, const QStringList &modelDirectories) override;
private: private:
std::string getModelString(std::string filePath, bool ai); QString getModelString(const QString &filePath, bool ai);
Simulation::CAircraftModelList parseFlyableAirplanes(const QString &rootDirectory, const QStringList &excludeDirectories); Simulation::CAircraftModelList parseFlyableAirplanes(const QString &rootDirectory, const QStringList &excludeDirectories);
Simulation::CAircraftModelList parseAIAirplanes(const QString &rootDirectory, const QStringList &excludeDirectories); Simulation::CAircraftModelList parseAIAirplanes(const QString &rootDirectory, const QStringList &excludeDirectories);
void addUniqueModel(const CAircraftModel &model, CAircraftModelList &models); void addUniqueModel(const CAircraftModel &model, CAircraftModelList &models);
QPointer<CWorker> m_parserWorker; QPointer<CWorker> m_parserWorker;
CAircraftModelList performParsing(const QStringList &rootDirectories, const QStringList &excludeDirectories); CAircraftModelList performParsing(const QStringList &rootDirectories, const QStringList &excludeDirectories);
}; };
} }
} }
} }

View File

@@ -118,8 +118,7 @@ namespace BlackMisc
if (BlackConfig::CBuildConfig::isRunningOnUnixPlatform()) if (BlackConfig::CBuildConfig::isRunningOnUnixPlatform())
{ {
// On UNIX we likely run XP // On UNIX we likely run XP
// TODO Add FG? return QStringList { xplanePluginIdentifier(), fgPluginIdentifier() };
return QStringList { xplanePluginIdentifier() };
} }
return QStringList return QStringList

View File

@@ -8,8 +8,8 @@
//! \file //! \file
#ifndef BLACKSIMPLUGIN_FGSWIFTBUS_SERVICE_PROXY_H #ifndef BLACKSIMPLUGIN_FLIGHTGEAR_SERVICE_PROXY_H
#define BLACKSIMPLUGIN_FGSWIFTBUS_SERVICE_PROXY_H #define BLACKSIMPLUGIN_FLIGHTGEAR_SERVICE_PROXY_H
#include "blackmisc/genericdbusinterface.h" #include "blackmisc/genericdbusinterface.h"
@@ -101,7 +101,7 @@ namespace BlackSimPlugin
QString getVersionNumber(); QString getVersionNumber();
//! Get own aircraft situation data //! Get own aircraft situation data
void getOwnAircraftSituationData(BlackSimPlugin::Flightgear::FlightgearData *o_flightgearData); void getOwnAircraftSituationData(FlightgearData *o_flightgearData);
//! Add a text message to the on-screen display //! Add a text message to the on-screen display
void addTextMessage(const QString &text); void addTextMessage(const QString &text);

View File

@@ -8,8 +8,8 @@
//! \file //! \file
#ifndef BLACKSIMPLUGIN_FGSWIFTBUS_TRAFFIC_PROXY_H #ifndef BLACKSIMPLUGIN_FLIGHTGEAR_TRAFFIC_PROXY_H
#define BLACKSIMPLUGIN_FGSWIFTBUS_TRAFFIC_PROXY_H #define BLACKSIMPLUGIN_FLIGHTGEAR_TRAFFIC_PROXY_H
#include "blackmisc/genericdbusinterface.h" #include "blackmisc/genericdbusinterface.h"
#include "blackmisc/aviation/callsign.h" #include "blackmisc/aviation/callsign.h"