network_manager: Add reload hooking

This changes no functionality currently, but it makes it possible to
defer actions until just before the systemd reload would occur.

Change-Id: I434b83fe5ad8b2596de162b6a74eefcba4ecc71a
Signed-off-by: William A. Kennington III <wak@google.com>
diff --git a/src/network_manager.cpp b/src/network_manager.cpp
index 8b4c5c2..b8fcaab 100644
--- a/src/network_manager.cpp
+++ b/src/network_manager.cpp
@@ -255,6 +255,19 @@
 
 void Manager::reloadConfigs()
 {
+    for (auto& hook : reloadPreHooks)
+    {
+        try
+        {
+            hook();
+        }
+        catch (const std::exception& ex)
+        {
+            log<level::ERR>("Failed executing reload hook, ignoring",
+                            entry("ERR=%s", ex.what()));
+        }
+    }
+    reloadPreHooks.clear();
     try
     {
         auto method = bus.new_method_call(NETWORKD_BUSNAME, NETWORKD_PATH,