SetLan: Define the global network timer

As timer is being referred in the provider library
so it should be defined in per process(host-ipmid, net-ipmid)
context.

Defining the timer requires to pull the code of timer in this
repository so adding the timer class.

Change-Id: I4ea5f51fed03dd87d70868b0bc76ff1fb683931c
Signed-off-by: Ratan Gupta <ratagupt@in.ibm.com>
diff --git a/main.cpp b/main.cpp
index ef4a349..c74b1c8 100644
--- a/main.cpp
+++ b/main.cpp
@@ -20,6 +20,7 @@
 #include "provider_registration.hpp"
 #include "socket_channel.hpp"
 #include "sol_module.hpp"
+#include "timer.hpp"
 
 // Tuple of Global Singletons
 session::Manager manager;
@@ -32,6 +33,9 @@
 
 sd_bus* bus = nullptr;
 
+// Global timer for network changes
+std::unique_ptr<phosphor::ipmi::Timer> networkTimer = nullptr;
+
 FILE* ipmidbus = nullptr;
 unsigned short g_sel_reserve = 0xFFFF;
 sd_bus_slot* ipmid_slot = nullptr;