11#include <QElapsedTimer>
12#include <QJsonDocument>
14#include <QTemporaryFile>
26using namespace swift::misc::simulation;
27using namespace swift::misc::simulation::fscommon;
28using namespace swift::misc::simulation::settings;
30namespace 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();
54 streamOut <<
"start reading, press RETURN" <<
Qt::endl;
58 streamOut <<
"reading directly" <<
Qt::endl;
69 streamOut <<
"write JSON array with size " << jsonArray.
size() <<
Qt::endl;
71 bool res = tempFile.
open();
73 tempFile.
write(jsonArray);
78 res = tempFile.
open();
84 streamOut <<
"read JSON array with size " << jsonArray.
size() <<
Qt::endl;
85 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.
static void samples(QTextStream &streamOut, QTextStream &streamIn)
Run the samples.
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
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.