summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--cooling-type/cooling_type.cpp25
-rw-r--r--cooling-type/cooling_type.hpp3
-rw-r--r--cooling-type/main.cpp11
3 files changed, 18 insertions, 21 deletions
diff --git a/cooling-type/cooling_type.cpp b/cooling-type/cooling_type.cpp
index 3cb19ab..a1c4748 100644
--- a/cooling-type/cooling_type.cpp
+++ b/cooling-type/cooling_type.cpp
@@ -8,6 +8,7 @@
#include <libevdev/libevdev.h>
#include "utility.hpp"
#include "cooling_type.hpp"
+#include "sdbusplus.hpp"
namespace phosphor
{
@@ -94,27 +95,17 @@ CoolingType::ObjectMap CoolingType::getObjectMap(const std::string& objpath)
void CoolingType::updateInventory(const std::string& objpath)
{
- using namespace phosphor::logging;
+ using namespace phosphor::fan;
ObjectMap invObj = getObjectMap(objpath);
- std::string invService;
-
- invService = phosphor::fan::util::getInvService(bus);
-
// Update inventory
- auto invMsg = bus.new_method_call(invService.c_str(),
- INVENTORY_PATH,
- INVENTORY_INTF,
- "Notify");
- invMsg.append(std::move(invObj));
- auto invMgrResponseMsg = bus.call(invMsg);
- if (invMgrResponseMsg.is_method_error())
- {
- log<level::ERR>(
- "Error in inventory manager call to update inventory");
- elog<InternalFailure>();
- }
+ auto invMgrResponseMsg = util::SDBusPlus::lookupAndCallMethod(
+ bus,
+ util::INVENTORY_PATH,
+ util::INVENTORY_INTF,
+ "Notify",
+ std::move(invObj));
}
}
diff --git a/cooling-type/cooling_type.hpp b/cooling-type/cooling_type.hpp
index aa02bfa..88e1335 100644
--- a/cooling-type/cooling_type.hpp
+++ b/cooling-type/cooling_type.hpp
@@ -9,9 +9,6 @@ namespace cooling
namespace type
{
-constexpr auto INVENTORY_PATH = "/xyz/openbmc_project/inventory";
-constexpr auto INVENTORY_INTF = "xyz.openbmc_project.Inventory.Manager";
-
struct FreeEvDev
{
void operator()(struct libevdev* device) const
diff --git a/cooling-type/main.cpp b/cooling-type/main.cpp
index 288f1b9..f690f80 100644
--- a/cooling-type/main.cpp
+++ b/cooling-type/main.cpp
@@ -4,6 +4,7 @@
#include <phosphor-logging/log.hpp>
#include "argument.hpp"
#include "cooling_type.hpp"
+#include "sdbusplus.hpp"
using namespace phosphor::cooling::type;
using namespace phosphor::fan::util;
@@ -63,7 +64,15 @@ int main(int argc, char* argv[])
coolingType.updateInventory(objpath);
rc = 0;
}
-
+ catch (DBusMethodError& dme)
+ {
+ rc = -1;
+ log<level::ERR>("Uncaught DBus method failure exception",
+ entry("BUSNAME=%s", dme.busName.c_str()),
+ entry("PATH=%s", dme.path.c_str()),
+ entry("INTERFACE=%s", dme.interface.c_str()),
+ entry("METHOD=%s", dme.method.c_str()));
+ }
catch (std::exception& err)
{
rc = -1;
OpenPOWER on IntegriCloud