From d78f38b672c7cebd96220340e32dd8287477a664 Mon Sep 17 00:00:00 2001 From: Klaus Basan Date: Sat, 16 May 2015 15:10:40 +0200 Subject: [PATCH] More tests for DBus (samples DBus) --- samples/blackmiscdbus/servicetool.cpp | 14 ++++- samples/blackmiscdbus/testservice.cpp | 51 +++++++++++++------ samples/blackmiscdbus/testservice.h | 19 ++++--- samples/blackmiscdbus/testservice_interface.h | 15 ++++++ .../simulation/simulatorplugininfo.cpp | 10 +++- .../simulation/simulatorplugininfo.h | 4 ++ 6 files changed, 87 insertions(+), 26 deletions(-) diff --git a/samples/blackmiscdbus/servicetool.cpp b/samples/blackmiscdbus/servicetool.cpp index 83c44f51d..045899641 100644 --- a/samples/blackmiscdbus/servicetool.cpp +++ b/samples/blackmiscdbus/servicetool.cpp @@ -365,11 +365,23 @@ namespace BlackMiscTest ivm = testserviceInterface.pingIndexVariantMap(ivm); qDebug() << "Pinged variant map via interface" << ivm; + CSimulatorPluginInfo pluginInfo("fsx", "FSX Simulator", "FSX", "Flight Simulator X", true); + CSimulatorPluginInfo pluginInfoReceived = testserviceInterface.pingPluginInfo(pluginInfo); + qDebug() << "Pinged info via interface" + << ((pluginInfo == pluginInfoReceived) ? "OK" : "ERROR!") << pluginInfoReceived; + CAtcStation stationReceived = testserviceInterface.pingAtcStation(station); qDebug() << "Pinged ATC station via interface" << ((station == stationReceived) ? "OK" : "ERROR!") << stationReceived; - CUser pingUser("223344", "Ping Me user"); + 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; + + CUser pingUser("223344", "Ping Me User"); CUser userReceived = testserviceInterface.pingUser(pingUser); qDebug() << "Pinged user via interface" << ((userReceived == pingUser) ? "OK" : "ERROR!") << userReceived; diff --git a/samples/blackmiscdbus/testservice.cpp b/samples/blackmiscdbus/testservice.cpp index 7154fc034..d185a75e7 100644 --- a/samples/blackmiscdbus/testservice.cpp +++ b/samples/blackmiscdbus/testservice.cpp @@ -12,10 +12,11 @@ using namespace BlackMisc; using namespace BlackMisc::Aviation; +using namespace BlackMisc::Simulation; +using namespace BlackMisc::Simulation::FsCommon; using namespace BlackMisc::Geo; using namespace BlackMisc::PhysicalQuantities; using namespace BlackMisc::Network; -using namespace BlackMisc::Simulation::FsCommon; namespace BlackMiscTest { @@ -74,7 +75,7 @@ namespace BlackMiscTest /* * Station */ - BlackMisc::Aviation::CAtcStation Testservice::getAtcStation() const + CAtcStation Testservice::getAtcStation() const { CCoordinateGeodetic geoPos = CCoordinateGeodetic::fromWgs84("48° 21′ 13″ N", "11° 47′ 09″ E", CLength(1487, CLengthUnit::ft())); // Munich CAtcStation station(CCallsign("eddm_twr"), CUser("654321", "client"), @@ -86,7 +87,7 @@ namespace BlackMiscTest /* * Receive COM unit */ - void Testservice::receiveComUnit(const BlackMisc::Aviation::CComSystem &comUnit) + void Testservice::receiveComUnit(const CComSystem &comUnit) { qDebug() << "Pid:" << ServiceTool::getPid() << "Received COM:" << comUnit; } @@ -94,7 +95,7 @@ namespace BlackMiscTest /* * Receive altitude */ - void Testservice::receiveAltitude(const BlackMisc::Aviation::CAltitude &altitude) + void Testservice::receiveAltitude(const CAltitude &altitude) { qDebug() << "Pid:" << ServiceTool::getPid() << "Received altitude:" << altitude; } @@ -118,7 +119,7 @@ namespace BlackMiscTest /* * Receive transponder */ - void Testservice::receiveTransponder(const BlackMisc::Aviation::CTransponder &transponder) const + void Testservice::receiveTransponder(const CTransponder &transponder) const { qDebug() << "Pid:" << ServiceTool::getPid() << "Received transponder:" << transponder; } @@ -126,7 +127,7 @@ namespace BlackMiscTest /* * Receive track */ - void Testservice::receiveTrack(const BlackMisc::Aviation::CTrack &track) const + void Testservice::receiveTrack(const CTrack &track) const { qDebug() << "Pid:" << ServiceTool::getPid() << "Received track:" << track; } @@ -170,7 +171,7 @@ namespace BlackMiscTest /* * Receive callsign */ - void Testservice::receiveCallsign(const BlackMisc::Aviation::CCallsign &callsign) const + void Testservice::receiveCallsign(const CCallsign &callsign) const { qDebug() << "Pid:" << ServiceTool::getPid() << "Received callsign:" << callsign; } @@ -178,7 +179,7 @@ namespace BlackMiscTest /* * Receive ATC list */ - void Testservice::receiveAtcStationList(const BlackMisc::Aviation::CAtcStationList &atcStationList) const + void Testservice::receiveAtcStationList(const CAtcStationList &atcStationList) const { qDebug() << "Pid:" << ServiceTool::getPid() << "Received ATC list:" << atcStationList; } @@ -194,7 +195,7 @@ namespace BlackMiscTest /* * Receive callsign */ - void Testservice::receiveAtcStation(const BlackMisc::Aviation::CAtcStation &station) const + void Testservice::receiveAtcStation(const CAtcStation &station) const { qDebug() << "Pid:" << ServiceTool::getPid() << "Received ATC station:" << station; } @@ -231,7 +232,7 @@ namespace BlackMiscTest /* * Ping ATC list */ - BlackMisc::Aviation::CAtcStationList Testservice::pingAtcStationList(const BlackMisc::Aviation::CAtcStationList &atcStationList) const + CAtcStationList Testservice::pingAtcStationList(const CAtcStationList &atcStationList) const { qDebug() << "Pid:" << ServiceTool::getPid() << "ping ATCs:" << atcStationList; return atcStationList; @@ -294,7 +295,7 @@ namespace BlackMiscTest /* * Ping altitude */ - BlackMisc::Aviation::CAltitude Testservice::pingAltitude(const BlackMisc::Aviation::CAltitude &altitude) + CAltitude Testservice::pingAltitude(const CAltitude &altitude) { qDebug() << "Pid:" << ServiceTool::getPid() << "ping alt:" << altitude; return altitude; @@ -312,7 +313,7 @@ namespace BlackMiscTest /* * Ping situation */ - BlackMisc::Aviation::CAircraftSituation Testservice::pingSituation(const BlackMisc::Aviation::CAircraftSituation &situation) + CAircraftSituation Testservice::pingSituation(const CAircraftSituation &situation) { qDebug() << "Pid:" << ServiceTool::getPid() << "ping situation:" << situation; return situation; @@ -321,7 +322,7 @@ namespace BlackMiscTest /* * Ping transponder */ - BlackMisc::Aviation::CTransponder Testservice::pingTransponder(const BlackMisc::Aviation::CTransponder &transponder) + CTransponder Testservice::pingTransponder(const CTransponder &transponder) { qDebug() << "Pid:" << ServiceTool::getPid() << "ping transponder:" << transponder; return transponder; @@ -330,7 +331,7 @@ namespace BlackMiscTest /* * Ping ATC station */ - BlackMisc::Aviation::CAtcStation Testservice::pingAtcStation(const BlackMisc::Aviation::CAtcStation &station) + CAtcStation Testservice::pingAtcStation(const CAtcStation &station) { qDebug() << "Pid:" << ServiceTool::getPid() << "ping ATC:" << station; return station; @@ -339,7 +340,7 @@ namespace BlackMiscTest /* * Ping aircraft */ - BlackMisc::Aviation::CAircraft Testservice::pingAircraft(const BlackMisc::Aviation::CAircraft &aircraft) + CAircraft Testservice::pingAircraft(const CAircraft &aircraft) { qDebug() << "Pid:" << ServiceTool::getPid() << "ping aircraft:" << aircraft; return aircraft; @@ -348,12 +349,30 @@ namespace BlackMiscTest /* * Ping simulated aircraft */ - Simulation::CSimulatedAircraft Testservice::pingSimulatedAircraft(const Simulation::CSimulatedAircraft &aircraft) + CSimulatedAircraft Testservice::pingSimulatedAircraft(const CSimulatedAircraft &aircraft) { qDebug() << "Pid:" << ServiceTool::getPid() << "ping simulated aircraft:" << aircraft; return aircraft; } + /* + * Ping ICAO data + */ + CAircraftIcaoData Testservice::pingIcaoData(const CAircraftIcaoData &icao) + { + qDebug() << "Pid:" << ServiceTool::getPid() << "ping ICAO data:" << icao; + return icao; + } + + /* + * Ping info + */ + CSimulatorPluginInfo Testservice::pingPluginInfo(const CSimulatorPluginInfo &info) + { + qDebug() << "Pid:" << ServiceTool::getPid() << "info:" << info; + return info; + } + /* * Ping variant */ diff --git a/samples/blackmiscdbus/testservice.h b/samples/blackmiscdbus/testservice.h index 79179d815..d616e3e18 100644 --- a/samples/blackmiscdbus/testservice.h +++ b/samples/blackmiscdbus/testservice.h @@ -9,8 +9,8 @@ //! \file -#ifndef BLACKMISCKTEST_TESTSERVICEPQAV_H -#define BLACKMISCKTEST_TESTSERVICEPQAV_H +#ifndef BLACKMISCKTEST_TESTSERVICE_H +#define BLACKMISCKTEST_TESTSERVICE_H // clash with struct interface in objbase.h used to happen #pragma push_macro("interface") @@ -20,6 +20,7 @@ #include "blackmisc/network/network.h" #include "blackmisc/pq/pq.h" #include "blackmisc/simulation/simulatedaircraft.h" +#include "blackmisc/simulation/simulatorplugininfo.h" #include "blackmisc/math/math.h" #include "blackmisc/simulation/fscommon/aircraftcfgentrieslist.h" #include "servicetool.h" @@ -35,9 +36,7 @@ namespace BlackMiscTest { - /*! - * Testservice for PQ / CValueObject DBus tests - */ + //! Testservice for PQ / CValueObject DBus tests class Testservice : public QObject { Q_OBJECT @@ -145,6 +144,12 @@ namespace BlackMiscTest //! Ping NW clients list BlackMisc::Network::CClientList pingClientList(const BlackMisc::Network::CClientList &clientList); + //! Ping plugin info + BlackMisc::Simulation::CSimulatorPluginInfo pingPluginInfo(const BlackMisc::Simulation::CSimulatorPluginInfo &info); + + //! Ping ICAO data object + BlackMisc::Aviation::CAircraftIcaoData pingIcaoData(const BlackMisc::Aviation::CAircraftIcaoData &icao); + //! Ping CVariant BlackMisc::CVariant pingCVariant(const BlackMisc::Network::CClient &client); @@ -154,10 +159,10 @@ namespace BlackMiscTest //! Get station BlackMisc::Aviation::CAtcStation getAtcStation() const; - //! return n ATC stations + //! Return n ATC stations BlackMisc::Aviation::CAtcStationList getAtcStationList(int number) const; - //! return n aircraft cfg entries + //! Return n aircraft cfg entries BlackMisc::Simulation::FsCommon::CAircraftCfgEntriesList getAircraftCfgEntriesList(int number) const; //! Get object paths diff --git a/samples/blackmiscdbus/testservice_interface.h b/samples/blackmiscdbus/testservice_interface.h index 8b6034fe4..a7df196b2 100644 --- a/samples/blackmiscdbus/testservice_interface.h +++ b/samples/blackmiscdbus/testservice_interface.h @@ -20,6 +20,7 @@ #include "blackmisc/aviation/airportlist.h" #include "blackmisc/simulation/fscommon/aircraftcfgentrieslist.h" #include "blackmisc/simulation/simulatedaircraft.h" +#include "blackmisc/simulation/simulatorplugininfo.h" #include "blackmisc/network/clientlist.h" #include "blackmisc/variantlist.h" #include @@ -122,6 +123,13 @@ namespace BlackMiscTest return asyncCallWithArgumentList(QLatin1String("pingAtcStation"), argumentList); } + inline QDBusPendingReply pingIcaoData(BlackMisc::Aviation::CAircraftIcaoData icaoData) + { + QList argumentList; + argumentList << QVariant::fromValue(icaoData); + return asyncCallWithArgumentList(QLatin1String("pingIcaoData"), argumentList); + } + inline QDBusPendingReply pingAircraft(BlackMisc::Aviation::CAircraft aircraft) { QList argumentList; @@ -136,6 +144,13 @@ namespace BlackMiscTest return asyncCallWithArgumentList(QLatin1String("pingSimulatedAircraft"), argumentList); } + inline QDBusPendingReply pingPluginInfo(BlackMisc::Simulation::CSimulatorPluginInfo info) + { + QList argumentList; + argumentList << QVariant::fromValue(info); + return asyncCallWithArgumentList(QLatin1String("pingPluginInfo"), argumentList); + } + inline QDBusPendingReply pingAtcStationList(BlackMisc::Aviation::CAtcStationList atcStationList) { QList argumentList; diff --git a/src/blackmisc/simulation/simulatorplugininfo.cpp b/src/blackmisc/simulation/simulatorplugininfo.cpp index 4a3fc0c38..939d00e2c 100644 --- a/src/blackmisc/simulation/simulatorplugininfo.cpp +++ b/src/blackmisc/simulation/simulatorplugininfo.cpp @@ -16,10 +16,14 @@ namespace BlackMisc { namespace Simulation { + CSimulatorPluginInfo::CSimulatorPluginInfo(const QString &identifier, const QString &name, const QString &simulator, const QString &description, bool valid) : + m_identifier(identifier), m_name(name), m_simulator(simulator), m_description(description), m_valid(valid) + { } void CSimulatorPluginInfo::convertFromJson(const QJsonObject &json) { - if (json.contains("IID")) { // comes from the plugin + if (json.contains("IID")) // comes from the plugin + { if (json["IID"].toString() != QStringLiteral("org.swift-project.blackcore.simulatorinterface")) { return; @@ -38,7 +42,9 @@ namespace BlackMisc CValueObject::convertFromJson(data); m_valid = true; - } else { + } + else + { CValueObject::convertFromJson(json); } } diff --git a/src/blackmisc/simulation/simulatorplugininfo.h b/src/blackmisc/simulation/simulatorplugininfo.h index 606e1cdbd..59cd2047b 100644 --- a/src/blackmisc/simulation/simulatorplugininfo.h +++ b/src/blackmisc/simulation/simulatorplugininfo.h @@ -42,6 +42,10 @@ namespace BlackMisc //! Default constructor CSimulatorPluginInfo() = default; + //! Constructor (used with unit tests) + CSimulatorPluginInfo(const QString &identifier, const QString &name, + const QString &simulator, const QString &description, bool valid); + //! \copydoc BlackMisc::CValueObject::convertFromJson void convertFromJson(const QJsonObject &json);