refs #585, adjusted samples to use settings

This commit is contained in:
Klaus Basan
2016-06-11 20:37:23 +02:00
parent bc344c73fc
commit e87df66590
2 changed files with 31 additions and 12 deletions

View File

@@ -14,6 +14,7 @@
#include "blackmisc/sampleutils.h" #include "blackmisc/sampleutils.h"
#include "blackmisc/simulation/fscommon/aircraftcfgentrieslist.h" #include "blackmisc/simulation/fscommon/aircraftcfgentrieslist.h"
#include "blackmisc/simulation/fscommon/aircraftcfgparser.h" #include "blackmisc/simulation/fscommon/aircraftcfgparser.h"
#include "blackmisc/simulation/settings/settingssimulator.h"
#include "blackmisc/simulation/simulatorinfo.h" #include "blackmisc/simulation/simulatorinfo.h"
#include <QByteArray> #include <QByteArray>
@@ -27,17 +28,26 @@
using namespace BlackMisc; using namespace BlackMisc;
using namespace BlackMisc::Simulation; using namespace BlackMisc::Simulation;
using namespace BlackMisc::Simulation::FsCommon; using namespace BlackMisc::Simulation::FsCommon;
using namespace BlackMisc::Simulation::Settings;
namespace BlackSample namespace BlackSample
{ {
void CSamplesFsCommon::samples(QTextStream &streamOut, QTextStream &streamIn) void CSamplesFsCommon::samples(QTextStream &streamOut, QTextStream &streamIn)
{ {
const QString fsxDir = CSampleUtils::selectDirectory({"C:/Program Files (x86)/Microsoft Games/Microsoft Flight Simulator X/SimObjects", const QString fsDir = CSampleUtils::selectDirectory(
"C:/Flight Simulator 9/Aircraft"}, streamOut, streamIn); {
"C:/Program Files (x86)/Microsoft Games/Microsoft Flight Simulator X/SimObjects",
"C:/Flight Simulator 9/Aircraft"
}, streamOut, streamIn);
CAircraftCfgParser parser(CSimulatorInfo(CSimulatorInfo::FSX), fsxDir); const CSimulatorInfo sim = fsDir.toLower().contains("simobjects") ? CSimulatorInfo::FSX : CSimulatorInfo::FS9;
parser.changeRootDirectory(fsxDir); CMultiSimulatorSimulatorSettings multiSettings;
const CSettingsSimulator originalSettings = multiSettings.getSettings(sim);
CSettingsSimulator newSettings(originalSettings);
newSettings.setModelDirectory(fsDir);
multiSettings.setSettings(newSettings, sim); // set, but do NOT(!) save
CAircraftCfgParser parser(sim);
streamOut << "start reading, press RETURN" << endl; streamOut << "start reading, press RETURN" << endl;
QString input = streamIn.readLine(); QString input = streamIn.readLine();
Q_UNUSED(input); Q_UNUSED(input);
@@ -45,7 +55,7 @@ namespace BlackSample
streamOut << "reading directly" << endl; streamOut << "reading directly" << endl;
QTime time; QTime time;
time.start(); time.start();
streamOut << "reading " << parser.getRootDirectory() << endl; streamOut << "reading " << parser.getModelDirectory() << endl;
parser.startLoading(); parser.startLoading();
streamOut << "read entries: " << parser.getAircraftCfgEntriesList().size() << " in " << time.restart() << "ms" << endl; streamOut << "read entries: " << parser.getAircraftCfgEntriesList().size() << " in " << time.restart() << "ms" << endl;
@@ -68,5 +78,8 @@ namespace BlackSample
streamOut << "read JSON array with size " << jsonArray.size() << endl; streamOut << "read JSON array with size " << jsonArray.size() << endl;
streamOut << "read entries from disk: " << entriesList.size() << " in " << time.restart() << "ms" << endl; streamOut << "read entries from disk: " << entriesList.size() << " in " << time.restart() << "ms" << endl;
tempFile.close(); tempFile.close();
// restore settings: DO NOT SAVE !!!
multiSettings.setSettings(originalSettings, sim);
} }
} // namespace } // namespace

View File

@@ -15,6 +15,7 @@
#include "blackmisc/aviation/aircrafticaocode.h" #include "blackmisc/aviation/aircrafticaocode.h"
#include "blackmisc/aviation/airlineicaocode.h" #include "blackmisc/aviation/airlineicaocode.h"
#include "blackmisc/sampleutils.h" #include "blackmisc/sampleutils.h"
#include "blackmisc/simulation/settings/settingssimulator.h"
#include "blackmisc/simulation/aircraftmodellist.h" #include "blackmisc/simulation/aircraftmodellist.h"
#include "blackmisc/simulation/aircraftmodelloader.h" #include "blackmisc/simulation/aircraftmodelloader.h"
#include "blackmisc/simulation/fscommon/aircraftcfgentrieslist.h" #include "blackmisc/simulation/fscommon/aircraftcfgentrieslist.h"
@@ -32,6 +33,7 @@ using namespace BlackCore;
using namespace BlackMisc; using namespace BlackMisc;
using namespace BlackMisc::Simulation; using namespace BlackMisc::Simulation;
using namespace BlackMisc::Simulation::FsCommon; using namespace BlackMisc::Simulation::FsCommon;
using namespace BlackMisc::Simulation::Settings;
using namespace BlackMisc::Aviation; using namespace BlackMisc::Aviation;
namespace BlackSample namespace BlackSample
@@ -44,20 +46,21 @@ namespace BlackSample
streamOut << "loaded: " << BlackMisc::boolToYesNo(s) << " size: " << vpRulesReader.getAsModelsFromCache().size() << endl; streamOut << "loaded: " << BlackMisc::boolToYesNo(s) << " size: " << vpRulesReader.getAsModelsFromCache().size() << endl;
// mapper with rule set, handing over ownership // mapper with rule set, handing over ownership
QString fsxDir = CSampleUtils::selectDirectory( QString fsDir = CSampleUtils::selectDirectory(
{ {
QStringLiteral("P:/FlightSimulatorX (MSI)/SimObjects"), QStringLiteral("P:/FlightSimulatorX (MSI)/SimObjects"),
QStringLiteral("P:/Temp/SimObjects"), QStringLiteral("P:/Temp/SimObjects"),
QStringLiteral("C:/Flight Simulator 9/Aircraft") QStringLiteral("C:/Flight Simulator 9/Aircraft")
}, streamOut, streamIn); }, streamOut, streamIn);
CAircraftCfgParser cfgParser(CSimulatorInfo(CSimulatorInfo::FSX), fsxDir); const CSimulatorInfo sim = fsDir.toLower().contains("simobjects") ? CSimulatorInfo::FSX : CSimulatorInfo::FS9;
if (!cfgParser.changeRootDirectory(fsxDir)) CMultiSimulatorSimulatorSettings multiSettings;
{ const CSettingsSimulator originalSettings = multiSettings.getSettings(sim);
streamOut << "Wrong or empty directoy " << fsxDir << endl; CSettingsSimulator newSettings(originalSettings);
return; newSettings.setModelDirectory(fsDir);
} multiSettings.setSettings(newSettings, sim); // set, but do NOT(!) save
CAircraftCfgParser cfgParser(sim);
streamOut << "Start reading models" << endl; streamOut << "Start reading models" << endl;
cfgParser.startLoading(CAircraftCfgParser::CacheSkipped | CAircraftCfgParser::LoadDirectly); cfgParser.startLoading(CAircraftCfgParser::CacheSkipped | CAircraftCfgParser::LoadDirectly);
streamOut << "Read models: " << cfgParser.getAircraftCfgEntriesList().size() << endl; streamOut << "Read models: " << cfgParser.getAircraftCfgEntriesList().size() << endl;
@@ -70,5 +73,8 @@ namespace BlackSample
CAircraftIcaoCode icao("C172"); CAircraftIcaoCode icao("C172");
streamOut << "Searching for " << icao << endl; streamOut << "Searching for " << icao << endl;
streamOut << matcher.getModelSet().findByIcaoDesignators(icao, CAirlineIcaoCode()) << endl; streamOut << matcher.getModelSet().findByIcaoDesignators(icao, CAirlineIcaoCode()) << endl;
// restore settings: DO NOT SAVE !!!
multiSettings.setSettings(originalSettings, sim);
} }
} // namespace } // namespace