From 3c9f95356ef5eb7f1af43bc154225036eaa2f6cb Mon Sep 17 00:00:00 2001 From: Klaus Basan Date: Fri, 10 Jul 2015 01:08:13 +0200 Subject: [PATCH] refs #445, samples for vPilot rules * new samples for vPilot rules * also adjusted other samples to latest changes (livery, new readers) --- samples/blackmisc/samplesjson.cpp | 3 +- samples/blackmiscdbus/servicetool.cpp | 1 - samples/blackmiscsim/main.cpp | 10 ++++- samples/blackmiscsim/samplesfscommon.cpp | 3 +- samples/blackmiscsim/samplesfscommon.h | 2 +- samples/blackmiscsim/samplesfsx.cpp | 10 +---- samples/blackmiscsim/samplesfsx.h | 6 +-- samples/blackmiscsim/samplesmodelmapping.cpp | 8 ++-- samples/blackmiscsim/samplesmodelmapping.h | 2 +- samples/blackmiscsim/samplesvpilotrules.cpp | 40 ++++++++++++++++++++ samples/blackmiscsim/samplesvpilotrules.h | 28 ++++++++++++++ samples/cli_client/client.cpp | 8 +--- 12 files changed, 87 insertions(+), 34 deletions(-) create mode 100644 samples/blackmiscsim/samplesvpilotrules.cpp create mode 100644 samples/blackmiscsim/samplesvpilotrules.h diff --git a/samples/blackmisc/samplesjson.cpp b/samples/blackmisc/samplesjson.cpp index 9d93198fd..56bab9ec2 100644 --- a/samples/blackmisc/samplesjson.cpp +++ b/samples/blackmisc/samplesjson.cpp @@ -60,8 +60,7 @@ namespace BlackMiscTest aircraft.setTransponder(CTransponder::getStandardTransponder(7000, CTransponder::ModeC)); aircraft.setIcaoInfo(CAircraftIcaoData( CAircraftIcaoCode("B737", "L2J"), - CAirlineIcaoCode("DLH"), - "CCDDFF" + CAirlineIcaoCode("DLH") )); json = aircraft.toJson(); diff --git a/samples/blackmiscdbus/servicetool.cpp b/samples/blackmiscdbus/servicetool.cpp index 045899641..4aa1617c9 100644 --- a/samples/blackmiscdbus/servicetool.cpp +++ b/samples/blackmiscdbus/servicetool.cpp @@ -376,7 +376,6 @@ namespace BlackMiscTest CAircraftIcaoData icaoData("B737", "DLH"); icaoData.setAircraftCombinedType("L2J"); - icaoData.setAircraftColor("green"); CAircraftIcaoData icaoReceived = testserviceInterface.pingIcaoData(icaoData); qDebug() << "Pinged ICAO data via interface" << ((icaoData == icaoReceived) ? "OK" : "ERROR!") << icaoReceived; diff --git a/samples/blackmiscsim/main.cpp b/samples/blackmiscsim/main.cpp index 00f6e0de9..9ba7ace86 100644 --- a/samples/blackmiscsim/main.cpp +++ b/samples/blackmiscsim/main.cpp @@ -11,6 +11,7 @@ #include "samplesfscommon.h" #include "samplesfsx.h" #include "samplesmodelmapping.h" +#include "samplesvpilotrules.h" #include #include @@ -33,6 +34,7 @@ int main(int argc, char *argv[]) streamOut << "1 .. FS common / Simulation (with cfg files reading)" << endl; streamOut << "2 .. FSX" << endl; streamOut << "3 .. Mappings" << endl; + streamOut << "4 .. vPilot rules" << endl; streamOut << "x .. exit" << endl; QString i = streamIn.readLine().toLower().trimmed(); @@ -50,14 +52,18 @@ int main(int argc, char *argv[]) { BlackSimTest::CSamplesModelMapping::samples(streamOut, streamIn); } + else if (i.startsWith("4")) + { + BlackSimTest::CSamplesVPilotRules::samples(streamOut, streamIn); + } else if (i.startsWith("x")) { - return 0; + streamOut << "terminating" << endl; } streamOut << endl; streamOut << "time elapsed: " << t.elapsed() << "ms" << endl; streamOut << "press key to exit" << endl; streamIn.readLine(); - return 0; + return EXIT_SUCCESS; } diff --git a/samples/blackmiscsim/samplesfscommon.cpp b/samples/blackmiscsim/samplesfscommon.cpp index b603527bd..5d81d0b1d 100644 --- a/samples/blackmiscsim/samplesfscommon.cpp +++ b/samples/blackmiscsim/samplesfscommon.cpp @@ -28,7 +28,7 @@ namespace BlackSimTest /* * Samples */ - int CSamplesFsCommon::samples(QTextStream &streamOut, QTextStream &streamIn) + void CSamplesFsCommon::samples(QTextStream &streamOut, QTextStream &streamIn) { QString fsxDir = CSampleUtils::selectDirectory({"C:/Program Files (x86)/Microsoft Games/Microsoft Flight Simulator X/SimObjects", "C:/Flight Simulator 9/Aircraft"}, streamOut, streamIn); @@ -66,7 +66,6 @@ namespace BlackSimTest streamOut << "read JSON array with size " << jsonArray.size() << endl; streamOut << "read entries from disk: " << entriesList.size() << " in " << time.restart() << "ms" << endl; tempFile.close(); - return 0; } } // namespace diff --git a/samples/blackmiscsim/samplesfscommon.h b/samples/blackmiscsim/samplesfscommon.h index c047e4936..55d381b55 100644 --- a/samples/blackmiscsim/samplesfscommon.h +++ b/samples/blackmiscsim/samplesfscommon.h @@ -21,7 +21,7 @@ namespace BlackSimTest { public: //! Run the samples - static int samples(QTextStream &streamOut, QTextStream &streamIn); + static void samples(QTextStream &streamOut, QTextStream &streamIn); }; } // namespace diff --git a/samples/blackmiscsim/samplesfsx.cpp b/samples/blackmiscsim/samplesfsx.cpp index 0e047302a..aa442dcbf 100644 --- a/samples/blackmiscsim/samplesfsx.cpp +++ b/samples/blackmiscsim/samplesfsx.cpp @@ -20,19 +20,11 @@ namespace BlackSimTest /* * Samples */ - int CSamplesFsx::samplesMisc(QTextStream &streamOut) + void CSamplesFsx::samplesMisc(QTextStream &streamOut) { BlackMisc::registerMetadata(); streamOut << CSimConnectUtilities::simConnectExceptionToString(CSimConnectUtilities::SIMCONNECT_EXCEPTION_ALREADY_SUBSCRIBED) << endl; streamOut << CSimConnectUtilities::simConnectExceptionToString(CSimConnectUtilities::SIMCONNECT_EXCEPTION_ILLEGAL_OPERATION) << endl; streamOut << CSimConnectUtilities::simConnectSurfaceTypeToString(CSimConnectUtilities::Bituminus) << endl; - return 0; } - - int CSamplesFsx::driverTest(QTextStream &streamOut) - { - Q_UNUSED(streamOut); - return 0; - } - } // namespace diff --git a/samples/blackmiscsim/samplesfsx.h b/samples/blackmiscsim/samplesfsx.h index 6e70aae2c..b81872677 100644 --- a/samples/blackmiscsim/samplesfsx.h +++ b/samples/blackmiscsim/samplesfsx.h @@ -21,11 +21,7 @@ namespace BlackSimTest { public: //! Run the misc. samples - static int samplesMisc(QTextStream &streamOut); - - //! Driver test / SimConnect test - static int driverTest(QTextStream &streamOut); - + static void samplesMisc(QTextStream &streamOut); }; } // namespace diff --git a/samples/blackmiscsim/samplesmodelmapping.cpp b/samples/blackmiscsim/samplesmodelmapping.cpp index 54cedb167..9651fe91b 100644 --- a/samples/blackmiscsim/samplesmodelmapping.cpp +++ b/samples/blackmiscsim/samplesmodelmapping.cpp @@ -29,13 +29,13 @@ namespace BlackSimTest /* * Samples */ - int CSamplesModelMapping::samples(QTextStream &streamOut, QTextStream &streamIn) + void CSamplesModelMapping::samples(QTextStream &streamOut, QTextStream &streamIn) { BlackMisc::registerMetadata(); std::unique_ptr cvm(new CModelMappingsProviderVPilot(true)); bool s = cvm->read(); - streamOut << "directory: " << CModelMappingsProviderVPilot::standardMappingsDirectory() << endl; + streamOut << "directory: " << CVPilotRulesReader::standardMappingsDirectory() << endl; streamOut << "loaded: " << BlackMisc::boolToYesNo(s) << " size: " << cvm->getMappingList().size() << endl; // mapper with rule set, handing over ownership @@ -47,7 +47,7 @@ namespace BlackSimTest if (!cfgParser.changeRootDirectory(fsxDir)) { streamOut << "Wrong or empty directoy " << fsxDir << endl; - return 0; + return; } streamOut << "Start reading models" << endl; @@ -66,8 +66,6 @@ namespace BlackSimTest CAircraftIcaoData icao("C172"); streamOut << "Searching for " << icao << endl; streamOut << matcher.getAircraftMappingList().findByIcaoCodeExact(icao) << endl; - - return 0; } } // namespace diff --git a/samples/blackmiscsim/samplesmodelmapping.h b/samples/blackmiscsim/samplesmodelmapping.h index 6d3f8e1fb..2d2534219 100644 --- a/samples/blackmiscsim/samplesmodelmapping.h +++ b/samples/blackmiscsim/samplesmodelmapping.h @@ -21,7 +21,7 @@ namespace BlackSimTest { public: //! Run the samples - static int samples(QTextStream &streamOut, QTextStream &streamIn); + static void samples(QTextStream &streamOut, QTextStream &streamIn); }; } // namespace diff --git a/samples/blackmiscsim/samplesvpilotrules.cpp b/samples/blackmiscsim/samplesvpilotrules.cpp new file mode 100644 index 000000000..c7780258a --- /dev/null +++ b/samples/blackmiscsim/samplesvpilotrules.cpp @@ -0,0 +1,40 @@ +/* Copyright (C) 2015 + * swift project Community / Contributors + * + * This file is part of swift project. It is subject to the license terms in the LICENSE file found in the top-level + * directory of this distribution and at http://www.swift-project.org/license.html. No part of swift project, + * including this file, may be copied, modified, propagated, or distributed except according to the terms + * contained in the LICENSE file. + */ + +#include "samplesvpilotrules.h" +#include "blackmisc/simulation/fscommon/vpilotrulesreader.h" +#include "blackmisc/blackmiscfreefunctions.h" +#include "blackmisc/sampleutils.h" + +#include +#include + +using namespace BlackMisc; +using namespace BlackMisc::Simulation; +using namespace BlackMisc::Simulation::FsCommon; + +namespace BlackSimTest +{ + + /* + * Samples + */ + void CSamplesVPilotRules::samples(QTextStream &streamOut, QTextStream &streamIn) + { + BlackMisc::registerMetadata(); + QScopedPointer vPilotReader(new CVPilotRulesReader()); + bool s = vPilotReader->read(); + streamOut << "Read success: " << BlackMisc::boolToYesNo(s) << endl; + streamOut << "Read " << vPilotReader->countRulesLoaded() << " rules from " << vPilotReader->countFilesLoaded() << " files" << endl; + streamOut << "Distributors: " << vPilotReader->getRules().getSortedDistributors().join(", "); + + Q_UNUSED(streamIn); + } + +} // namespace diff --git a/samples/blackmiscsim/samplesvpilotrules.h b/samples/blackmiscsim/samplesvpilotrules.h new file mode 100644 index 000000000..091fe8f19 --- /dev/null +++ b/samples/blackmiscsim/samplesvpilotrules.h @@ -0,0 +1,28 @@ +/* Copyright (C) 2015 + * swift project Community / Contributors + * + * This file is part of swift project. It is subject to the license terms in the LICENSE file found in the top-level + * directory of this distribution and at http://www.swift-project.org/license.html. No part of swift project, + * including this file, may be copied, modified, propagated, or distributed except according to the terms + * contained in the LICENSE file. + */ + +//! \file + +#ifndef BLACKSIMTEST_SAMPLESVPILOTRULES_H +#define BLACKSIMTEST_SAMPLESVPILOTRULES_H + +#include + +namespace BlackSimTest +{ + //! Samples for vPilot rules + class CSamplesVPilotRules + { + public: + //! Run the samples + static void samples(QTextStream &streamOut, QTextStream &streamIn); + }; +} // namespace + +#endif diff --git a/samples/cli_client/client.cpp b/samples/cli_client/client.cpp index d722e6ea3..2aaeeb9c9 100644 --- a/samples/cli_client/client.cpp +++ b/samples/cli_client/client.cpp @@ -164,14 +164,10 @@ void Client::presetIcaoCodesCmd(QTextStream &args) QString acTypeICAO; QString combinedIcaoType; // e.g. "L2J" QString airlineICAO; - QString livery; - QString color; - args >> acTypeICAO >> combinedIcaoType >> airlineICAO >> livery >> color; + args >> acTypeICAO >> combinedIcaoType >> airlineICAO; BlackMisc::Aviation::CAircraftIcaoData icaoData( CAircraftIcaoCode(acTypeICAO, combinedIcaoType), - CAirlineIcaoCode(airlineICAO), - color); - icaoData.setLivery(livery); + CAirlineIcaoCode(airlineICAO)); emit presetIcaoCodes(icaoData); }