diff --git a/samples/blacksim/sample_blacksim.pro b/samples/blacksim/sample_blacksim.pro index 470fe8754..b3928bf4d 100644 --- a/samples/blacksim/sample_blacksim.pro +++ b/samples/blacksim/sample_blacksim.pro @@ -1,7 +1,7 @@ include (../../config.pri) include (../../build.pri) -QT += core dbus network +QT += core dbus network testlib TARGET = sample_blacksim TEMPLATE = app diff --git a/samples/blacksim/samplesfscommon.cpp b/samples/blacksim/samplesfscommon.cpp index b9e605440..c51b9b9a1 100644 --- a/samples/blacksim/samplesfscommon.cpp +++ b/samples/blacksim/samplesfscommon.cpp @@ -5,7 +5,10 @@ #include "samplesfscommon.h" #include "blacksim/fscommon/aircraftcfgentrieslist.h" +#include "blacksim/fscommon/aircraftindexer.h" #include +#include +#include #include namespace BlackSimTest @@ -24,16 +27,33 @@ namespace BlackSimTest streamOut.flush(); QString input = streamIn.readLine(); if (!input.isEmpty()) fsxDir = input; - - BlackSim::FsCommon::CAircraftCfgEntriesList entriesList(fsxDir); - if (entriesList.existsDir()) + streamOut << "d .. direct, b .. background" << endl; + input = streamIn.readLine(); + if (!input.startsWith("b")) { - streamOut << "reading " << entriesList.getRootDirectory() << endl; - entriesList.read(); - streamOut << "read entries: " << entriesList.size() << endl; - // streamOut << entriesList << endl; + qDebug() << "reading directly"; + BlackSim::FsCommon::CAircraftCfgEntriesList entriesList(fsxDir); + if (entriesList.existsDir()) + { + streamOut << "reading " << entriesList.getRootDirectory() << endl; + entriesList.read(); + streamOut << "read entries: " << entriesList.size() << endl; + // streamOut << entriesList << endl; + } + } + else + { + qDebug() << "reading in background"; + QFuture f = BlackSim::FsCommon::CAircraftIndexer::readInBackground(fsxDir); + do + { + streamOut << "."; + streamOut.flush(); + QTest::qSleep(1000 * 3); + } + while (!f.isFinished()); + streamOut << endl << f.result() << " entries" << endl; } - streamOut << "-----------------------------------------------" << endl; return 0; }