diff --git a/src/blackcore/context/contextnetwork.h b/src/blackcore/context/contextnetwork.h index 2c330b176..4c113f11c 100644 --- a/src/blackcore/context/contextnetwork.h +++ b/src/blackcore/context/contextnetwork.h @@ -242,7 +242,11 @@ namespace BlackCore //! Connect to Network //! \return messages generated during connecting - virtual BlackMisc::CStatusMessage connectToNetwork(const BlackMisc::Network::CServer &server, BlackCore::INetwork::LoginMode loginMode) = 0; + virtual BlackMisc::CStatusMessage connectToNetwork( + const BlackMisc::Network::CServer &server, + const QString &extraLiveryString, bool sendLivery, + const QString &extraModelString, bool sendModelString, + BlackCore::INetwork::LoginMode loginMode) = 0; //! Server which is connected, if not connected empty default object. virtual BlackMisc::Network::CServer getConnectedServer() const = 0; diff --git a/src/blackcore/context/contextnetworkempty.h b/src/blackcore/context/contextnetworkempty.h index 839716923..564870740 100644 --- a/src/blackcore/context/contextnetworkempty.h +++ b/src/blackcore/context/contextnetworkempty.h @@ -124,10 +124,14 @@ namespace BlackCore } //! \copydoc IContextNetwork::connectToNetwork - virtual BlackMisc::CStatusMessage connectToNetwork(const BlackMisc::Network::CServer &server, BlackCore::INetwork::LoginMode mode) override + virtual BlackMisc::CStatusMessage connectToNetwork(const BlackMisc::Network::CServer &server, const QString &extraLiveryString, bool sendLivery, const QString &extraModelString, bool sendModelString, BlackCore::INetwork::LoginMode mode) override { Q_UNUSED(mode); Q_UNUSED(server); + Q_UNUSED(extraModelString); + Q_UNUSED(extraLiveryString); + Q_UNUSED(sendLivery); + Q_UNUSED(sendModelString); logEmptyContextWarning(Q_FUNC_INFO); return statusMessageEmptyContext(); } diff --git a/src/blackcore/context/contextnetworkimpl.cpp b/src/blackcore/context/contextnetworkimpl.cpp index 5e347c332..be3b219cb 100644 --- a/src/blackcore/context/contextnetworkimpl.cpp +++ b/src/blackcore/context/contextnetworkimpl.cpp @@ -211,7 +211,7 @@ namespace BlackCore if (m_airspace) { m_airspace->gracefulShutdown(); } } - CStatusMessage CContextNetwork::connectToNetwork(const CServer &server, INetwork::LoginMode mode) + CStatusMessage CContextNetwork::connectToNetwork(const CServer &server, const QString &extraLiveryString, bool sendLivery, const QString &extraModelString, bool sendModelString, INetwork::LoginMode mode) { if (this->isDebugEnabled()) { CLogMessage(this, CLogCategory::contextSlot()).debug() << Q_FUNC_INFO; } QString msg; @@ -233,10 +233,14 @@ namespace BlackCore mode = INetwork::LoginAsObserver; } + const QString l = extraLiveryString.isEmpty() ? ownAircraft.getModel().getSwiftLiveryString() : extraLiveryString; + const QString m = extraModelString.isEmpty() ? ownAircraft.getModelString() : extraModelString; + m_currentMode = mode; m_network->presetLoginMode(mode); m_network->presetCallsign(ownAircraft.getCallsign()); m_network->presetIcaoCodes(ownAircraft); + m_network->presetLiveryAndModelString(l, sendLivery, m, sendModelString); const CSimulatorPluginInfo sim = this->getIContextSimulator() ? this->getIContextSimulator()->getSimulatorPluginInfo() : CSimulatorPluginInfo(); m_network->presetSimulatorInfo(sim); diff --git a/src/blackcore/context/contextnetworkimpl.h b/src/blackcore/context/contextnetworkimpl.h index be04b24d4..b6eb04e7d 100644 --- a/src/blackcore/context/contextnetworkimpl.h +++ b/src/blackcore/context/contextnetworkimpl.h @@ -251,7 +251,7 @@ namespace BlackCore virtual BlackMisc::Aviation::CAtcStation getOnlineStationForCallsign(const BlackMisc::Aviation::CCallsign &callsign) const override; virtual BlackMisc::Aviation::CAtcStationList getOnlineStationsForFrequency(const BlackMisc::PhysicalQuantities::CFrequency &frequency, BlackMisc::Aviation::CComSystem::ChannelSpacing channelSpacing) const override; virtual bool isOnlineStation(const BlackMisc::Aviation::CCallsign &callsign) const override; - virtual BlackMisc::CStatusMessage connectToNetwork(const BlackMisc::Network::CServer &server, BlackCore::INetwork::LoginMode mode) override; + virtual BlackMisc::CStatusMessage connectToNetwork(const BlackMisc::Network::CServer &server, const QString &extraLiveryString, bool sendLivery, const QString &extraModelString, bool sendModelString, BlackCore::INetwork::LoginMode mode) override; virtual BlackMisc::Network::CServer getConnectedServer() const override; virtual INetwork::LoginMode getLoginMode() const override; virtual BlackMisc::CStatusMessage disconnectFromNetwork() override; diff --git a/src/blackcore/context/contextnetworkproxy.cpp b/src/blackcore/context/contextnetworkproxy.cpp index 9a502e09f..5f9ea5f54 100644 --- a/src/blackcore/context/contextnetworkproxy.cpp +++ b/src/blackcore/context/contextnetworkproxy.cpp @@ -348,9 +348,9 @@ namespace BlackCore return m_dBusInterface->callDBusRet(QLatin1String("testAddAltitudeOffset"), callsign, offset); } - CStatusMessage CContextNetworkProxy::connectToNetwork(const CServer &server, INetwork::LoginMode loginMode) + CStatusMessage CContextNetworkProxy::connectToNetwork(const CServer &server, const QString &extraLiveryString, bool sendLiveryString, const QString &extraModelString, bool sendModelString, INetwork::LoginMode loginMode) { - return m_dBusInterface->callDBusRet(QLatin1String("connectToNetwork"), server, loginMode); + return m_dBusInterface->callDBusRet(QLatin1String("connectToNetwork"), server, extraLiveryString, sendLiveryString, extraModelString, sendModelString, loginMode); } CStatusMessage CContextNetworkProxy::disconnectFromNetwork() diff --git a/src/blackcore/context/contextnetworkproxy.h b/src/blackcore/context/contextnetworkproxy.h index 2cf2fd2e0..961e95654 100644 --- a/src/blackcore/context/contextnetworkproxy.h +++ b/src/blackcore/context/contextnetworkproxy.h @@ -88,7 +88,7 @@ namespace BlackCore virtual BlackMisc::Aviation::CAtcStationList getOnlineStationsForFrequency(const BlackMisc::PhysicalQuantities::CFrequency &frequency, BlackMisc::Aviation::CComSystem::ChannelSpacing channelSpacing) const override; virtual BlackMisc::Aviation::CAtcStation getOnlineStationForCallsign(const BlackMisc::Aviation::CCallsign &callsign) const override; virtual bool isOnlineStation(const BlackMisc::Aviation::CCallsign &callsign) const override; - virtual BlackMisc::CStatusMessage connectToNetwork(const BlackMisc::Network::CServer &server, BlackCore::INetwork::LoginMode mode) override; + virtual BlackMisc::CStatusMessage connectToNetwork(const BlackMisc::Network::CServer &server, const QString &extraLiveryString, bool sendLivery, const QString &extraModelString, bool sendModelString, BlackCore::INetwork::LoginMode mode) override; virtual BlackMisc::CStatusMessage disconnectFromNetwork() override; virtual bool isConnected() const override; virtual BlackMisc::Network::CServer getConnectedServer() const override;