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>
diff --git a/dcmihandler.cpp b/dcmihandler.cpp
index 1c448ce..7a4db9f 100644
--- a/dcmihandler.cpp
+++ b/dcmihandler.cpp
@@ -50,8 +50,6 @@
 // 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 @@
     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_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 @@
         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 @@
     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 @@
     {
         if (!parsed)
         {
-            config = dcmi::parseSensorConfig();
+            config = dcmi::parseJSONConfig(dcmi::gDCMISensorsConfig);
             parsed = true;
         }