Return const &

This commit is contained in:
Klaus Basan
2018-06-27 01:12:16 +02:00
parent 7a4f723fc0
commit c1208dd68c
4 changed files with 14 additions and 5 deletions

View File

@@ -1027,12 +1027,18 @@ namespace BlackCore
return m_network && m_network->isConnected();
}
const CServer CAirspaceMonitor::getConnectedServer() const
const CServer &CAirspaceMonitor::getConnectedServer() const
{
if (!this->isConnected()) { return CServer(); }
static const CServer empty;
if (!this->isConnected()) { return empty; }
return m_network->getPresetServer();
}
const CEcosystem &CAirspaceMonitor::getCurrentEcosystem() const
{
return this->getConnectedServer().getEcosystem();
}
bool CAirspaceMonitor::supportsVatsimDataFile() const
{
const bool dataFile = sApp && sApp->getWebDataServices() && sApp->getWebDataServices()->getVatsimDataFileReader();

View File

@@ -195,7 +195,10 @@ namespace BlackCore
bool isConnected() const;
//! Get the currently connected server
const BlackMisc::Network::CServer getConnectedServer() const;
const BlackMisc::Network::CServer &getConnectedServer() const;
//! Current ECO system of connected server
const BlackMisc::Network::CEcosystem &getCurrentEcosystem() const;
//! Supports VATSIM data file
//! \remark depends on currently connected Ecosystem

View File

@@ -160,7 +160,7 @@ namespace BlackCore
/*!
* Get preset server.
*/
virtual BlackMisc::Network::CServer getPresetServer() const = 0;
virtual const BlackMisc::Network::CServer &getPresetServer() const = 0;
/*!
* Returns true if the current ConnectionStatus is in transition, e.g. connecting.

View File

@@ -79,7 +79,7 @@ namespace BlackCore
//! \name Network functions
//! @{
virtual bool isConnected() const override { return m_status == vatStatusConnected; }
virtual BlackMisc::Network::CServer getPresetServer() const override { return m_server; }
virtual const BlackMisc::Network::CServer &getPresetServer() const override { return m_server; }
virtual bool isPendingConnection() const override { return m_status == vatStatusConnecting; }
virtual void presetLoginMode(LoginMode mode) override;
virtual void presetServer(const BlackMisc::Network::CServer &server) override;