mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-05 17:35:34 +08:00
refs #487 Finish IAircraftModelLoader::createModelLoader factory method
This commit is contained in:
committed by
Mathew Sutcliffe
parent
35cb4e2067
commit
94901b7846
@@ -8,6 +8,7 @@
|
||||
*/
|
||||
|
||||
#include "aircraftcfgparser.h"
|
||||
#include "blackmisc/blackmiscfreefunctions.h"
|
||||
#include "blackmisc/simulation/fscommon/fscommonutil.h"
|
||||
#include "blackmisc/predicates.h"
|
||||
#include "blackmisc/logmessage.h"
|
||||
@@ -31,33 +32,31 @@ namespace BlackMisc
|
||||
m_excludedDirectories(exludes)
|
||||
{ }
|
||||
|
||||
CAircraftCfgParser *CAircraftCfgParser::createModelLoader(const CSimulatorInfo &simInfo)
|
||||
std::unique_ptr<CAircraftCfgParser> CAircraftCfgParser::createModelLoader(const CSimulatorInfo &simInfo)
|
||||
{
|
||||
if (simInfo.fsx())
|
||||
{
|
||||
return new CAircraftCfgParser(
|
||||
return make_unique<CAircraftCfgParser>(
|
||||
CSimulatorInfo(CSimulatorInfo::FSX),
|
||||
CFsCommonUtil::fsxSimObjectsDir(),
|
||||
CFsCommonUtil::fsxSimObjectsExcludeDirectories());
|
||||
|
||||
}
|
||||
else if (simInfo.fs9())
|
||||
{
|
||||
return new CAircraftCfgParser(
|
||||
return make_unique<CAircraftCfgParser>(
|
||||
CSimulatorInfo(CSimulatorInfo::FS9),
|
||||
CFsCommonUtil::fs9AircraftDir(),
|
||||
CFsCommonUtil::fs9AircraftObjectsExcludeDirectories());
|
||||
|
||||
}
|
||||
else if (simInfo.p3d())
|
||||
{
|
||||
return new CAircraftCfgParser(
|
||||
return make_unique<CAircraftCfgParser>(
|
||||
CSimulatorInfo(CSimulatorInfo::P3D),
|
||||
CFsCommonUtil::p3dSimObjectsDir(),
|
||||
CFsCommonUtil::p3dSimObjectsExcludeDirectories());
|
||||
}
|
||||
Q_ASSERT_X(false, Q_FUNC_INFO, "Illegal simulator info");
|
||||
return nullptr;
|
||||
return {};
|
||||
}
|
||||
|
||||
CAircraftCfgParser::~CAircraftCfgParser()
|
||||
|
||||
@@ -63,7 +63,7 @@ namespace BlackMisc
|
||||
virtual BlackMisc::Simulation::CAircraftModelList getAircraftModels() const override;
|
||||
|
||||
//! Create an parser object for given simulator
|
||||
static CAircraftCfgParser *createModelLoader(const BlackMisc::Simulation::CSimulatorInfo &simInfo);
|
||||
static std::unique_ptr<CAircraftCfgParser> createModelLoader(const BlackMisc::Simulation::CSimulatorInfo &simInfo);
|
||||
|
||||
public slots:
|
||||
//! Parsed or injected entires
|
||||
|
||||
Reference in New Issue
Block a user