From d3bb0daff7819c7fa33310fe4eab57b5b83dcc58 Mon Sep 17 00:00:00 2001
From: Tristan Matthews <tristan.matthews@savoirfairelinux.com>
Date: Mon, 23 Apr 2012 14:13:31 -0400
Subject: [PATCH] * #9911: simplify network manager state reporting

---
 daemon/src/dbus/networkmanager.cpp | 17 ++++++++++-------
 daemon/src/dbus/networkmanager.h   |  3 ---
 2 files changed, 10 insertions(+), 10 deletions(-)

diff --git a/daemon/src/dbus/networkmanager.cpp b/daemon/src/dbus/networkmanager.cpp
index ed9d6f45f9..3bbc15d004 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 69a83a104f..252ec739a4 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
 
-- 
GitLab