diff options
author | Tom Joseph <tomjoseph@in.ibm.com> | 2017-03-09 12:34:35 +0530 |
---|---|---|
committer | Tom Joseph <tomjoseph@in.ibm.com> | 2017-03-15 16:14:58 +0530 |
commit | be703f71a3048c72ed567c397cd7caaf5f3d1bcf (patch) | |
tree | 407801458f8f36a03353564934ece9da909caa42 /utils.cpp | |
parent | 28c2e7350a7d22a8314598101085b04f2b1ba274 (diff) | |
download | phosphor-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.cpp | 38 |
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 + + |