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";