Implement generic restart systemd unit function

Change-Id: Ibd0ec4e7c3b9c395898673839ccf4de85616b201
Signed-off-by: Ratan Gupta <ratagupt@in.ibm.com>
diff --git a/network_manager.cpp b/network_manager.cpp
index 0607b0e..1612f6d 100644
--- a/network_manager.cpp
+++ b/network_manager.cpp
@@ -218,23 +218,7 @@
 
         stream.close();
     }
-    restartSystemdNetworkd();
-}
-
-void  Manager::restartSystemdNetworkd()
-{
-    constexpr auto systemdNetworkdService = "systemd-networkd.service";
-
-    auto method = bus.new_method_call(
-                      SYSTEMD_BUSNAME,
-                      SYSTEMD_PATH,
-                      SYSTEMD_INTERFACE,
-                      "RestartUnit");
-
-    method.append(systemdNetworkdService,
-                  "replace");
-
-    bus.call_noreply(method);
+    restartSystemdUnit("systemd-networkd.service");
 }
 
 bool Manager::getDHCPValue(const std::string& intf)
diff --git a/network_manager.hpp b/network_manager.hpp
index ce61737..1854364 100644
--- a/network_manager.hpp
+++ b/network_manager.hpp
@@ -75,10 +75,6 @@
 
     private:
 
-        /** @brief Restart the systemd networkd
-         */
-        void restartSystemdNetworkd();
-
         /** @brief Persistent sdbusplus DBus bus connection. */
         sdbusplus::bus::bus& bus;
 
diff --git a/util.cpp b/util.cpp
index 3c411cb..64a913c 100644
--- a/util.cpp
+++ b/util.cpp
@@ -1,4 +1,5 @@
 #include "util.hpp"
+
 #include "xyz/openbmc_project/Common/error.hpp"
 
 #include <phosphor-logging/log.hpp>
diff --git a/util.hpp b/util.hpp
index 6f27af9..3434aca 100644
--- a/util.hpp
+++ b/util.hpp
@@ -1,7 +1,10 @@
 #pragma once
 
 #include <unistd.h>
+
+#include "config.h"
 #include "types.hpp"
+#include <sdbusplus/bus.hpp>
 
 namespace phosphor
 {
@@ -42,6 +45,24 @@
  */
 IntfAddrMap getInterfaceAddrs();
 
+/** @brief Restart the systemd unit
+ *  @param[in] unit - systemd unit name which needs to be
+ *                    restarted.
+ */
+inline void restartSystemdUnit(const std::string& unit)
+{
+    auto bus = sdbusplus::bus::new_default();
+    auto method = bus.new_method_call(
+                      SYSTEMD_BUSNAME,
+                      SYSTEMD_PATH,
+                      SYSTEMD_INTERFACE,
+                      "RestartUnit");
+
+    method.append(unit, "replace");
+    bus.call_noreply(method);
+
+}
+
 } //namespace network
 
 class Descriptor