diff --git a/src/blackcore/context/contextnetwork.h b/src/blackcore/context/contextnetwork.h index 4dd831bc2..f53aabe44 100644 --- a/src/blackcore/context/contextnetwork.h +++ b/src/blackcore/context/contextnetwork.h @@ -254,6 +254,9 @@ namespace BlackCore //! Login mode virtual INetwork::LoginMode getLoginMode() const = 0; + //! Mode as string + const QString &getLoginModeAsString() const { return INetwork::modeAsString(this->getLoginMode()); } + //! Disconnect from network //! \return messages generated during disconnecting virtual BlackMisc::CStatusMessage disconnectFromNetwork() = 0; diff --git a/src/blackcore/network.cpp b/src/blackcore/network.cpp index 88182d191..65612d855 100644 --- a/src/blackcore/network.cpp +++ b/src/blackcore/network.cpp @@ -39,6 +39,23 @@ namespace BlackCore INetwork::~INetwork() { } + const QString &INetwork::modeAsString(INetwork::LoginMode mode) + { + static const QString n("normal"); + static const QString o("observer"); + static const QString s("stealth"); + + switch (mode) + { + case LoginNormal: return n; + case LoginAsObserver: return o; + case LoginStealth: return s; + default: break; + } + static const QString unknown("????"); + return unknown; + } + int INetwork::increaseStatisticsValue(const QString &identifier, const QString &appendix) { if (identifier.isEmpty() || !m_statistics) { return -1; } diff --git a/src/blackcore/network.h b/src/blackcore/network.h index aec14eb30..555c18fcc 100644 --- a/src/blackcore/network.h +++ b/src/blackcore/network.h @@ -93,6 +93,9 @@ namespace BlackCore LoginStealth //!< Login stealth mode }; + //! Mode as string + static const QString &modeAsString(LoginMode mode); + //! Status of the connection. enum ConnectionStatus {