11 #include <QElapsedTimer>
12 #include <QJsonDocument>
14 #include <QTemporaryFile>
15 #include <QTextStream>
26 using namespace swift::misc::simulation;
27 using namespace swift::misc::simulation::fscommon;
28 using namespace swift::misc::simulation::settings;
30 namespace swift::sample
32 void CSamplesFsCommon::samples(QTextStream &streamOut, QTextStream &streamIn)
35 {
"C:/Program Files (x86)/Microsoft Games/Microsoft Flight Simulator X/SimObjects",
36 "C:/Flight Simulator 9/Aircraft" },
39 const QDir dir(fsDir);
42 streamOut <<
"Directory does not exist:" << dir.absolutePath();
47 fsDir.contains(
"simobjects", Qt::CaseInsensitive) ? CSimulatorInfo::FSX : CSimulatorInfo::FS9;
55 streamOut <<
"start reading, press RETURN" << Qt::endl;
56 QString input = streamIn.readLine();
59 streamOut <<
"reading directly" << Qt::endl;
68 QJsonDocument doc(entriesList.
toJson());
69 QByteArray jsonArray(doc.toJson());
70 streamOut <<
"write JSON array with size " << jsonArray.size() << Qt::endl;
71 QTemporaryFile tempFile;
73 tempFile.write(jsonArray);
75 streamOut <<
"written to " << tempFile.fileName() <<
" in " << time.restart() <<
"ms" << Qt::endl;
79 jsonArray = tempFile.readAll();
80 doc = QJsonDocument::fromJson(jsonArray);
83 streamOut <<
"read JSON array with size " << jsonArray.size() << Qt::endl;
84 streamOut <<
"read entries from disk: " << entriesList.
size() <<
" in " << time.restart() <<
"ms" << Qt::endl;
QJsonObject toJson() const
Cast to JSON object.
void convertFromJson(const QJsonObject &json)
Assign from JSON object.
static QString selectDirectory(const QStringList &directoryOptions, QTextStream &streamOut, QTextStream &streamIn)
Select directory among given ones.
size_type size() const
Returns number of elements in the sequence.
void clear()
Removes all elements in the sequence.
Simple hardcoded info about the corresponding simulator.
void startLoading(LoadMode mode=InBackgroundWithCache, const ModelConsolidationCallback &modelConsolidation={}, const QStringList &modelDirectories={})
Start the loading process from disk. Optional DB models can be passed and used for data consolidation...
QString getFirstModelDirectoryOrDefault() const
First directory, can be used when only 1 directory is expected.
Utility, providing FS aircraft.cfg entries.
Utility, parsing the aircraft.cfg files.
const CAircraftCfgEntriesList & getAircraftCfgEntriesList() const
Get parsed aircraft cfg entries list.
Bundle of settings for all simulators.
CStatusMessage setSettings(const CSimulatorSettings &settings, const CSimulatorInfo &simulator)
Set settings per simulator.
CSimulatorSettings getSettings(const CSimulatorInfo &simulator) const
Settings per simulator.
Settings for simulator Driver independent parts (such as directories), also used in model loaders.
void setModelDirectory(const QString &modelDirectory)
Set single model directory.
Free functions in swift::misc.