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
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();
55 streamOut <<
"start reading, press RETURN" <<
Qt::endl;
59 streamOut <<
"reading directly" <<
Qt::endl;
70 streamOut <<
"write JSON array with size " << jsonArray.
size() <<
Qt::endl;
72 bool res = tempFile.
open();
74 tempFile.
write(jsonArray);
79 res = tempFile.
open();
85 streamOut <<
"read JSON array with size " << jsonArray.
size() <<
Qt::endl;
86 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.
qsizetype size() const const
virtual void close() override
qint64 write(const QByteArray &data)
QJsonDocument fromJson(const QByteArray &json, QJsonParseError *error)
QJsonObject object() const const
QByteArray toJson(QJsonDocument::JsonFormat format) const const
bool contains(QChar ch, Qt::CaseSensitivity cs) const const
QTextStream & endl(QTextStream &stream)
virtual QString fileName() const const override
QString readLine(qint64 maxlen)
#define SWIFT_VERIFY_X(COND, WHERE, WHAT)
A weaker kind of assert.