pldm: Refactor DBusHandler interface

Add a static method to get the sdbusplus::bus in DBusHandler class and
instead of duplicate calls to sdbusplus::bus::new_default().

Signed-off-by: George Liu <liuxiwei@inspur.com>
Change-Id: I4a4ca84db7c301c9a82099de3b0361bbe9fa8c4c
diff --git a/libpldmresponder/bios.cpp b/libpldmresponder/bios.cpp
index 6776038..8b18333 100644
--- a/libpldmresponder/bios.cpp
+++ b/libpldmresponder/bios.cpp
@@ -124,22 +124,13 @@
     auto responsePtr = reinterpret_cast<pldm_msg*>(response.data());
     std::variant<EpochTimeUS> value;
 
-    auto bus = sdbusplus::bus::new_default();
     try
     {
-
-        auto service =
-            pldm::utils::getService(bus, hostTimePath, timeInterface);
-
-        auto method = bus.new_method_call(service.c_str(), hostTimePath,
-                                          dbusProperties, "Get");
-        method.append(timeInterface, "Elapsed");
-
-        auto reply = bus.call(method);
-        reply.read(value);
+        value = pldm::utils::DBusHandler()
+                    .getDbusProperty<std::variant<EpochTimeUS>>(
+                        hostTimePath, "Elapsed", timeInterface);
     }
-
-    catch (std::exception& e)
+    catch (const sdbusplus::exception::SdBusError& e)
     {
         std::cerr << "Error getting time, PATH=" << hostTimePath
                   << " TIME INTERACE=" << timeInterface << "\n";