summaryrefslogtreecommitdiffstats
path: root/dcmihandler.cpp
diff options
context:
space:
mode:
authorKirill Pakhomov <k.pakhomov@yadro.com>2018-11-02 19:00:18 +0300
committerVernon Mauery <vernon.mauery@linux.intel.com>2019-02-12 21:07:11 +0000
commita257362278c2a92676f7ef8b774d2dc3fb382fb2 (patch)
tree4418d66d7ff4f7d141885bcc7946122adf86c053 /dcmihandler.cpp
parent4b0ddb68b4e76420358589213bc400155fa12e43 (diff)
downloadphosphor-host-ipmid-a257362278c2a92676f7ef8b774d2dc3fb382fb2.tar.gz
phosphor-host-ipmid-a257362278c2a92676f7ef8b774d2dc3fb382fb2.zip
dcmihandler: Add parameterization to JSON parser method.
Pass JSON config file name as a parameter to make parser re-usable with various config files. Change-Id: I5bf1e91121e0e75be58383151f265b32f39a5b60 Signed-off-by: Kirill Pakhomov <k.pakhomov@yadro.com>
Diffstat (limited to 'dcmihandler.cpp')
-rw-r--r--dcmihandler.cpp12
1 files changed, 5 insertions, 7 deletions
diff --git a/dcmihandler.cpp b/dcmihandler.cpp
index 1c448ce..7a4db9f 100644
--- a/dcmihandler.cpp
+++ b/dcmihandler.cpp
@@ -50,8 +50,6 @@ constexpr auto DHCP_TIMING3_LOWER = 0x40;
// SendHostNameEnabled will set to true.
constexpr auto DHCP_OPT12_ENABLED = "SendHostNameEnabled";
-constexpr auto DCMI_CAP_JSON_FILE = "/usr/share/ipmi-providers/dcmi_cap.json";
-
constexpr auto SENSOR_VALUE_INTF = "xyz.openbmc_project.Sensor.Value";
constexpr auto SENSOR_VALUE_PROP = "Value";
constexpr auto SENSOR_SCALE_PROP = "Scale";
@@ -275,7 +273,7 @@ void setDHCPOption(std::string prop, bool value)
ipmi::setDbusProperty(bus, service, dhcpObj, dhcpIntf, prop, value);
}
-Json parseSensorConfig()
+Json parseJSONConfig(const std::string& configFile)
{
std::ifstream jsonFile(configFile);
if (!jsonFile.is_open())
@@ -717,7 +715,7 @@ ipmi_ret_t getDCMICapabilities(ipmi_netfn_t netfn, ipmi_cmd_t cmd,
ipmi_data_len_t data_len, ipmi_context_t context)
{
- std::ifstream dcmiCapFile(DCMI_CAP_JSON_FILE);
+ std::ifstream dcmiCapFile(dcmi::gDCMICapabilitiesConfig);
if (!dcmiCapFile.is_open())
{
log<level::ERR>("DCMI Capabilities file not found");
@@ -838,7 +836,7 @@ std::tuple<Response, NumInstances> read(const std::string& type,
elog<InternalFailure>();
}
- auto data = parseSensorConfig();
+ auto data = parseJSONConfig(gDCMISensorsConfig);
static const std::vector<Json> empty{};
std::vector<Json> readings = data.value(type, empty);
size_t numInstances = readings.size();
@@ -889,7 +887,7 @@ std::tuple<ResponseList, NumInstances> readAll(const std::string& type,
sdbusplus::bus::bus bus{ipmid_get_sd_bus_connection()};
size_t numInstances = 0;
- auto data = parseSensorConfig();
+ auto data = parseJSONConfig(gDCMISensorsConfig);
static const std::vector<Json> empty{};
std::vector<Json> readings = data.value(type, empty);
numInstances = readings.size();
@@ -1410,7 +1408,7 @@ ipmi_ret_t getSensorInfo(ipmi_netfn_t netfn, ipmi_cmd_t cmd,
{
if (!parsed)
{
- config = dcmi::parseSensorConfig();
+ config = dcmi::parseJSONConfig(dcmi::gDCMISensorsConfig);
parsed = true;
}
OpenPOWER on IntegriCloud