summaryrefslogtreecommitdiffstats
path: root/utils.cpp
diff options
context:
space:
mode:
authorTom Joseph <tomjoseph@in.ibm.com>2017-03-09 12:34:35 +0530
committerTom Joseph <tomjoseph@in.ibm.com>2017-03-15 16:14:58 +0530
commitbe703f71a3048c72ed567c397cd7caaf5f3d1bcf (patch)
tree407801458f8f36a03353564934ece9da909caa42 /utils.cpp
parent28c2e7350a7d22a8314598101085b04f2b1ba274 (diff)
downloadphosphor-host-ipmid-be703f71a3048c72ed567c397cd7caaf5f3d1bcf.tar.gz
phosphor-host-ipmid-be703f71a3048c72ed567c397cd7caaf5f3d1bcf.zip
Modify set sensor reading command
The Set Sensor handling code is modified to use generated code for CPU, Core & DIMM sensors with Presence & Functional offset. Change-Id: I3b7fa4da870b745873da4732d457d793f5549ada Signed-off-by: Tom Joseph <tomjoseph@in.ibm.com>
Diffstat (limited to 'utils.cpp')
-rw-r--r--utils.cpp38
1 files changed, 38 insertions, 0 deletions
diff --git a/utils.cpp b/utils.cpp
new file mode 100644
index 0000000..1823819
--- /dev/null
+++ b/utils.cpp
@@ -0,0 +1,38 @@
+#include "utils.hpp"
+
+namespace ipmi
+{
+
+std::string getService(sdbusplus::bus::bus& bus,
+ const std::string& intf,
+ const std::string& path)
+{
+ auto mapperCall = bus.new_method_call("xyz.openbmc_project.ObjectMapper",
+ "/xyz/openbmc_project/ObjectMapper",
+ "xyz.openbmc_project.ObjectMapper",
+ "GetObject");
+
+ mapperCall.append(path);
+ mapperCall.append(std::vector<std::string>({intf}));
+
+ auto mapperResponseMsg = bus.call(mapperCall);
+
+ if (mapperResponseMsg.is_method_error())
+ {
+ throw std::runtime_error("ERROR in mapper call");
+ }
+
+ std::map<std::string, std::vector<std::string>> mapperResponse;
+ mapperResponseMsg.read(mapperResponse);
+
+ if (mapperResponse.begin() == mapperResponse.end())
+ {
+ throw std::runtime_error("ERROR in reading the mapper response");
+ }
+
+ return mapperResponse.begin()->first;
+}
+
+} // namespace ipmi
+
+
OpenPOWER on IntegriCloud