Add time Manager to handle property changes callback

1. Implement time::Manager who registers property change signal for time
mode and owner;
2. Add PropertyChangeListner interface to handle the callback;
3. Make EpochBase to implement the interface.

Change-Id: I185580ae37353e1ed82a47e4905fb22e269ac09d
Signed-off-by: Lei YU <mine260309@gmail.com>
diff --git a/main.cpp b/main.cpp
index b3f4b57..b8a5adb 100644
--- a/main.cpp
+++ b/main.cpp
@@ -3,13 +3,23 @@
 #include "config.h"
 #include "bmc_epoch.hpp"
 #include "host_epoch.hpp"
+#include "manager.hpp"
 
 int main()
 {
     auto bus = sdbusplus::bus::new_default();
+
+    // Add sdbusplus ObjectManager
+    sdbusplus::server::manager::manager bmcEpochObjManager(bus, OBJPATH_BMC);
+    sdbusplus::server::manager::manager hostEpochObjManager(bus, OBJPATH_HOST);
+
+    phosphor::time::Manager manager(bus);
     phosphor::time::BmcEpoch bmc(bus, OBJPATH_BMC);
     phosphor::time::HostEpoch host(bus,OBJPATH_HOST);
 
+    manager.addListener(&bmc);
+    manager.addListener(&host);
+
     bus.request_name(BUSNAME);
 
     while (true)