diff --git a/daemon/src/dbus/networkmanager.cpp b/daemon/src/dbus/networkmanager.cpp index ed9d6f45f950588fb2c61720d5e5331ccf395712..3bbc15d0043b449f4b2f62c3206beb481b8ac40c 100644 --- a/daemon/src/dbus/networkmanager.cpp +++ b/daemon/src/dbus/networkmanager.cpp @@ -30,20 +30,23 @@ #include "networkmanager.h" #include "../manager.h" +#include "array_size.h" #include "logger.h" -const std::string NetworkManager::statesString[] = {"unknown", "asleep", - "connecting", "connected", - "disconnected", "unknown",}; +namespace { + const char *stateAsString(uint32_t state) + { + static const char * STATES[] = {"unknown", "asleep", "connecting", + "connected", "disconnected"}; -std::string NetworkManager::stateAsString(const uint32_t &state) -{ - return statesString[state < 6 ? state : 5]; + const size_t idx = state < ARRAYSIZE(STATES) ? state : 0; + return STATES[idx]; + } } void NetworkManager::StateChanged(const uint32_t &state) { - WARN("Network state changed: %s", stateAsString(state).c_str()); + WARN("Network state changed: %s", stateAsString(state)); } void NetworkManager::PropertiesChanged(const std::map<std::string, ::DBus::Variant> &argin0) diff --git a/daemon/src/dbus/networkmanager.h b/daemon/src/dbus/networkmanager.h index 69a83a104f0f1692f876b732fd510e44370a9427..252ec739a46be807b4b0d80a729bcba48a0808b9 100644 --- a/daemon/src/dbus/networkmanager.h +++ b/daemon/src/dbus/networkmanager.h @@ -45,7 +45,6 @@ class NetworkManager : public org::freedesktop::NetworkManager_proxy, NetworkManager(DBus::Connection &, const DBus::Path &, const char*); void StateChanged(const uint32_t &state); void PropertiesChanged(const std::map<std::string, ::DBus::Variant> &argin0); - std::string stateAsString(const uint32_t &state); private: enum NMState { @@ -55,8 +54,6 @@ class NetworkManager : public org::freedesktop::NetworkManager_proxy, NM_STATE_CONNECTED, NM_STATE_DISCONNECTED }; - - static const std::string statesString[]; }; #endif