diff --git a/samples/blackmisc/main.cpp b/samples/blackmisc/main.cpp index c8d487f55..498a74216 100644 --- a/samples/blackmisc/main.cpp +++ b/samples/blackmisc/main.cpp @@ -19,7 +19,7 @@ #include "blackmisc/pq/pq.h" using namespace BlackMisc; -using namespace BlackMiscTest; +using namespace BlackSample; //! Sample tests int main(int argc, char *argv[]) diff --git a/samples/blackmisc/samplesalgorithm.cpp b/samples/blackmisc/samplesalgorithm.cpp index c52518c52..2467c40ae 100644 --- a/samples/blackmisc/samplesalgorithm.cpp +++ b/samples/blackmisc/samplesalgorithm.cpp @@ -15,7 +15,7 @@ #include #include -namespace BlackMiscTest +namespace BlackSample { /* diff --git a/samples/blackmisc/samplesalgorithm.h b/samples/blackmisc/samplesalgorithm.h index 7b5dc58c3..3e2121c32 100644 --- a/samples/blackmisc/samplesalgorithm.h +++ b/samples/blackmisc/samplesalgorithm.h @@ -9,10 +9,10 @@ //! \file -#ifndef BLACKMISCTEST_SAMPLESALGORITHM_H -#define BLACKMISCTEST_SAMPLESALGORITHM_H +#ifndef BLACKSAMPLE_SAMPLESALGORITHM_H +#define BLACKSAMPLE_SAMPLESALGORITHM_H -namespace BlackMiscTest +namespace BlackSample { //! Samples for our algorithms class CSamplesAlgorithm diff --git a/samples/blackmisc/sampleschangeobject.cpp b/samples/blackmisc/sampleschangeobject.cpp index f90755e27..ee851c7b0 100644 --- a/samples/blackmisc/sampleschangeobject.cpp +++ b/samples/blackmisc/sampleschangeobject.cpp @@ -25,7 +25,7 @@ using namespace BlackMisc::PhysicalQuantities; using namespace BlackMisc::Geo; using namespace BlackMisc::Network; -namespace BlackMiscTest +namespace BlackSample { /* diff --git a/samples/blackmisc/sampleschangeobject.h b/samples/blackmisc/sampleschangeobject.h index 30bb700e2..704835eb1 100644 --- a/samples/blackmisc/sampleschangeobject.h +++ b/samples/blackmisc/sampleschangeobject.h @@ -9,10 +9,10 @@ //! \file -#ifndef BLACKMISCTEST_SAMPLESCHANGEDATA_H -#define BLACKMISCTEST_SAMPLESCHANGEDATA_H +#ifndef BLACKSAMPLE_SAMPLESCHANGEDATA_H +#define BLACKSAMPLE_SAMPLESCHANGEDATA_H -namespace BlackMiscTest +namespace BlackSample { //! Samples for metadata class CSamplesChangeObject diff --git a/samples/blackmisc/samplescontainer.cpp b/samples/blackmisc/samplescontainer.cpp index bed4f25c7..1bf0e3f58 100644 --- a/samples/blackmisc/samplescontainer.cpp +++ b/samples/blackmisc/samplescontainer.cpp @@ -20,7 +20,7 @@ using namespace BlackMisc::PhysicalQuantities; using namespace BlackMisc::Geo; using namespace BlackMisc::Network; -namespace BlackMiscTest +namespace BlackSample { /* diff --git a/samples/blackmisc/samplescontainer.h b/samples/blackmisc/samplescontainer.h index 0ec4f0639..0eb2c1f1b 100644 --- a/samples/blackmisc/samplescontainer.h +++ b/samples/blackmisc/samplescontainer.h @@ -9,10 +9,10 @@ //! \file -#ifndef BLACKMISCTEST_SAMPLESCONTAINER_H -#define BLACKMISCTEST_SAMPLESCONTAINER_H +#ifndef BLACKSAMPLE_SAMPLESCONTAINER_H +#define BLACKSAMPLE_SAMPLESCONTAINER_H -namespace BlackMiscTest +namespace BlackSample { //! Samples for our containers class CSamplesContainer diff --git a/samples/blackmisc/samplesjson.cpp b/samples/blackmisc/samplesjson.cpp index 85f471afa..f6d4c37d7 100644 --- a/samples/blackmisc/samplesjson.cpp +++ b/samples/blackmisc/samplesjson.cpp @@ -20,7 +20,7 @@ using namespace BlackMisc::PhysicalQuantities; using namespace BlackMisc::Geo; using namespace BlackMisc::Network; -namespace BlackMiscTest +namespace BlackSample { /* diff --git a/samples/blackmisc/samplesjson.h b/samples/blackmisc/samplesjson.h index 4a25ddc94..eb71b9f1e 100644 --- a/samples/blackmisc/samplesjson.h +++ b/samples/blackmisc/samplesjson.h @@ -9,10 +9,10 @@ //! \file -#ifndef BLACKMISCTEST_SAMPLESJSON_H -#define BLACKMISCTEST_SAMPLESJSON_H +#ifndef BLACKSAMPLE_SAMPLESJSON_H +#define BLACKSAMPLE_SAMPLESJSON_H -namespace BlackMiscTest +namespace BlackSample { //! Samples for metadata diff --git a/samples/blackmisc/samplesmetadata.cpp b/samples/blackmisc/samplesmetadata.cpp index 7252f569e..04d026671 100644 --- a/samples/blackmisc/samplesmetadata.cpp +++ b/samples/blackmisc/samplesmetadata.cpp @@ -19,7 +19,7 @@ using namespace BlackMisc::PhysicalQuantities; using namespace BlackMisc::Geo; using namespace BlackMisc::Network; -namespace BlackMiscTest +namespace BlackSample { int CSamplesMetadata::samples() { diff --git a/samples/blackmisc/samplesmetadata.h b/samples/blackmisc/samplesmetadata.h index 355bd977f..7f92d3004 100644 --- a/samples/blackmisc/samplesmetadata.h +++ b/samples/blackmisc/samplesmetadata.h @@ -9,10 +9,10 @@ //! \file -#ifndef BLACKMISCTEST_SAMPLESMETADATA_H -#define BLACKMISCTEST_SAMPLESMETADATA_H +#ifndef BLACKSAMPLE_SAMPLESMETADATA_H +#define BLACKSAMPLE_SAMPLESMETADATA_H -namespace BlackMiscTest +namespace BlackSample { //! Samples for metadata diff --git a/samples/blackmisc/samplesperformance.cpp b/samples/blackmisc/samplesperformance.cpp index 07cb99439..7684997a0 100644 --- a/samples/blackmisc/samplesperformance.cpp +++ b/samples/blackmisc/samplesperformance.cpp @@ -19,7 +19,7 @@ using namespace BlackMisc::PhysicalQuantities; #include -namespace BlackMiscTest +namespace BlackSample { /* diff --git a/samples/blackmisc/samplesperformance.h b/samples/blackmisc/samplesperformance.h index c80d99a88..22f1094bc 100644 --- a/samples/blackmisc/samplesperformance.h +++ b/samples/blackmisc/samplesperformance.h @@ -9,13 +9,13 @@ //! \file -#ifndef BLACKMISCTEST_SAMPLESPERFORMANCEINDEX_H -#define BLACKMISCTEST_SAMPLESPERFORMANCEINDEX_H +#ifndef BLACKSAMPLE_SAMPLESPERFORMANCE_H +#define BLACKSAMPLE_SAMPLESPERFORMANCE_H #include "blackmisc/aviation/aircraftsituationlist.h" #include -namespace BlackMiscTest +namespace BlackSample { //! Samples for our containers class CSamplesPerformance diff --git a/samples/blackmiscdbus/main.cpp b/samples/blackmiscdbus/main.cpp index ff81bda44..03913a1e0 100644 --- a/samples/blackmiscdbus/main.cpp +++ b/samples/blackmiscdbus/main.cpp @@ -140,12 +140,12 @@ int main(int argc, char *argv[]) args << ip; args << port; } - BlackMiscTest::ServiceTool::startNewProcess(executable, args, &a); + BlackSample::ServiceTool::startNewProcess(executable, args, &a); // run tests if (mode == "testservice") { - BlackMiscTest::ServiceTool::dataTransferTestServer(dBusServer); + BlackSample::ServiceTool::dataTransferTestServer(dBusServer); } // loop @@ -159,7 +159,7 @@ int main(int argc, char *argv[]) // run tests if (cmdlineArgs.contains("testservice", Qt::CaseInsensitive)) { - BlackMiscTest::ServiceTool::dataTransferTestClient(address); + BlackSample::ServiceTool::dataTransferTestClient(address); } // loop diff --git a/samples/blackmiscdbus/servicetool.cpp b/samples/blackmiscdbus/servicetool.cpp index ef8859b39..27ceae36c 100644 --- a/samples/blackmiscdbus/servicetool.cpp +++ b/samples/blackmiscdbus/servicetool.cpp @@ -24,9 +24,8 @@ using namespace BlackMisc::Math; using namespace BlackMisc::Geo; using namespace BlackMisc::Network; using namespace BlackMisc::Simulation::FsCommon; -using namespace BlackMiscTest; -namespace BlackMiscTest +namespace BlackSample { QProcess *ServiceTool::startNewProcess(const QString &executable, const QStringList &arguments, QObject *parent) { diff --git a/samples/blackmiscdbus/servicetool.h b/samples/blackmiscdbus/servicetool.h index 4bce49cd0..c292aa06c 100644 --- a/samples/blackmiscdbus/servicetool.h +++ b/samples/blackmiscdbus/servicetool.h @@ -9,8 +9,8 @@ //! \file -#ifndef BLACKMISCTEST_SERVICETOOL_H -#define BLACKMISCTEST_SERVICETOOL_H +#ifndef BLACKSAMPLE_SERVICETOOL_H +#define BLACKSAMPLE_SERVICETOOL_H #include "blackmisc/dbusserver.h" #include "blackmisc/aviation/atcstationlist.h" @@ -21,7 +21,7 @@ #include #include -namespace BlackMiscTest +namespace BlackSample { class Testservice; // forward declaration diff --git a/samples/blackmiscdbus/testservice.cpp b/samples/blackmiscdbus/testservice.cpp index a1cca6b29..de18e0e79 100644 --- a/samples/blackmiscdbus/testservice.cpp +++ b/samples/blackmiscdbus/testservice.cpp @@ -18,7 +18,7 @@ using namespace BlackMisc::Geo; using namespace BlackMisc::PhysicalQuantities; using namespace BlackMisc::Network; -namespace BlackMiscTest +namespace BlackSample { const QString Testservice::InterfaceName = QString(BLACKSAMPLE_TESTSERVICE_INTERFACENAME); diff --git a/samples/blackmiscdbus/testservice.h b/samples/blackmiscdbus/testservice.h index 13f525db3..80f45a82a 100644 --- a/samples/blackmiscdbus/testservice.h +++ b/samples/blackmiscdbus/testservice.h @@ -9,8 +9,8 @@ //! \file -#ifndef BLACKMISCKTEST_TESTSERVICE_H -#define BLACKMISCKTEST_TESTSERVICE_H +#ifndef BLACKSAMPLE_TESTSERVICE_H +#define BLACKSAMPLE_TESTSERVICE_H // clash with struct interface in objbase.h used to happen #pragma push_macro("interface") @@ -33,7 +33,7 @@ #define BLACKSAMPLE_TESTSERVICE_INTERFACENAME "blackmisctest.testservice" #define BLACKSAMPLE_TESTSERVICE_OBJECTPATH "/ts" -namespace BlackMiscTest +namespace BlackSample { //! Testservice for PQ / CValueObject DBus tests diff --git a/samples/blackmiscdbus/testserviceinterface.cpp b/samples/blackmiscdbus/testserviceinterface.cpp index 8071adafb..19297f02e 100644 --- a/samples/blackmiscdbus/testserviceinterface.cpp +++ b/samples/blackmiscdbus/testserviceinterface.cpp @@ -9,7 +9,7 @@ #include "testserviceinterface.h" -namespace BlackMiscTest +namespace BlackSample { TestServiceInterface::TestServiceInterface(const QString &service, const QString &path, const QDBusConnection &connection, QObject *parent) : QDBusAbstractInterface(service, path, staticInterfaceName(), connection, parent) diff --git a/samples/blackmiscdbus/testserviceinterface.h b/samples/blackmiscdbus/testserviceinterface.h index 269afaf7d..5a934c148 100644 --- a/samples/blackmiscdbus/testserviceinterface.h +++ b/samples/blackmiscdbus/testserviceinterface.h @@ -9,8 +9,8 @@ //! \file -#ifndef BLACKMISCTEST_TESTSERVICE_INTERFACE_H -#define BLACKMISCTEST_TESTSERVICE_INTERFACE_H +#ifndef BLACKSAMPLE_TESTSERVICE_INTERFACE_H +#define BLACKSAMPLE_TESTSERVICE_INTERFACE_H #include "blackmisc/blackmiscfreefunctions.h" #include "blackmisc/aviation/atcstationlist.h" @@ -31,7 +31,7 @@ #include #include -namespace BlackMiscTest +namespace BlackSample { //! Proxy class for interface blackmisctest.testservice diff --git a/samples/blackmiscquantities/main.cpp b/samples/blackmiscquantities/main.cpp index f9d7a51f7..da850fd4a 100644 --- a/samples/blackmiscquantities/main.cpp +++ b/samples/blackmiscquantities/main.cpp @@ -14,7 +14,7 @@ #include using namespace BlackMisc; -using namespace BlackMiscTest; +using namespace BlackSample; //! Samples int main(int argc, char *argv[]) diff --git a/samples/blackmiscquantities/samplesaviation.cpp b/samples/blackmiscquantities/samplesaviation.cpp index 22c38d8ea..968daec48 100644 --- a/samples/blackmiscquantities/samplesaviation.cpp +++ b/samples/blackmiscquantities/samplesaviation.cpp @@ -26,7 +26,7 @@ using namespace BlackMisc::PhysicalQuantities; using namespace BlackMisc::Geo; using namespace BlackMisc::Network; -namespace BlackMiscTest +namespace BlackSample { int CSamplesAviation::samples(QTextStream &out) { diff --git a/samples/blackmiscquantities/samplesaviation.h b/samples/blackmiscquantities/samplesaviation.h index b268a5f69..ba7683d96 100644 --- a/samples/blackmiscquantities/samplesaviation.h +++ b/samples/blackmiscquantities/samplesaviation.h @@ -9,12 +9,12 @@ //! \file -#ifndef BLACKMISCTEST_SAMPLESAVIATION_H -#define BLACKMISCTEST_SAMPLESAVIATION_H +#ifndef BLACKSAMPLE_SAMPLESAVIATION_H +#define BLACKSAMPLE_SAMPLESAVIATION_H #include -namespace BlackMiscTest +namespace BlackSample { //! Samples for aviation diff --git a/samples/blackmiscquantities/samplesgeo.cpp b/samples/blackmiscquantities/samplesgeo.cpp index 00a2238d9..f7ec9f40f 100644 --- a/samples/blackmiscquantities/samplesgeo.cpp +++ b/samples/blackmiscquantities/samplesgeo.cpp @@ -17,7 +17,7 @@ using namespace BlackMisc::Aviation; using namespace BlackMisc::PhysicalQuantities; using namespace BlackMisc::Geo; -namespace BlackMiscTest +namespace BlackSample { int CSamplesGeo::samples(QTextStream &out) { diff --git a/samples/blackmiscquantities/samplesgeo.h b/samples/blackmiscquantities/samplesgeo.h index d4b94c3b8..ada215bca 100644 --- a/samples/blackmiscquantities/samplesgeo.h +++ b/samples/blackmiscquantities/samplesgeo.h @@ -9,13 +9,13 @@ //! \file -#ifndef BLACKMISCTEST_SAMPLESGEO_H -#define BLACKMISCTEST_SAMPLESGEO_H +#ifndef BLACKSAMPLE_SAMPLESGEO_H +#define BLACKSAMPLE_SAMPLESGEO_H #include "blackmisc/pq/constants.h" #include -namespace BlackMiscTest +namespace BlackSample { //! Samples for physical quantities class CSamplesGeo diff --git a/samples/blackmiscquantities/samplesphysicalquantities.cpp b/samples/blackmiscquantities/samplesphysicalquantities.cpp index 2c83d4305..87fc08e99 100644 --- a/samples/blackmiscquantities/samplesphysicalquantities.cpp +++ b/samples/blackmiscquantities/samplesphysicalquantities.cpp @@ -13,7 +13,7 @@ using namespace BlackMisc; using namespace BlackMisc::PhysicalQuantities; -namespace BlackMiscTest +namespace BlackSample { int CSamplesPhysicalQuantities::samples(QTextStream &out) { diff --git a/samples/blackmiscquantities/samplesphysicalquantities.h b/samples/blackmiscquantities/samplesphysicalquantities.h index 740b3d5f0..70418c1bf 100644 --- a/samples/blackmiscquantities/samplesphysicalquantities.h +++ b/samples/blackmiscquantities/samplesphysicalquantities.h @@ -9,13 +9,13 @@ //! \file -#ifndef BLACKMISCTEST_SAMPLESPHYSICALQUANTITIES_H -#define BLACKMISCTEST_SAMPLESPHYSICALQUANTITIES_H +#ifndef BLACKSAMPLE_SAMPLESPHYSICALQUANTITIES_H +#define BLACKSAMPLE_SAMPLESPHYSICALQUANTITIES_H #include "blackmisc/pq/constants.h" #include -namespace BlackMiscTest +namespace BlackSample { //! Samples for physical quantities diff --git a/samples/blackmiscsim/main.cpp b/samples/blackmiscsim/main.cpp index 38ed030a2..942b8611b 100644 --- a/samples/blackmiscsim/main.cpp +++ b/samples/blackmiscsim/main.cpp @@ -42,19 +42,19 @@ int main(int argc, char *argv[]) t.start(); if (i.startsWith("1")) { - BlackSimTest::CSamplesFsCommon::samples(streamOut, streamIn); + BlackSample::CSamplesFsCommon::samples(streamOut, streamIn); } else if (i.startsWith("2")) { - BlackSimTest::CSamplesFsx::samplesMisc(streamOut); + BlackSample::CSamplesFsx::samplesMisc(streamOut); } else if (i.startsWith("3")) { - BlackSimTest::CSamplesModelMapping::samples(streamOut, streamIn); + BlackSample::CSamplesModelMapping::samples(streamOut, streamIn); } else if (i.startsWith("4")) { - BlackSimTest::CSamplesVPilotRules::samples(streamOut, streamIn); + BlackSample::CSamplesVPilotRules::samples(streamOut, streamIn); } else if (i.startsWith("x")) { diff --git a/samples/blackmiscsim/samplesfscommon.cpp b/samples/blackmiscsim/samplesfscommon.cpp index 617789ab5..e134f9bf8 100644 --- a/samples/blackmiscsim/samplesfscommon.cpp +++ b/samples/blackmiscsim/samplesfscommon.cpp @@ -23,7 +23,7 @@ using namespace BlackMisc; using namespace BlackMisc::Simulation::FsCommon; -namespace BlackSimTest +namespace BlackSample { /* diff --git a/samples/blackmiscsim/samplesfscommon.h b/samples/blackmiscsim/samplesfscommon.h index 55d381b55..10d873709 100644 --- a/samples/blackmiscsim/samplesfscommon.h +++ b/samples/blackmiscsim/samplesfscommon.h @@ -9,12 +9,12 @@ //! \file -#ifndef BLACKSIMTEST_SAMPLESFSCOMMON_H -#define BLACKSIMTEST_SAMPLESFSCOMMON_H +#ifndef BLACKSAMPLE_SAMPLESFSCOMMON_H +#define BLACKSAMPLE_SAMPLESFSCOMMON_H #include -namespace BlackSimTest +namespace BlackSample { //! Samples for FsCommon classes class CSamplesFsCommon diff --git a/samples/blackmiscsim/samplesfsx.cpp b/samples/blackmiscsim/samplesfsx.cpp index 150631b12..5d5999e23 100644 --- a/samples/blackmiscsim/samplesfsx.cpp +++ b/samples/blackmiscsim/samplesfsx.cpp @@ -14,7 +14,7 @@ using namespace BlackMisc::Simulation::Fsx; -namespace BlackSimTest +namespace BlackSample { /* diff --git a/samples/blackmiscsim/samplesfsx.h b/samples/blackmiscsim/samplesfsx.h index b81872677..1ee983f8e 100644 --- a/samples/blackmiscsim/samplesfsx.h +++ b/samples/blackmiscsim/samplesfsx.h @@ -9,12 +9,12 @@ //! \file -#ifndef BLACKSIMTEST_SAMPLESFSX_H -#define BLACKSIMTEST_SAMPLESFSX_H +#ifndef BLACKSAMPLE_SAMPLESFSX_H +#define BLACKSAMPLE_SAMPLESFSX_H #include -namespace BlackSimTest +namespace BlackSample { //! Samples for FSX classes class CSamplesFsx diff --git a/samples/blackmiscsim/samplesmodelmapping.cpp b/samples/blackmiscsim/samplesmodelmapping.cpp index 7bda7c1ab..79a9bbf30 100644 --- a/samples/blackmiscsim/samplesmodelmapping.cpp +++ b/samples/blackmiscsim/samplesmodelmapping.cpp @@ -24,7 +24,7 @@ using namespace BlackMisc::Simulation; using namespace BlackMisc::Simulation::FsCommon; using namespace BlackMisc::Aviation; -namespace BlackSimTest +namespace BlackSample { /* diff --git a/samples/blackmiscsim/samplesmodelmapping.h b/samples/blackmiscsim/samplesmodelmapping.h index 2d2534219..d0cc10b35 100644 --- a/samples/blackmiscsim/samplesmodelmapping.h +++ b/samples/blackmiscsim/samplesmodelmapping.h @@ -9,12 +9,12 @@ //! \file -#ifndef BLACKSIMTEST_SAMPLESMODELMAPPING_H -#define BLACKSIMTEST_SAMPLESMODELMAPPING_H +#ifndef BLACKSAMPLE_SAMPLESMODELMAPPING_H +#define BLACKSAMPLE_SAMPLESMODELMAPPING_H #include -namespace BlackSimTest +namespace BlackSample { //! Samples for model mapping classes class CSamplesModelMapping diff --git a/samples/blackmiscsim/samplesvpilotrules.cpp b/samples/blackmiscsim/samplesvpilotrules.cpp index ea3003771..dd7f617f0 100644 --- a/samples/blackmiscsim/samplesvpilotrules.cpp +++ b/samples/blackmiscsim/samplesvpilotrules.cpp @@ -21,7 +21,7 @@ using namespace BlackMisc; using namespace BlackMisc::Simulation; using namespace BlackMisc::Simulation::FsCommon; -namespace BlackSimTest +namespace BlackSample { /* diff --git a/samples/blackmiscsim/samplesvpilotrules.h b/samples/blackmiscsim/samplesvpilotrules.h index 091fe8f19..d45a6554b 100644 --- a/samples/blackmiscsim/samplesvpilotrules.h +++ b/samples/blackmiscsim/samplesvpilotrules.h @@ -9,12 +9,12 @@ //! \file -#ifndef BLACKSIMTEST_SAMPLESVPILOTRULES_H -#define BLACKSIMTEST_SAMPLESVPILOTRULES_H +#ifndef BLACKSAMPLE_SAMPLESVPILOTRULES_H +#define BLACKSAMPLE_SAMPLESVPILOTRULES_H #include -namespace BlackSimTest +namespace BlackSample { //! Samples for vPilot rules class CSamplesVPilotRules diff --git a/samples/cliclient/client.cpp b/samples/cliclient/client.cpp index 775ce5855..16129142d 100644 --- a/samples/cliclient/client.cpp +++ b/samples/cliclient/client.cpp @@ -19,530 +19,535 @@ using namespace BlackMisc::Aviation; using namespace BlackMisc::PhysicalQuantities; using namespace BlackMisc::Geo; -Client::Client(QObject *parent) - : QObject(parent), - COwnAircraftAware(COwnAircraftProviderDummy::instance()), - CIdentifiable("samples:cmdClient"), - m_net(new BlackCore::CNetworkVatlib(COwnAircraftProviderDummy::instance(), this)) +namespace BlackSample { - connect(m_net, &INetwork::atcPositionUpdate, this, &Client::atcPositionUpdate); - connect(m_net, &INetwork::atcDisconnected, this, &Client::atcDisconnected); - connect(m_net, &INetwork::connectionStatusChanged, this, &Client::connectionStatusChanged); - connect(m_net, &INetwork::ipReplyReceived, this, &Client::ipReplyReceived); - connect(m_net, &INetwork::frequencyReplyReceived, this, &Client::freqReplyReceived); - connect(m_net, &INetwork::serverReplyReceived, this, &Client::serverReplyReceived); - connect(m_net, &INetwork::atcReplyReceived, this, &Client::atcReplyReceived); - connect(m_net, &INetwork::atisReplyReceived, this, &Client::atisReplyReceived); - connect(m_net, &INetwork::realNameReplyReceived, this, &Client::realNameReplyReceived); - connect(m_net, &INetwork::capabilitiesReplyReceived, this, &Client::capabilitiesReplyReceived); - connect(m_net, &INetwork::kicked, this, &Client::kicked); - connect(m_net, &INetwork::metarReplyReceived, this, &Client::metarReplyReceived); - connect(m_net, &INetwork::flightPlanReplyReceived, this, &Client::flightPlanReplyReceived); - connect(m_net, &INetwork::pilotDisconnected, this, &Client::pilotDisconnected); - connect(m_net, &INetwork::icaoCodesReplyReceived, this, &Client::icaoCodesReplyReceived); - connect(m_net, &INetwork::pongReceived, this, &Client::pongReceived); - connect(m_net, &INetwork::textMessagesReceived, this, &Client::textMessagesReceived); - connect(m_net, &INetwork::customPacketReceived, this, &Client::customPacketReceived); - connect(this, &Client::presetServer, m_net, &INetwork::presetServer); - connect(this, &Client::presetCallsign, m_net, &INetwork::presetCallsign); - connect(this, &Client::presetIcaoCodes, m_net, &INetwork::presetIcaoCodes); - connect(this, &Client::presetLoginMode, m_net, &INetwork::presetLoginMode); - connect(this, &Client::initiateConnection, m_net, &INetwork::initiateConnection); - connect(this, &Client::terminateConnection, m_net, &INetwork::terminateConnection); - connect(this, &Client::sendTextMessages, m_net, &INetwork::sendTextMessages); - connect(this, &Client::sendIpQuery, m_net, &INetwork::sendIpQuery); - connect(this, &Client::sendFreqQuery, m_net, &INetwork::sendFrequencyQuery); - connect(this, &Client::sendServerQuery, m_net, &INetwork::sendServerQuery); - connect(this, &Client::sendAtcQuery, m_net, &INetwork::sendAtcQuery); - connect(this, &Client::sendAtisQuery, m_net, &INetwork::sendAtisQuery); - connect(this, &Client::sendFlightPlan, m_net, &INetwork::sendFlightPlan); - connect(this, &Client::sendFlightPlanQuery, m_net, &INetwork::sendFlightPlanQuery); - connect(this, &Client::sendRealNameQuery, m_net, &INetwork::sendRealNameQuery); - connect(this, &Client::sendCapabilitiesQuery, m_net, &INetwork::sendCapabilitiesQuery); - connect(this, &Client::sendIcaoCodesQuery, m_net, &INetwork::sendIcaoCodesQuery); - connect(this, &Client::setOwnAircraftCockpit, COwnAircraftProviderDummy::instance(), &COwnAircraftProviderDummy::updateCockpit); - connect(this, &Client::sendPing, m_net, &INetwork::sendPing); - connect(this, &Client::sendMetarQuery, m_net, &INetwork::sendMetarQuery); - connect(this, &Client::sendCustomPacket, m_net, &INetwork::sendCustomPacket); - - using namespace std::placeholders; - m_commands["help"] = std::bind(&Client::help, this, _1); - m_commands["echo"] = std::bind(&Client::echo, this, _1); - m_commands["exit"] = std::bind(&Client::exit, this, _1); - m_commands["setserver"] = std::bind(&Client::presetServerCmd, this, _1); - m_commands["setcallsign"] = std::bind(&Client::presetCallsignCmd, this, _1); - m_commands["icaocodes"] = std::bind(&Client::presetIcaoCodesCmd, this, _1); - m_commands["loginmode"] = std::bind(&Client::presetLoginModeCmd, this, _1); - m_commands["initconnect"] = std::bind(&Client::initiateConnectionCmd, this, _1); - m_commands["termconnect"] = std::bind(&Client::terminateConnectionCmd, this, _1); - m_commands["privmsg"] = std::bind(&Client::sendPrivateTextMessageCmd, this, _1); - m_commands["textmsg"] = std::bind(&Client::sendRadioTextMessageCmd, this, _1); - m_commands["ip"] = std::bind(&Client::sendIpQueryCmd, this, _1); - m_commands["freq"] = std::bind(&Client::sendFreqQueryCmd, this, _1); - m_commands["server"] = std::bind(&Client::sendServerQueryCmd, this, _1); - m_commands["atc"] = std::bind(&Client::sendAtcQueryCmd, this, _1); - m_commands["atis"] = std::bind(&Client::sendAtisQueryCmd, this, _1); - m_commands["flightplan"] = std::bind(&Client::sendFlightPlanCmd, this, _1); - m_commands["getflightplan"] = std::bind(&Client::sendFlightPlanQueryCmd, this, _1); - m_commands["name"] = std::bind(&Client::sendRealNameQueryCmd, this, _1); - m_commands["caps"] = std::bind(&Client::sendCapabilitiesQueryCmd, this, _1); - m_commands["icao"] = std::bind(&Client::sendIcaoCodesQueryCmd, this, _1); - m_commands["setaircraft"] = std::bind(&Client::setOwnAircraftCmd, this, _1); - m_commands["setposition"] = std::bind(&Client::setOwnAircraftPositionCmd, this, _1); - m_commands["setsituation"] = std::bind(&Client::setOwnAircraftSituationCmd, this, _1); - m_commands["setcockpit"] = std::bind(&Client::setOwnAircraftCockpitCmd, this, _1); - m_commands["ping"] = std::bind(&Client::sendPingCmd, this, _1); - m_commands["metar"] = std::bind(&Client::sendMetarQueryCmd, this, _1); - m_commands["custom"] = std::bind(&Client::sendCustomPacketCmd, this, _1); -} - -void Client::command(QString line) -{ - QTextStream stream(&line, QIODevice::ReadOnly); - QString cmd; - stream >> cmd; - stream.skipWhiteSpace(); - - auto found = m_commands.find(cmd); - if (found == m_commands.end()) + Client::Client(QObject *parent) + : QObject(parent), + COwnAircraftAware(COwnAircraftProviderDummy::instance()), + CIdentifiable("samples:cmdClient"), + m_net(new BlackCore::CNetworkVatlib(COwnAircraftProviderDummy::instance(), this)) { - std::cout << "No such command" << std::endl; - } - else - { - (*found)(stream); - } -} + connect(m_net, &INetwork::atcPositionUpdate, this, &Client::atcPositionUpdate); + connect(m_net, &INetwork::atcDisconnected, this, &Client::atcDisconnected); + connect(m_net, &INetwork::connectionStatusChanged, this, &Client::connectionStatusChanged); + connect(m_net, &INetwork::ipReplyReceived, this, &Client::ipReplyReceived); + connect(m_net, &INetwork::frequencyReplyReceived, this, &Client::freqReplyReceived); + connect(m_net, &INetwork::serverReplyReceived, this, &Client::serverReplyReceived); + connect(m_net, &INetwork::atcReplyReceived, this, &Client::atcReplyReceived); + connect(m_net, &INetwork::atisReplyReceived, this, &Client::atisReplyReceived); + connect(m_net, &INetwork::realNameReplyReceived, this, &Client::realNameReplyReceived); + connect(m_net, &INetwork::capabilitiesReplyReceived, this, &Client::capabilitiesReplyReceived); + connect(m_net, &INetwork::kicked, this, &Client::kicked); + connect(m_net, &INetwork::metarReplyReceived, this, &Client::metarReplyReceived); + connect(m_net, &INetwork::flightPlanReplyReceived, this, &Client::flightPlanReplyReceived); + connect(m_net, &INetwork::pilotDisconnected, this, &Client::pilotDisconnected); + connect(m_net, &INetwork::icaoCodesReplyReceived, this, &Client::icaoCodesReplyReceived); + connect(m_net, &INetwork::pongReceived, this, &Client::pongReceived); + connect(m_net, &INetwork::textMessagesReceived, this, &Client::textMessagesReceived); + connect(m_net, &INetwork::customPacketReceived, this, &Client::customPacketReceived); -/****************************************************************************/ -/************ Commands *************/ -/****************************************************************************/ + connect(this, &Client::presetServer, m_net, &INetwork::presetServer); + connect(this, &Client::presetCallsign, m_net, &INetwork::presetCallsign); + connect(this, &Client::presetIcaoCodes, m_net, &INetwork::presetIcaoCodes); + connect(this, &Client::presetLoginMode, m_net, &INetwork::presetLoginMode); + connect(this, &Client::initiateConnection, m_net, &INetwork::initiateConnection); + connect(this, &Client::terminateConnection, m_net, &INetwork::terminateConnection); + connect(this, &Client::sendTextMessages, m_net, &INetwork::sendTextMessages); + connect(this, &Client::sendIpQuery, m_net, &INetwork::sendIpQuery); + connect(this, &Client::sendFreqQuery, m_net, &INetwork::sendFrequencyQuery); + connect(this, &Client::sendServerQuery, m_net, &INetwork::sendServerQuery); + connect(this, &Client::sendAtcQuery, m_net, &INetwork::sendAtcQuery); + connect(this, &Client::sendAtisQuery, m_net, &INetwork::sendAtisQuery); + connect(this, &Client::sendFlightPlan, m_net, &INetwork::sendFlightPlan); + connect(this, &Client::sendFlightPlanQuery, m_net, &INetwork::sendFlightPlanQuery); + connect(this, &Client::sendRealNameQuery, m_net, &INetwork::sendRealNameQuery); + connect(this, &Client::sendCapabilitiesQuery, m_net, &INetwork::sendCapabilitiesQuery); + connect(this, &Client::sendIcaoCodesQuery, m_net, &INetwork::sendIcaoCodesQuery); + connect(this, &Client::setOwnAircraftCockpit, COwnAircraftProviderDummy::instance(), &COwnAircraftProviderDummy::updateCockpit); + connect(this, &Client::sendPing, m_net, &INetwork::sendPing); + connect(this, &Client::sendMetarQuery, m_net, &INetwork::sendMetarQuery); + connect(this, &Client::sendCustomPacket, m_net, &INetwork::sendCustomPacket); -void Client::help(QTextStream &) -{ - std::cout << "Commands:" << std::endl; - auto keys = m_commands.keys(); - for (auto i = keys.begin(); i != keys.end(); ++i) - { - std::cout << " " << i->toStdString() << std::endl; - } -} - -void Client::echo(QTextStream &line) -{ - std::cout << "echo: " << line.readAll().toStdString() << std::endl; -} - -void Client::exit(QTextStream &) -{ - emit quit(); -} - -void Client::presetServerCmd(QTextStream &args) -{ - QString hostname; - quint16 port; - QString username; - QString password; - args >> hostname >> port >> username >> password; - args.skipWhiteSpace(); - emit presetServer(BlackMisc::Network::CServer("", "", hostname, port, BlackMisc::Network::CUser(username, args.readAll(), "", password))); -} - -void Client::presetCallsignCmd(QTextStream &args) -{ - QString callsign; - args >> callsign; - emit presetCallsign(callsign); -} - -void Client::presetIcaoCodesCmd(QTextStream &args) -{ - QString acTypeICAO; - QString combinedIcaoType; // e.g. "L2J" - QString airlineICAO; - args >> acTypeICAO >> combinedIcaoType >> airlineICAO; - - CSimulatedAircraft aircraft; - aircraft.setIcaoCodes(CAircraftIcaoCode(acTypeICAO, combinedIcaoType), CAirlineIcaoCode(airlineICAO)); - emit presetIcaoCodes(aircraft); -} - -void Client::presetLoginModeCmd(QTextStream &args) -{ - QString modeString; - args >> modeString; - BlackCore::INetwork::LoginMode mode(BlackCore::INetwork::LoginNormal); - if (modeString == "normal") { mode = BlackCore::INetwork::LoginNormal; } - if (modeString == "observer") { mode = BlackCore::INetwork::LoginAsObserver; } - if (modeString == "stealth") { mode = BlackCore::INetwork::LoginStealth; } - emit presetLoginMode(mode); -} - -void Client::initiateConnectionCmd(QTextStream &) -{ - emit initiateConnection(); -} - -void Client::terminateConnectionCmd(QTextStream &) -{ - emit terminateConnection(); -} - -void Client::sendPrivateTextMessageCmd(QTextStream &args) -{ - QString callsign; - args >> callsign; - args.skipWhiteSpace(); - BlackMisc::Network::CTextMessageList msgs(args.readAll(), BlackMisc::Aviation::CCallsign(callsign)); - emit sendTextMessages(msgs); -} - -void Client::sendRadioTextMessageCmd(QTextStream &args) -{ - QString freqsBlob; - args >> freqsBlob; - QStringList freqStrings = freqsBlob.split("|"); - QList frequencies; - for (auto i = freqStrings.begin(); i != freqStrings.end(); ++i) - { - frequencies.push_back(BlackMisc::PhysicalQuantities::CFrequency(i->toDouble(), BlackMisc::PhysicalQuantities::CFrequencyUnit::MHz())); - } - BlackMisc::Network::CTextMessageList msgs(args.readAll(), frequencies); - emit sendTextMessages(msgs); -} - -void Client::sendIpQueryCmd(QTextStream &) -{ - emit sendIpQuery(); -} - -void Client::sendFreqQueryCmd(QTextStream &args) -{ - QString callsign; - args >> callsign; - emit sendFreqQuery(callsign); -} - -void Client::sendFlightPlanCmd(QTextStream &args) -{ - QString equipmentIcao; - QString originAirportIcao; - QString destinationAirportIcao; - QString alternateAirportIcao; - QString takeoffTimePlanned; - QString takeoffTimeActual; - int enrouteTime; - int fuelTime; - int cruiseAltitude; - int cruiseTrueAirspeed; - QString flightRulesString; - QString route; - args >> equipmentIcao >> originAirportIcao >> destinationAirportIcao >> alternateAirportIcao >> takeoffTimePlanned >> takeoffTimeActual - >> enrouteTime >> fuelTime >> cruiseAltitude >> cruiseTrueAirspeed >> flightRulesString >> route; - - BlackMisc::Aviation::CFlightPlan::FlightRules flightRules; - if (flightRulesString == "IFR") { flightRules = BlackMisc::Aviation::CFlightPlan::IFR; } - else if (flightRulesString == "SVFR") { flightRules = BlackMisc::Aviation::CFlightPlan::SVFR; } - else { flightRules = BlackMisc::Aviation::CFlightPlan::VFR; } - - BlackMisc::Aviation::CFlightPlan - fp(equipmentIcao, originAirportIcao, destinationAirportIcao, alternateAirportIcao, - QDateTime::fromString(takeoffTimePlanned, "hhmm"), QDateTime::fromString(takeoffTimeActual, "hhmm"), - BlackMisc::PhysicalQuantities::CTime(enrouteTime, BlackMisc::PhysicalQuantities::CTimeUnit::hrmin()), - BlackMisc::PhysicalQuantities::CTime(fuelTime, BlackMisc::PhysicalQuantities::CTimeUnit::hrmin()), - BlackMisc::Aviation::CAltitude(cruiseAltitude, BlackMisc::Aviation::CAltitude::MeanSeaLevel, BlackMisc::PhysicalQuantities::CLengthUnit::ft()), - BlackMisc::PhysicalQuantities::CSpeed(cruiseTrueAirspeed, BlackMisc::PhysicalQuantities::CSpeedUnit::kts()), - flightRules, route, args.readAll()); - emit sendFlightPlan(fp); -} - -void Client::sendFlightPlanQueryCmd(QTextStream &args) -{ - QString callsign; - args >> callsign; - emit sendFlightPlanQuery(callsign); -} - -void Client::sendServerQueryCmd(QTextStream &args) -{ - QString callsign; - args >> callsign; - emit sendServerQuery(callsign); -} - -void Client::sendAtcQueryCmd(QTextStream &args) -{ - QString callsign; - args >> callsign; - emit sendAtcQuery(callsign); -} - -void Client::sendAtisQueryCmd(QTextStream &args) -{ - QString callsign; - args >> callsign; - emit sendAtisQuery(callsign); -} - -void Client::sendRealNameQueryCmd(QTextStream &args) -{ - QString callsign; - args >> callsign; - emit sendRealNameQuery(callsign); -} - -void Client::sendCapabilitiesQueryCmd(QTextStream &args) -{ - QString callsign; - args >> callsign; - emit sendCapabilitiesQuery(callsign); -} - -void Client::sendIcaoCodesQueryCmd(QTextStream &args) -{ - QString callsign; - args >> callsign; - emit sendIcaoCodesQuery(callsign); -} - -void Client::setOwnAircraftCmd(QTextStream &args) -{ - double lat; - double lon; - double alt; - double hdg; - double pitch; - double bank; - double gs; - double com1; - double com2; - int xpdrCode; - QString xpdrMode; - args >> lat >> lon >> alt >> hdg >> pitch >> bank >> gs >> com1 >> com2 >> xpdrCode >> xpdrMode; - BlackMisc::Simulation::CSimulatedAircraft aircraft("", BlackMisc::Network::CUser(), BlackMisc::Aviation::CAircraftSituation( - BlackMisc::Geo::CCoordinateGeodetic(lat, lon, 0), - BlackMisc::Aviation::CAltitude(alt, BlackMisc::Aviation::CAltitude::MeanSeaLevel, BlackMisc::PhysicalQuantities::CLengthUnit::ft()), - BlackMisc::Aviation::CHeading(hdg, BlackMisc::Aviation::CHeading::True, BlackMisc::PhysicalQuantities::CAngleUnit::deg()), - BlackMisc::PhysicalQuantities::CAngle(pitch, BlackMisc::PhysicalQuantities::CAngleUnit::deg()), - BlackMisc::PhysicalQuantities::CAngle(bank, BlackMisc::PhysicalQuantities::CAngleUnit::deg()), - BlackMisc::PhysicalQuantities::CSpeed(gs, BlackMisc::PhysicalQuantities::CSpeedUnit::kts()) - )); - updateCockpit( - BlackMisc::Aviation::CComSystem("COM1", BlackMisc::PhysicalQuantities::CFrequency(com1, BlackMisc::PhysicalQuantities::CFrequencyUnit::MHz())), - BlackMisc::Aviation::CComSystem("COM2", BlackMisc::PhysicalQuantities::CFrequency(com2, BlackMisc::PhysicalQuantities::CFrequencyUnit::MHz())), - BlackMisc::Aviation::CTransponder(xpdrCode, xpdrMode), - identifier()); - Q_UNUSED(aircraft); -} - -void Client::setOwnAircraftPositionCmd(QTextStream &args) -{ - double lat; - double lon; - double alt; - args >> lat >> lon >> alt; - CAircraftSituation situation(getOwnAircraft().getSituation()); - situation.setPosition(CCoordinateGeodetic(lat, lon, 0)); - situation.setAltitude(CAltitude(alt, CAltitude::MeanSeaLevel, CLengthUnit::ft())); - updateOwnSituation(situation); -} - -void Client::setOwnAircraftSituationCmd(QTextStream &args) -{ - double lat; - double lon; - double alt; - double hdg; - double pitch; - double bank; - double gs; - args >> lat >> lon >> alt >> hdg >> pitch >> bank >> gs; - updateOwnSituation(BlackMisc::Aviation::CAircraftSituation( - BlackMisc::Geo::CCoordinateGeodetic(lat, lon, 0), - BlackMisc::Aviation::CAltitude(alt, BlackMisc::Aviation::CAltitude::MeanSeaLevel, BlackMisc::PhysicalQuantities::CLengthUnit::ft()), - BlackMisc::Aviation::CHeading(hdg, BlackMisc::Aviation::CHeading::True, BlackMisc::PhysicalQuantities::CAngleUnit::deg()), - BlackMisc::PhysicalQuantities::CAngle(pitch, BlackMisc::PhysicalQuantities::CAngleUnit::deg()), - BlackMisc::PhysicalQuantities::CAngle(bank, BlackMisc::PhysicalQuantities::CAngleUnit::deg()), - BlackMisc::PhysicalQuantities::CSpeed(gs, BlackMisc::PhysicalQuantities::CSpeedUnit::kts()) - )); -} - -void Client::setOwnAircraftCockpitCmd(QTextStream &args) -{ - double com1; - double com2; - int xpdrCode; - QString xpdrMode; - args >> com1 >> com2 >> xpdrCode >> xpdrMode; - emit setOwnAircraftCockpit( - BlackMisc::Aviation::CComSystem("COM1", BlackMisc::PhysicalQuantities::CFrequency(com1, BlackMisc::PhysicalQuantities::CFrequencyUnit::MHz())), - BlackMisc::Aviation::CComSystem("COM2", BlackMisc::PhysicalQuantities::CFrequency(com2, BlackMisc::PhysicalQuantities::CFrequencyUnit::MHz())), - BlackMisc::Aviation::CTransponder(xpdrCode, xpdrMode), - "testclient" - ); -} - -void Client::sendPingCmd(QTextStream &args) -{ - QString callsign; - args >> callsign; - emit sendPing(callsign); -} - -void Client::sendMetarQueryCmd(QTextStream &args) -{ - QString airportICAO; - args >> airportICAO; - emit sendMetarQuery(airportICAO); -} - -void Client::sendCustomPacketCmd(QTextStream &args) -{ - QString callsign; - QString packetId; - args >> callsign >> packetId; - QStringList data; - while (!args.atEnd()) - { - QString field; - args >> field; - data.push_back(field); - } - emit sendCustomPacket(callsign, packetId, data); -} - -/****************************************************************************/ -/************ Slots to receive signals from INetwork *************/ -/****************************************************************************/ - -void Client::atcPositionUpdate(const BlackMisc::Aviation::CCallsign &callsign, const BlackMisc::PhysicalQuantities::CFrequency &freq, - const BlackMisc::Geo::CCoordinateGeodetic &pos, const BlackMisc::PhysicalQuantities::CLength &range) -{ - std::cout << "POSITION " << callsign << " " << freq << " " << pos << " " << range << std::endl; -} - -void Client::atcDisconnected(const BlackMisc::Aviation::CCallsign &callsign) -{ - std::cout << "ATC_DISCONNECTED " << callsign << std::endl; -} - -void Client::connectionStatusChanged(BlackCore::INetwork::ConnectionStatus oldStatus, BlackCore::INetwork::ConnectionStatus newStatus) -{ - switch (newStatus) - { - case BlackCore::INetwork::Disconnected: std::cout << "CONN_STATUS_DISCONNECTED"; break; - case BlackCore::INetwork::Disconnecting: std::cout << "CONN_STATUS_DISCONNECTING"; break; - case BlackCore::INetwork::DisconnectedError: std::cout << "CONN_STATUS_DISCONNECTED_ERROR"; break; - case BlackCore::INetwork::DisconnectedFailed: std::cout << "CONN_STATUS_DISCONNECTED_FAILED"; break; - case BlackCore::INetwork::DisconnectedLost: std::cout << "CONN_STATUS_DISCONNECTED_LOST"; break; - case BlackCore::INetwork::Connecting: std::cout << "CONN_STATUS_CONNECTING"; break; - case BlackCore::INetwork::Connected: std::cout << "CONN_STATUS_CONNECTED"; break; - } - switch (oldStatus) - { - case BlackCore::INetwork::Disconnected: std::cout << " (was CONN_STATUS_DISCONNECTED)\n"; break; - case BlackCore::INetwork::Disconnecting: std::cout << " (was CONN_STATUS_DISCONNECTING)\n"; break; - case BlackCore::INetwork::DisconnectedError: std::cout << " (was CONN_STATUS_DISCONNECTED_ERROR)\n"; break; - case BlackCore::INetwork::DisconnectedFailed: std::cout << " (was CONN_STATUS_DISCONNECTED_FAILED)\n"; break; - case BlackCore::INetwork::DisconnectedLost: std::cout << " (was CONN_STATUS_DISCONNECTED_LOST)\n"; break; - case BlackCore::INetwork::Connecting: std::cout << " (was CONN_STATUS_CONNECTING)\n"; break; - case BlackCore::INetwork::Connected: std::cout << " (was CONN_STATUS_CONNECTED)\n"; break; - } -} - -void Client::ipReplyReceived(const QString &ip) -{ - std::cout << "IP_REPLY " << ip.toStdString() << std::endl; -} - -void Client::freqReplyReceived(const BlackMisc::Aviation::CCallsign &callsign, const BlackMisc::PhysicalQuantities::CFrequency &freq) -{ - std::cout << "FREQ_REPLY " << callsign << " " << freq << std::endl; -} - -void Client::serverReplyReceived(const BlackMisc::Aviation::CCallsign &callsign, const QString &server) -{ - std::cout << "SERVER_REPLY " << callsign << " " << server.toStdString() << std::endl; -} - -void Client::atcReplyReceived(const BlackMisc::Aviation::CCallsign &callsign, bool isATC) -{ - std::cout << "ATC_REPLY " << callsign << (isATC ? " yes" : " no") << std::endl; -} - -void Client::atisReplyReceived(const BlackMisc::Aviation::CCallsign &callsign, const BlackMisc::Aviation::CInformationMessage &atis) -{ - std::cout << "ATIS_REPLY " << callsign << " " << atis << std::endl; -} - -void Client::realNameReplyReceived(const BlackMisc::Aviation::CCallsign &callsign, const QString &realname) -{ - std::cout << "NAME_REPLY " << callsign << " " << realname.toStdString() << std::endl; -} - -void Client::capabilitiesReplyReceived(const BlackMisc::Aviation::CCallsign &callsign, quint32 flags) -{ - std::cout << "CAPS_REPLY " << callsign << " " << flags << std::endl; -} - -void Client::kicked(const QString &msg) -{ - std::cout << "KICKED " << msg.toStdString() << std::endl; -} - -void Client::metarReplyReceived(const QString &data) -{ - std::cout << "METAR " << data.toStdString() << std::endl; -} - -void Client::flightPlanReplyReceived(const BlackMisc::Aviation::CCallsign &callsign, const BlackMisc::Aviation::CFlightPlan &flightPlan) -{ - std::string rules; - switch (flightPlan.getFlightRules()) - { - default: - case BlackMisc::Aviation::CFlightPlan::IFR: rules = "IFR"; break; - case BlackMisc::Aviation::CFlightPlan::VFR: rules = "VFR"; break; - case BlackMisc::Aviation::CFlightPlan::SVFR: rules = "SVFR"; break; + using namespace std::placeholders; + m_commands["help"] = std::bind(&Client::help, this, _1); + m_commands["echo"] = std::bind(&Client::echo, this, _1); + m_commands["exit"] = std::bind(&Client::exit, this, _1); + m_commands["setserver"] = std::bind(&Client::presetServerCmd, this, _1); + m_commands["setcallsign"] = std::bind(&Client::presetCallsignCmd, this, _1); + m_commands["icaocodes"] = std::bind(&Client::presetIcaoCodesCmd, this, _1); + m_commands["loginmode"] = std::bind(&Client::presetLoginModeCmd, this, _1); + m_commands["initconnect"] = std::bind(&Client::initiateConnectionCmd, this, _1); + m_commands["termconnect"] = std::bind(&Client::terminateConnectionCmd, this, _1); + m_commands["privmsg"] = std::bind(&Client::sendPrivateTextMessageCmd, this, _1); + m_commands["textmsg"] = std::bind(&Client::sendRadioTextMessageCmd, this, _1); + m_commands["ip"] = std::bind(&Client::sendIpQueryCmd, this, _1); + m_commands["freq"] = std::bind(&Client::sendFreqQueryCmd, this, _1); + m_commands["server"] = std::bind(&Client::sendServerQueryCmd, this, _1); + m_commands["atc"] = std::bind(&Client::sendAtcQueryCmd, this, _1); + m_commands["atis"] = std::bind(&Client::sendAtisQueryCmd, this, _1); + m_commands["flightplan"] = std::bind(&Client::sendFlightPlanCmd, this, _1); + m_commands["getflightplan"] = std::bind(&Client::sendFlightPlanQueryCmd, this, _1); + m_commands["name"] = std::bind(&Client::sendRealNameQueryCmd, this, _1); + m_commands["caps"] = std::bind(&Client::sendCapabilitiesQueryCmd, this, _1); + m_commands["icao"] = std::bind(&Client::sendIcaoCodesQueryCmd, this, _1); + m_commands["setaircraft"] = std::bind(&Client::setOwnAircraftCmd, this, _1); + m_commands["setposition"] = std::bind(&Client::setOwnAircraftPositionCmd, this, _1); + m_commands["setsituation"] = std::bind(&Client::setOwnAircraftSituationCmd, this, _1); + m_commands["setcockpit"] = std::bind(&Client::setOwnAircraftCockpitCmd, this, _1); + m_commands["ping"] = std::bind(&Client::sendPingCmd, this, _1); + m_commands["metar"] = std::bind(&Client::sendMetarQueryCmd, this, _1); + m_commands["custom"] = std::bind(&Client::sendCustomPacketCmd, this, _1); } - std::cout << "FLIGHTPLAN " << callsign - << flightPlan.getEquipmentIcao().toStdString() << " " << flightPlan.getOriginAirportIcao() << " " - << flightPlan.getDestinationAirportIcao() << " " << flightPlan.getAlternateAirportIcao() << " " - << flightPlan.getTakeoffTimePlannedHourMin().toStdString() << " " << flightPlan.getTakeoffTimeActualHourMin().toStdString() << " " - << flightPlan.getEnrouteTime() << " " << flightPlan.getFuelTime() << " " - << flightPlan.getCruiseAltitude() << " " << flightPlan.getCruiseTrueAirspeed() << " " << rules << " " - << flightPlan.getRoute().toStdString() << " " << flightPlan.getRemarks().toStdString() << "\n"; -} - -void Client::pilotDisconnected(const BlackMisc::Aviation::CCallsign &callsign) -{ - std::cout << "PILOT_DISCONNECTED " << callsign << std::endl; -} - -void Client::icaoCodesReplyReceived(const BlackMisc::Aviation::CCallsign &callsign, const QString &aircraftIcaoDesignator, const QString &airlineIcaoDesignator, const QString &livery) -{ - std::cout << "PLANE_INFO_REPLY " << callsign << " " << aircraftIcaoDesignator.toStdString() << " " << airlineIcaoDesignator.toStdString() << " " << livery.toStdString(); -} - -void Client::pongReceived(const BlackMisc::Aviation::CCallsign &callsign, const BlackMisc::PhysicalQuantities::CTime &elapsedTime) -{ - std::cout << "PONG " << callsign << " " << elapsedTime << std::endl; -} - -void Client::textMessagesReceived(const BlackMisc::Network::CTextMessageList &list) -{ - std::cout << "TEXT MESSAGE" << list.toStdString(); -} - -void Client::customPacketReceived(const BlackMisc::Aviation::CCallsign &callsign, const QString &packetId, const QStringList &data) -{ - std::cout << "CUSTOM " << callsign << " " << packetId.toStdString() << " "; - for (auto i = data.begin(); i != data.end(); ++i) + void Client::command(QString line) { - std::cout << i->toStdString() << std::endl; + QTextStream stream(&line, QIODevice::ReadOnly); + QString cmd; + stream >> cmd; + stream.skipWhiteSpace(); + + auto found = m_commands.find(cmd); + if (found == m_commands.end()) + { + std::cout << "No such command" << std::endl; + } + else + { + (*found)(stream); + } } - std::cout << std::endl; -} + + /****************************************************************************/ + /************ Commands *************/ + /****************************************************************************/ + + void Client::help(QTextStream &) + { + std::cout << "Commands:" << std::endl; + auto keys = m_commands.keys(); + for (auto i = keys.begin(); i != keys.end(); ++i) + { + std::cout << " " << i->toStdString() << std::endl; + } + } + + void Client::echo(QTextStream &line) + { + std::cout << "echo: " << line.readAll().toStdString() << std::endl; + } + + void Client::exit(QTextStream &) + { + emit quit(); + } + + void Client::presetServerCmd(QTextStream &args) + { + QString hostname; + quint16 port; + QString username; + QString password; + args >> hostname >> port >> username >> password; + args.skipWhiteSpace(); + emit presetServer(BlackMisc::Network::CServer("", "", hostname, port, BlackMisc::Network::CUser(username, args.readAll(), "", password))); + } + + void Client::presetCallsignCmd(QTextStream &args) + { + QString callsign; + args >> callsign; + emit presetCallsign(callsign); + } + + void Client::presetIcaoCodesCmd(QTextStream &args) + { + QString acTypeICAO; + QString combinedIcaoType; // e.g. "L2J" + QString airlineICAO; + args >> acTypeICAO >> combinedIcaoType >> airlineICAO; + + CSimulatedAircraft aircraft; + aircraft.setIcaoCodes(CAircraftIcaoCode(acTypeICAO, combinedIcaoType), CAirlineIcaoCode(airlineICAO)); + emit presetIcaoCodes(aircraft); + } + + void Client::presetLoginModeCmd(QTextStream &args) + { + QString modeString; + args >> modeString; + BlackCore::INetwork::LoginMode mode(BlackCore::INetwork::LoginNormal); + if (modeString == "normal") { mode = BlackCore::INetwork::LoginNormal; } + if (modeString == "observer") { mode = BlackCore::INetwork::LoginAsObserver; } + if (modeString == "stealth") { mode = BlackCore::INetwork::LoginStealth; } + emit presetLoginMode(mode); + } + + void Client::initiateConnectionCmd(QTextStream &) + { + emit initiateConnection(); + } + + void Client::terminateConnectionCmd(QTextStream &) + { + emit terminateConnection(); + } + + void Client::sendPrivateTextMessageCmd(QTextStream &args) + { + QString callsign; + args >> callsign; + args.skipWhiteSpace(); + BlackMisc::Network::CTextMessageList msgs(args.readAll(), BlackMisc::Aviation::CCallsign(callsign)); + emit sendTextMessages(msgs); + } + + void Client::sendRadioTextMessageCmd(QTextStream &args) + { + QString freqsBlob; + args >> freqsBlob; + QStringList freqStrings = freqsBlob.split("|"); + QList frequencies; + for (auto i = freqStrings.begin(); i != freqStrings.end(); ++i) + { + frequencies.push_back(BlackMisc::PhysicalQuantities::CFrequency(i->toDouble(), BlackMisc::PhysicalQuantities::CFrequencyUnit::MHz())); + } + BlackMisc::Network::CTextMessageList msgs(args.readAll(), frequencies); + emit sendTextMessages(msgs); + } + + void Client::sendIpQueryCmd(QTextStream &) + { + emit sendIpQuery(); + } + + void Client::sendFreqQueryCmd(QTextStream &args) + { + QString callsign; + args >> callsign; + emit sendFreqQuery(callsign); + } + + void Client::sendFlightPlanCmd(QTextStream &args) + { + QString equipmentIcao; + QString originAirportIcao; + QString destinationAirportIcao; + QString alternateAirportIcao; + QString takeoffTimePlanned; + QString takeoffTimeActual; + int enrouteTime; + int fuelTime; + int cruiseAltitude; + int cruiseTrueAirspeed; + QString flightRulesString; + QString route; + args >> equipmentIcao >> originAirportIcao >> destinationAirportIcao >> alternateAirportIcao >> takeoffTimePlanned >> takeoffTimeActual + >> enrouteTime >> fuelTime >> cruiseAltitude >> cruiseTrueAirspeed >> flightRulesString >> route; + + BlackMisc::Aviation::CFlightPlan::FlightRules flightRules; + if (flightRulesString == "IFR") { flightRules = BlackMisc::Aviation::CFlightPlan::IFR; } + else if (flightRulesString == "SVFR") { flightRules = BlackMisc::Aviation::CFlightPlan::SVFR; } + else { flightRules = BlackMisc::Aviation::CFlightPlan::VFR; } + + BlackMisc::Aviation::CFlightPlan + fp(equipmentIcao, originAirportIcao, destinationAirportIcao, alternateAirportIcao, + QDateTime::fromString(takeoffTimePlanned, "hhmm"), QDateTime::fromString(takeoffTimeActual, "hhmm"), + BlackMisc::PhysicalQuantities::CTime(enrouteTime, BlackMisc::PhysicalQuantities::CTimeUnit::hrmin()), + BlackMisc::PhysicalQuantities::CTime(fuelTime, BlackMisc::PhysicalQuantities::CTimeUnit::hrmin()), + BlackMisc::Aviation::CAltitude(cruiseAltitude, BlackMisc::Aviation::CAltitude::MeanSeaLevel, BlackMisc::PhysicalQuantities::CLengthUnit::ft()), + BlackMisc::PhysicalQuantities::CSpeed(cruiseTrueAirspeed, BlackMisc::PhysicalQuantities::CSpeedUnit::kts()), + flightRules, route, args.readAll()); + emit sendFlightPlan(fp); + } + + void Client::sendFlightPlanQueryCmd(QTextStream &args) + { + QString callsign; + args >> callsign; + emit sendFlightPlanQuery(callsign); + } + + void Client::sendServerQueryCmd(QTextStream &args) + { + QString callsign; + args >> callsign; + emit sendServerQuery(callsign); + } + + void Client::sendAtcQueryCmd(QTextStream &args) + { + QString callsign; + args >> callsign; + emit sendAtcQuery(callsign); + } + + void Client::sendAtisQueryCmd(QTextStream &args) + { + QString callsign; + args >> callsign; + emit sendAtisQuery(callsign); + } + + void Client::sendRealNameQueryCmd(QTextStream &args) + { + QString callsign; + args >> callsign; + emit sendRealNameQuery(callsign); + } + + void Client::sendCapabilitiesQueryCmd(QTextStream &args) + { + QString callsign; + args >> callsign; + emit sendCapabilitiesQuery(callsign); + } + + void Client::sendIcaoCodesQueryCmd(QTextStream &args) + { + QString callsign; + args >> callsign; + emit sendIcaoCodesQuery(callsign); + } + + void Client::setOwnAircraftCmd(QTextStream &args) + { + double lat; + double lon; + double alt; + double hdg; + double pitch; + double bank; + double gs; + double com1; + double com2; + int xpdrCode; + QString xpdrMode; + args >> lat >> lon >> alt >> hdg >> pitch >> bank >> gs >> com1 >> com2 >> xpdrCode >> xpdrMode; + BlackMisc::Simulation::CSimulatedAircraft aircraft("", BlackMisc::Network::CUser(), BlackMisc::Aviation::CAircraftSituation( + BlackMisc::Geo::CCoordinateGeodetic(lat, lon, 0), + BlackMisc::Aviation::CAltitude(alt, BlackMisc::Aviation::CAltitude::MeanSeaLevel, BlackMisc::PhysicalQuantities::CLengthUnit::ft()), + BlackMisc::Aviation::CHeading(hdg, BlackMisc::Aviation::CHeading::True, BlackMisc::PhysicalQuantities::CAngleUnit::deg()), + BlackMisc::PhysicalQuantities::CAngle(pitch, BlackMisc::PhysicalQuantities::CAngleUnit::deg()), + BlackMisc::PhysicalQuantities::CAngle(bank, BlackMisc::PhysicalQuantities::CAngleUnit::deg()), + BlackMisc::PhysicalQuantities::CSpeed(gs, BlackMisc::PhysicalQuantities::CSpeedUnit::kts()) + )); + updateCockpit( + BlackMisc::Aviation::CComSystem("COM1", BlackMisc::PhysicalQuantities::CFrequency(com1, BlackMisc::PhysicalQuantities::CFrequencyUnit::MHz())), + BlackMisc::Aviation::CComSystem("COM2", BlackMisc::PhysicalQuantities::CFrequency(com2, BlackMisc::PhysicalQuantities::CFrequencyUnit::MHz())), + BlackMisc::Aviation::CTransponder(xpdrCode, xpdrMode), + identifier()); + Q_UNUSED(aircraft); + } + + void Client::setOwnAircraftPositionCmd(QTextStream &args) + { + double lat; + double lon; + double alt; + args >> lat >> lon >> alt; + CAircraftSituation situation(getOwnAircraft().getSituation()); + situation.setPosition(CCoordinateGeodetic(lat, lon, 0)); + situation.setAltitude(CAltitude(alt, CAltitude::MeanSeaLevel, CLengthUnit::ft())); + updateOwnSituation(situation); + } + + void Client::setOwnAircraftSituationCmd(QTextStream &args) + { + double lat; + double lon; + double alt; + double hdg; + double pitch; + double bank; + double gs; + args >> lat >> lon >> alt >> hdg >> pitch >> bank >> gs; + updateOwnSituation(BlackMisc::Aviation::CAircraftSituation( + BlackMisc::Geo::CCoordinateGeodetic(lat, lon, 0), + BlackMisc::Aviation::CAltitude(alt, BlackMisc::Aviation::CAltitude::MeanSeaLevel, BlackMisc::PhysicalQuantities::CLengthUnit::ft()), + BlackMisc::Aviation::CHeading(hdg, BlackMisc::Aviation::CHeading::True, BlackMisc::PhysicalQuantities::CAngleUnit::deg()), + BlackMisc::PhysicalQuantities::CAngle(pitch, BlackMisc::PhysicalQuantities::CAngleUnit::deg()), + BlackMisc::PhysicalQuantities::CAngle(bank, BlackMisc::PhysicalQuantities::CAngleUnit::deg()), + BlackMisc::PhysicalQuantities::CSpeed(gs, BlackMisc::PhysicalQuantities::CSpeedUnit::kts()) + )); + } + + void Client::setOwnAircraftCockpitCmd(QTextStream &args) + { + double com1; + double com2; + int xpdrCode; + QString xpdrMode; + args >> com1 >> com2 >> xpdrCode >> xpdrMode; + emit setOwnAircraftCockpit( + BlackMisc::Aviation::CComSystem("COM1", BlackMisc::PhysicalQuantities::CFrequency(com1, BlackMisc::PhysicalQuantities::CFrequencyUnit::MHz())), + BlackMisc::Aviation::CComSystem("COM2", BlackMisc::PhysicalQuantities::CFrequency(com2, BlackMisc::PhysicalQuantities::CFrequencyUnit::MHz())), + BlackMisc::Aviation::CTransponder(xpdrCode, xpdrMode), + "testclient" + ); + } + + void Client::sendPingCmd(QTextStream &args) + { + QString callsign; + args >> callsign; + emit sendPing(callsign); + } + + void Client::sendMetarQueryCmd(QTextStream &args) + { + QString airportICAO; + args >> airportICAO; + emit sendMetarQuery(airportICAO); + } + + void Client::sendCustomPacketCmd(QTextStream &args) + { + QString callsign; + QString packetId; + args >> callsign >> packetId; + QStringList data; + while (!args.atEnd()) + { + QString field; + args >> field; + data.push_back(field); + } + emit sendCustomPacket(callsign, packetId, data); + } + + /****************************************************************************/ + /************ Slots to receive signals from INetwork *************/ + /****************************************************************************/ + + void Client::atcPositionUpdate(const BlackMisc::Aviation::CCallsign &callsign, const BlackMisc::PhysicalQuantities::CFrequency &freq, + const BlackMisc::Geo::CCoordinateGeodetic &pos, const BlackMisc::PhysicalQuantities::CLength &range) + { + std::cout << "POSITION " << callsign << " " << freq << " " << pos << " " << range << std::endl; + } + + void Client::atcDisconnected(const BlackMisc::Aviation::CCallsign &callsign) + { + std::cout << "ATC_DISCONNECTED " << callsign << std::endl; + } + + void Client::connectionStatusChanged(BlackCore::INetwork::ConnectionStatus oldStatus, BlackCore::INetwork::ConnectionStatus newStatus) + { + switch (newStatus) + { + case BlackCore::INetwork::Disconnected: std::cout << "CONN_STATUS_DISCONNECTED"; break; + case BlackCore::INetwork::Disconnecting: std::cout << "CONN_STATUS_DISCONNECTING"; break; + case BlackCore::INetwork::DisconnectedError: std::cout << "CONN_STATUS_DISCONNECTED_ERROR"; break; + case BlackCore::INetwork::DisconnectedFailed: std::cout << "CONN_STATUS_DISCONNECTED_FAILED"; break; + case BlackCore::INetwork::DisconnectedLost: std::cout << "CONN_STATUS_DISCONNECTED_LOST"; break; + case BlackCore::INetwork::Connecting: std::cout << "CONN_STATUS_CONNECTING"; break; + case BlackCore::INetwork::Connected: std::cout << "CONN_STATUS_CONNECTED"; break; + } + switch (oldStatus) + { + case BlackCore::INetwork::Disconnected: std::cout << " (was CONN_STATUS_DISCONNECTED)\n"; break; + case BlackCore::INetwork::Disconnecting: std::cout << " (was CONN_STATUS_DISCONNECTING)\n"; break; + case BlackCore::INetwork::DisconnectedError: std::cout << " (was CONN_STATUS_DISCONNECTED_ERROR)\n"; break; + case BlackCore::INetwork::DisconnectedFailed: std::cout << " (was CONN_STATUS_DISCONNECTED_FAILED)\n"; break; + case BlackCore::INetwork::DisconnectedLost: std::cout << " (was CONN_STATUS_DISCONNECTED_LOST)\n"; break; + case BlackCore::INetwork::Connecting: std::cout << " (was CONN_STATUS_CONNECTING)\n"; break; + case BlackCore::INetwork::Connected: std::cout << " (was CONN_STATUS_CONNECTED)\n"; break; + } + } + + void Client::ipReplyReceived(const QString &ip) + { + std::cout << "IP_REPLY " << ip.toStdString() << std::endl; + } + + void Client::freqReplyReceived(const BlackMisc::Aviation::CCallsign &callsign, const BlackMisc::PhysicalQuantities::CFrequency &freq) + { + std::cout << "FREQ_REPLY " << callsign << " " << freq << std::endl; + } + + void Client::serverReplyReceived(const BlackMisc::Aviation::CCallsign &callsign, const QString &server) + { + std::cout << "SERVER_REPLY " << callsign << " " << server.toStdString() << std::endl; + } + + void Client::atcReplyReceived(const BlackMisc::Aviation::CCallsign &callsign, bool isATC) + { + std::cout << "ATC_REPLY " << callsign << (isATC ? " yes" : " no") << std::endl; + } + + void Client::atisReplyReceived(const BlackMisc::Aviation::CCallsign &callsign, const BlackMisc::Aviation::CInformationMessage &atis) + { + std::cout << "ATIS_REPLY " << callsign << " " << atis << std::endl; + } + + void Client::realNameReplyReceived(const BlackMisc::Aviation::CCallsign &callsign, const QString &realname) + { + std::cout << "NAME_REPLY " << callsign << " " << realname.toStdString() << std::endl; + } + + void Client::capabilitiesReplyReceived(const BlackMisc::Aviation::CCallsign &callsign, quint32 flags) + { + std::cout << "CAPS_REPLY " << callsign << " " << flags << std::endl; + } + + void Client::kicked(const QString &msg) + { + std::cout << "KICKED " << msg.toStdString() << std::endl; + } + + void Client::metarReplyReceived(const QString &data) + { + std::cout << "METAR " << data.toStdString() << std::endl; + } + + void Client::flightPlanReplyReceived(const BlackMisc::Aviation::CCallsign &callsign, const BlackMisc::Aviation::CFlightPlan &flightPlan) + { + std::string rules; + switch (flightPlan.getFlightRules()) + { + default: + case BlackMisc::Aviation::CFlightPlan::IFR: rules = "IFR"; break; + case BlackMisc::Aviation::CFlightPlan::VFR: rules = "VFR"; break; + case BlackMisc::Aviation::CFlightPlan::SVFR: rules = "SVFR"; break; + } + + std::cout << "FLIGHTPLAN " << callsign + << flightPlan.getEquipmentIcao().toStdString() << " " << flightPlan.getOriginAirportIcao() << " " + << flightPlan.getDestinationAirportIcao() << " " << flightPlan.getAlternateAirportIcao() << " " + << flightPlan.getTakeoffTimePlannedHourMin().toStdString() << " " << flightPlan.getTakeoffTimeActualHourMin().toStdString() << " " + << flightPlan.getEnrouteTime() << " " << flightPlan.getFuelTime() << " " + << flightPlan.getCruiseAltitude() << " " << flightPlan.getCruiseTrueAirspeed() << " " << rules << " " + << flightPlan.getRoute().toStdString() << " " << flightPlan.getRemarks().toStdString() << "\n"; + } + + void Client::pilotDisconnected(const BlackMisc::Aviation::CCallsign &callsign) + { + std::cout << "PILOT_DISCONNECTED " << callsign << std::endl; + } + + void Client::icaoCodesReplyReceived(const BlackMisc::Aviation::CCallsign &callsign, const QString &aircraftIcaoDesignator, const QString &airlineIcaoDesignator, const QString &livery) + { + std::cout << "PLANE_INFO_REPLY " << callsign << " " << aircraftIcaoDesignator.toStdString() << " " << airlineIcaoDesignator.toStdString() << " " << livery.toStdString(); + } + + void Client::pongReceived(const BlackMisc::Aviation::CCallsign &callsign, const BlackMisc::PhysicalQuantities::CTime &elapsedTime) + { + std::cout << "PONG " << callsign << " " << elapsedTime << std::endl; + } + + void Client::textMessagesReceived(const BlackMisc::Network::CTextMessageList &list) + { + std::cout << "TEXT MESSAGE" << list.toStdString(); + } + + void Client::customPacketReceived(const BlackMisc::Aviation::CCallsign &callsign, const QString &packetId, const QStringList &data) + { + std::cout << "CUSTOM " << callsign << " " << packetId.toStdString() << " "; + for (auto i = data.begin(); i != data.end(); ++i) + { + std::cout << i->toStdString() << std::endl; + } + std::cout << std::endl; + } + +} // ns diff --git a/samples/cliclient/client.h b/samples/cliclient/client.h index 24dffe798..7eae2ad64 100644 --- a/samples/cliclient/client.h +++ b/samples/cliclient/client.h @@ -9,8 +9,8 @@ //! \file -#ifndef BLACKSAMPLE_CLI_CLIENT_H -#define BLACKSAMPLE_CLI_CLIENT_H +#ifndef BLACKSAMPLE_CLICLIENT_CLIENT_H +#define BLACKSAMPLE_CLICLIENT_CLIENT_H #include "blackcore/network.h" #include "blackmisc/simulation/ownaircraftproviderdummy.h" @@ -20,104 +20,109 @@ #include #include -class Client : - public QObject, - public BlackMisc::Simulation::COwnAircraftAware, - public BlackMisc::CIdentifiable +namespace BlackSample { - Q_OBJECT -public: - Client(QObject *parent = nullptr); + class Client : + public QObject, + public BlackMisc::Simulation::COwnAircraftAware, + public BlackMisc::CIdentifiable + { + Q_OBJECT -signals: - //! Terminated - void quit(); + public: + Client(QObject *parent = nullptr); -public slots: - //! Handle command - void command(QString line); + signals: + //! Terminated + void quit(); -private: //commands - void help(QTextStream &args); - void echo(QTextStream &args); - void exit(QTextStream &args); - void presetServerCmd(QTextStream &args); - void presetCallsignCmd(QTextStream &args); - void presetIcaoCodesCmd(QTextStream &args); - void presetLoginModeCmd(QTextStream &args); - void initiateConnectionCmd(QTextStream &args); - void terminateConnectionCmd(QTextStream &args); - void sendPrivateTextMessageCmd(QTextStream &args); - void sendRadioTextMessageCmd(QTextStream &args); - void sendIpQueryCmd(QTextStream &args); - void sendFreqQueryCmd(QTextStream &args); - void sendServerQueryCmd(QTextStream &args); - void sendAtcQueryCmd(QTextStream &args); - void sendAtisQueryCmd(QTextStream &args); - void sendFlightPlanCmd(QTextStream &args); - void sendFlightPlanQueryCmd(QTextStream &args); - void sendRealNameQueryCmd(QTextStream &args); - void sendCapabilitiesQueryCmd(QTextStream &args); - void sendIcaoCodesQueryCmd(QTextStream &args); - void setOwnAircraftCmd(QTextStream &args); - void setOwnAircraftPositionCmd(QTextStream &args); - void setOwnAircraftSituationCmd(QTextStream &args); - void setOwnAircraftCockpitCmd(QTextStream &args); - void sendPingCmd(QTextStream &args); - void sendMetarQueryCmd(QTextStream &args); - void sendCustomPacketCmd(QTextStream &args); + public slots: + //! Handle command + void command(QString line); -signals: //to send to INetwork - void presetServer(const BlackMisc::Network::CServer &server); - void presetCallsign(const BlackMisc::Aviation::CCallsign &callsign); - void presetRealName(const QString &name); - void presetIcaoCodes(const BlackMisc::Simulation::CSimulatedAircraft &aircraft); - void presetLoginMode(BlackCore::INetwork::LoginMode mode); - void initiateConnection(); - void terminateConnection(); - void sendTextMessages(const BlackMisc::Network::CTextMessageList &textMessages); - void sendRadioTextMessage(const QVector &freqs, const QString &msg); - void sendIpQuery(); - void sendFreqQuery(const BlackMisc::Aviation::CCallsign &callsign); - void sendServerQuery(const BlackMisc::Aviation::CCallsign &callsign); - void sendAtcQuery(const BlackMisc::Aviation::CCallsign &callsign); - void sendAtisQuery(const BlackMisc::Aviation::CCallsign &callsign); - void sendFlightPlan(const BlackMisc::Aviation::CFlightPlan &fp); - void sendFlightPlanQuery(const BlackMisc::Aviation::CCallsign &callsign); - void sendRealNameQuery(const BlackMisc::Aviation::CCallsign &callsign); - void sendCapabilitiesQuery(const BlackMisc::Aviation::CCallsign &callsign); - void sendIcaoCodesQuery(const BlackMisc::Aviation::CCallsign &callsign); - void setOwnAircraftCockpit(const BlackMisc::Aviation::CComSystem &com1, const BlackMisc::Aviation::CComSystem &com2, - const BlackMisc::Aviation::CTransponder &xpdr, const QString &originator); - void sendPing(const BlackMisc::Aviation::CCallsign &callsign); - void sendMetarQuery(const QString &airportICAO); - void sendCustomPacket(const BlackMisc::Aviation::CCallsign &callsign, const QString &packetId, const QStringList &data); + private: //commands + void help(QTextStream &args); + void echo(QTextStream &args); + void exit(QTextStream &args); + void presetServerCmd(QTextStream &args); + void presetCallsignCmd(QTextStream &args); + void presetIcaoCodesCmd(QTextStream &args); + void presetLoginModeCmd(QTextStream &args); + void initiateConnectionCmd(QTextStream &args); + void terminateConnectionCmd(QTextStream &args); + void sendPrivateTextMessageCmd(QTextStream &args); + void sendRadioTextMessageCmd(QTextStream &args); + void sendIpQueryCmd(QTextStream &args); + void sendFreqQueryCmd(QTextStream &args); + void sendServerQueryCmd(QTextStream &args); + void sendAtcQueryCmd(QTextStream &args); + void sendAtisQueryCmd(QTextStream &args); + void sendFlightPlanCmd(QTextStream &args); + void sendFlightPlanQueryCmd(QTextStream &args); + void sendRealNameQueryCmd(QTextStream &args); + void sendCapabilitiesQueryCmd(QTextStream &args); + void sendIcaoCodesQueryCmd(QTextStream &args); + void setOwnAircraftCmd(QTextStream &args); + void setOwnAircraftPositionCmd(QTextStream &args); + void setOwnAircraftSituationCmd(QTextStream &args); + void setOwnAircraftCockpitCmd(QTextStream &args); + void sendPingCmd(QTextStream &args); + void sendMetarQueryCmd(QTextStream &args); + void sendCustomPacketCmd(QTextStream &args); -public slots: //to receive from INetwork - void atcPositionUpdate(const BlackMisc::Aviation::CCallsign &callsign, const BlackMisc::PhysicalQuantities::CFrequency &freq, - const BlackMisc::Geo::CCoordinateGeodetic &pos, const BlackMisc::PhysicalQuantities::CLength &range); - void atcDisconnected(const BlackMisc::Aviation::CCallsign &callsign); - void connectionStatusChanged(BlackCore::INetwork::ConnectionStatus oldStatus, BlackCore::INetwork::ConnectionStatus newStatus); - void ipReplyReceived(const QString &ip); - void freqReplyReceived(const BlackMisc::Aviation::CCallsign &callsign, const BlackMisc::PhysicalQuantities::CFrequency &freq); - void serverReplyReceived(const BlackMisc::Aviation::CCallsign &callsign, const QString &server); - void atcReplyReceived(const BlackMisc::Aviation::CCallsign &callsign, bool isATC); - void atisReplyReceived(const BlackMisc::Aviation::CCallsign &callsign, const BlackMisc::Aviation::CInformationMessage &atis); - void realNameReplyReceived(const BlackMisc::Aviation::CCallsign &callsign, const QString &realname); - void capabilitiesReplyReceived(const BlackMisc::Aviation::CCallsign &callsign, quint32 flags); - void kicked(const QString &msg); - void metarReplyReceived(const QString &data); - void flightPlanReplyReceived(const BlackMisc::Aviation::CCallsign &callsign, const BlackMisc::Aviation::CFlightPlan &flightPlan); - void pilotDisconnected(const BlackMisc::Aviation::CCallsign &callsign); - void icaoCodesReplyReceived(const BlackMisc::Aviation::CCallsign &callsign, const QString &aircraftIcaoDesignator, const QString &airlineIcaoDesignator, const QString &livery); - void pongReceived(const BlackMisc::Aviation::CCallsign &callsign, const BlackMisc::PhysicalQuantities::CTime &elapsedTime); - void textMessagesReceived(const BlackMisc::Network::CTextMessageList &messages); - void customPacketReceived(const BlackMisc::Aviation::CCallsign &callsign, const QString &packetId, const QStringList &data); + signals: //to send to INetwork + void presetServer(const BlackMisc::Network::CServer &server); + void presetCallsign(const BlackMisc::Aviation::CCallsign &callsign); + void presetRealName(const QString &name); + void presetIcaoCodes(const BlackMisc::Simulation::CSimulatedAircraft &aircraft); + void presetLoginMode(BlackCore::INetwork::LoginMode mode); + void initiateConnection(); + void terminateConnection(); + void sendTextMessages(const BlackMisc::Network::CTextMessageList &textMessages); + void sendRadioTextMessage(const QVector &freqs, const QString &msg); + void sendIpQuery(); + void sendFreqQuery(const BlackMisc::Aviation::CCallsign &callsign); + void sendServerQuery(const BlackMisc::Aviation::CCallsign &callsign); + void sendAtcQuery(const BlackMisc::Aviation::CCallsign &callsign); + void sendAtisQuery(const BlackMisc::Aviation::CCallsign &callsign); + void sendFlightPlan(const BlackMisc::Aviation::CFlightPlan &fp); + void sendFlightPlanQuery(const BlackMisc::Aviation::CCallsign &callsign); + void sendRealNameQuery(const BlackMisc::Aviation::CCallsign &callsign); + void sendCapabilitiesQuery(const BlackMisc::Aviation::CCallsign &callsign); + void sendIcaoCodesQuery(const BlackMisc::Aviation::CCallsign &callsign); + void setOwnAircraftCockpit(const BlackMisc::Aviation::CComSystem &com1, const BlackMisc::Aviation::CComSystem &com2, + const BlackMisc::Aviation::CTransponder &xpdr, const QString &originator); + void sendPing(const BlackMisc::Aviation::CCallsign &callsign); + void sendMetarQuery(const QString &airportICAO); + void sendCustomPacket(const BlackMisc::Aviation::CCallsign &callsign, const QString &packetId, const QStringList &data); -private: - QMap> m_commands; - BlackCore::INetwork *m_net; -}; + public slots: //to receive from INetwork + void atcPositionUpdate(const BlackMisc::Aviation::CCallsign &callsign, const BlackMisc::PhysicalQuantities::CFrequency &freq, + const BlackMisc::Geo::CCoordinateGeodetic &pos, const BlackMisc::PhysicalQuantities::CLength &range); + void atcDisconnected(const BlackMisc::Aviation::CCallsign &callsign); + void connectionStatusChanged(BlackCore::INetwork::ConnectionStatus oldStatus, BlackCore::INetwork::ConnectionStatus newStatus); + void ipReplyReceived(const QString &ip); + void freqReplyReceived(const BlackMisc::Aviation::CCallsign &callsign, const BlackMisc::PhysicalQuantities::CFrequency &freq); + void serverReplyReceived(const BlackMisc::Aviation::CCallsign &callsign, const QString &server); + void atcReplyReceived(const BlackMisc::Aviation::CCallsign &callsign, bool isATC); + void atisReplyReceived(const BlackMisc::Aviation::CCallsign &callsign, const BlackMisc::Aviation::CInformationMessage &atis); + void realNameReplyReceived(const BlackMisc::Aviation::CCallsign &callsign, const QString &realname); + void capabilitiesReplyReceived(const BlackMisc::Aviation::CCallsign &callsign, quint32 flags); + void kicked(const QString &msg); + void metarReplyReceived(const QString &data); + void flightPlanReplyReceived(const BlackMisc::Aviation::CCallsign &callsign, const BlackMisc::Aviation::CFlightPlan &flightPlan); + void pilotDisconnected(const BlackMisc::Aviation::CCallsign &callsign); + void icaoCodesReplyReceived(const BlackMisc::Aviation::CCallsign &callsign, const QString &aircraftIcaoDesignator, const QString &airlineIcaoDesignator, const QString &livery); + void pongReceived(const BlackMisc::Aviation::CCallsign &callsign, const BlackMisc::PhysicalQuantities::CTime &elapsedTime); + void textMessagesReceived(const BlackMisc::Network::CTextMessageList &messages); + void customPacketReceived(const BlackMisc::Aviation::CCallsign &callsign, const QString &packetId, const QStringList &data); + + private: + QMap> m_commands; + BlackCore::INetwork *m_net; + }; + +} // ns #endif // guard diff --git a/samples/cliclient/main.cpp b/samples/cliclient/main.cpp index d042b2263..89d6ef253 100644 --- a/samples/cliclient/main.cpp +++ b/samples/cliclient/main.cpp @@ -14,6 +14,8 @@ #include #include +using namespace BlackSample; + int main(int argc, char *argv[]) { QCoreApplication app (argc, argv); diff --git a/samples/cliclient/reader.cpp b/samples/cliclient/reader.cpp index c3c047afd..16e072442 100644 --- a/samples/cliclient/reader.cpp +++ b/samples/cliclient/reader.cpp @@ -10,16 +10,19 @@ #include "reader.h" #include -void LineReader::run() +namespace BlackSample { - QFile file; - file.open(stdin, QIODevice::ReadOnly | QIODevice::Text); - forever + void LineReader::run() { - QString line = file.readLine().trimmed(); - if (! line.isEmpty()) + QFile file; + file.open(stdin, QIODevice::ReadOnly | QIODevice::Text); + forever { - emit command(line); + QString line = file.readLine().trimmed(); + if (! line.isEmpty()) + { + emit command(line); + } } } } diff --git a/samples/cliclient/reader.h b/samples/cliclient/reader.h index 0c6b29f7e..987ee9d2d 100644 --- a/samples/cliclient/reader.h +++ b/samples/cliclient/reader.h @@ -9,24 +9,29 @@ //! \file -#ifndef __BLACKSAMPLE_CLI_CLIENT_READER_H__ -#define __BLACKSAMPLE_CLI_CLIENT_READER_H__ +#ifndef BLACKSAMPLE_CLICLIENT_LINEREADER_H +#define BLACKSAMPLE_CLICLIENT_LINEREADER_H #include #include -class LineReader : public QThread +namespace BlackSample { - Q_OBJECT -public: - LineReader() {} + class LineReader : public QThread + { + Q_OBJECT -protected: - void run(); + public: + LineReader() {} -signals: - void command(const QString &line); -}; + protected: + void run(); -#endif //__BLACKSAMPLE_CLI_CLIENT_READER_H__ + signals: + void command(const QString &line); + }; + +} // ns + +#endif // guard diff --git a/samples/weatherdata/reader.h b/samples/weatherdata/reader.h index ea7fb20e2..5de5f8f1c 100644 --- a/samples/weatherdata/reader.h +++ b/samples/weatherdata/reader.h @@ -9,8 +9,8 @@ //! \file -#ifndef BLACKSAMPLE_WEATERDATA_READER_H -#define BLACKSAMPLE_WEATERDATA_READER_H +#ifndef BLACKSAMPLE_WEATHERDATA_LINEREADER_H +#define BLACKSAMPLE_WEATHERDATA_LINEREADER_H #include "blackmisc/geo/latitude.h" #include "blackmisc/geo/longitude.h" @@ -40,4 +40,4 @@ signals: void quit(); }; -#endif +#endif // guard