From 776a09616871ad2e36a564338297905c32060ce3 Mon Sep 17 00:00:00 2001 From: Klaus Basan Date: Mon, 28 May 2018 12:12:06 +0200 Subject: [PATCH] Ref T272, network can add as ECO system provider (the server connected knows its ECO system) --- src/blackcore/network.h | 7 +++++-- src/blackcore/vatsim/networkvatlib.cpp | 3 +++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/blackcore/network.h b/src/blackcore/network.h index a2504f40a..3a8e5620e 100644 --- a/src/blackcore/network.h +++ b/src/blackcore/network.h @@ -20,6 +20,7 @@ #include "blackmisc/network/rawfsdmessage.h" #include "blackmisc/network/serverlist.h" #include "blackmisc/network/clientprovider.h" +#include "blackmisc/network/ecosystemprovider.h" #include "blackmisc/network/clientlist.h" #include "blackmisc/network/textmessagelist.h" #include "blackmisc/aviation/informationmessage.h" @@ -59,11 +60,13 @@ namespace BlackCore */ class BLACKCORE_EXPORT INetwork : public QObject, - public BlackMisc::Network::CClientAware, // network vatlib consumes own aircraft data and sets ICAO/callsign data - public BlackMisc::Simulation::COwnAircraftAware, // network vatlib consumes own aircraft data and sets ICAO/callsign data + public BlackMisc::Network::IEcosystemProvider, // provide info about used ecosystem + public BlackMisc::Network::CClientAware, // network can set client information + public BlackMisc::Simulation::COwnAircraftAware, // network vatlib consumes own aircraft data and sets ICAO/callsign data public BlackMisc::Simulation::CSimulationEnvironmentAware // allows to consume ground elevations { Q_OBJECT + Q_INTERFACES(BlackMisc::Network::IEcosystemProvider) protected: //! Constructor diff --git a/src/blackcore/vatsim/networkvatlib.cpp b/src/blackcore/vatsim/networkvatlib.cpp index 9e1924ab5..393313379 100644 --- a/src/blackcore/vatsim/networkvatlib.cpp +++ b/src/blackcore/vatsim/networkvatlib.cpp @@ -277,6 +277,7 @@ namespace BlackCore if (m_status == vatStatusConnected) { m_server.setConnectedSinceNow(); + this->setCurrentEcosystem(m_server.getEcosystem()); } else { @@ -287,6 +288,8 @@ namespace BlackCore { this->stopPositionTimers(); this->clearState(); + this->setLastEcosystem(m_server.getEcosystem()); + this->setCurrentEcosystem(CEcosystem::NoSystem); } emit this->connectionStatusChanged(convertConnectionStatus(status), convertConnectionStatus(m_status));