Implement generic restart systemd unit function

Change-Id: Ibd0ec4e7c3b9c395898673839ccf4de85616b201
Signed-off-by: Ratan Gupta <ratagupt@in.ibm.com>
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