Modify interfaces to match upstream
A dump of witherspoons inventory was done and many
inconsistancies were noticed, try to match as best as
possible. Also autoformat json.
Dump of data can be seen here: https://pastebin.com/NiC7kSMS
Change-Id: I1a99b426d84fdcd9231d1fbda0ed85ad748779f3
Signed-off-by: James Feist <james.feist@linux.intel.com>
diff --git a/configurations/1Ux16 Riser.json b/configurations/1Ux16 Riser.json
index 1669436..b9f766d 100644
--- a/configurations/1Ux16 Riser.json
+++ b/configurations/1Ux16 Riser.json
@@ -47,7 +47,13 @@
}
],
"name": "1Ux16 Riser 1",
- "probe": "xyz.openbmc_project.FruDevice({'BOARD_PRODUCT_NAME': 'F1UL16RISER\\d', 'ADDRESS' : '0x50'})"
+ "probe": "xyz.openbmc_project.FruDevice({'BOARD_PRODUCT_NAME': 'F1UL16RISER\\d', 'ADDRESS' : '0x50'})",
+ "xyz.openbmc_project.Inventory.Decorator.Asset": {
+ "Manufacturer": "$BOARD_MANUFACTURER",
+ "Model": "$BOARD_PRODUCT_NAME",
+ "PartNumber": "$BOARD_PART_NUMBER",
+ "SerialNumber": "$BOARD_SERIAL_NUMBER"
+ }
},
{
"exposes": [
@@ -97,6 +103,12 @@
}
],
"name": "1Ux16 Riser 2",
- "probe": "xyz.openbmc_project.FruDevice({'BOARD_PRODUCT_NAME': 'F1UL16RISER\\d', 'ADDRESS' : '0x51'})"
+ "probe": "xyz.openbmc_project.FruDevice({'BOARD_PRODUCT_NAME': 'F1UL16RISER\\d', 'ADDRESS' : '0x51'})",
+ "xyz.openbmc_project.Inventory.Decorator.Asset": {
+ "Manufacturer": "$BOARD_MANUFACTURER",
+ "Model": "$BOARD_PRODUCT_NAME",
+ "PartNumber": "$BOARD_PART_NUMBER",
+ "SerialNumber": "$BOARD_SERIAL_NUMBER"
+ }
}
]
\ No newline at end of file
diff --git a/configurations/2Ux8 Riser.json b/configurations/2Ux8 Riser.json
index 4b613d1..e861607 100644
--- a/configurations/2Ux8 Riser.json
+++ b/configurations/2Ux8 Riser.json
@@ -47,7 +47,13 @@
}
],
"name": "2Ux8 Riser 1",
- "probe": "xyz.openbmc_project.FruDevice({'BOARD_PRODUCT_NAME': 'A2UL8RISER1', 'ADDRESS': '0x50'})"
+ "probe": "xyz.openbmc_project.FruDevice({'BOARD_PRODUCT_NAME': 'A2UL8RISER1', 'ADDRESS': '0x50'})",
+ "xyz.openbmc_project.Inventory.Decorator.Asset": {
+ "Manufacturer": "$BOARD_MANUFACTURER",
+ "Model": "$BOARD_PRODUCT_NAME",
+ "PartNumber": "$BOARD_PART_NUMBER",
+ "SerialNumber": "$BOARD_SERIAL_NUMBER"
+ }
},
{
"exposes": [
@@ -97,6 +103,12 @@
}
],
"name": "2Ux8 Riser 2",
- "probe": "xyz.openbmc_project.FruDevice({'BOARD_PRODUCT_NAME': 'A2UL8RISER2', 'ADDRESS': '0x51'})"
+ "probe": "xyz.openbmc_project.FruDevice({'BOARD_PRODUCT_NAME': 'A2UL8RISER2', 'ADDRESS': '0x51'})",
+ "xyz.openbmc_project.Inventory.Decorator.Asset": {
+ "Manufacturer": "$BOARD_MANUFACTURER",
+ "Model": "$BOARD_PRODUCT_NAME",
+ "PartNumber": "$BOARD_PART_NUMBER",
+ "SerialNumber": "$BOARD_SERIAL_NUMBER"
+ }
}
]
\ No newline at end of file
diff --git a/configurations/Delta DPS-750XB PSU.json b/configurations/Delta DPS-750XB PSU.json
index 541371f..62639da 100644
--- a/configurations/Delta DPS-750XB PSU.json
+++ b/configurations/Delta DPS-750XB PSU.json
@@ -14,11 +14,15 @@
"type": "IntelFruDevice"
}
],
- "manufacturer": "$BOARD_MANUFACTURER",
- "model": "$BOARD_PRODUCT_NAME",
- "name": "Delta DPS-750XB PSU",
- "part_number": "$BOARD_PART_NUMBER",
- "probe": "xyz.openbmc_project.FruDevice({'PRODUCT_PRODUCT_NAME': 'DPS-750XB A', 'ADDRESS': '0x51'})"
+ "name": "Delta DPS-750XB PSU 2",
+ "probe": "xyz.openbmc_project.FruDevice({'PRODUCT_PRODUCT_NAME': 'DPS-750XB A', 'ADDRESS': '0x51'})",
+ "type": "PowerSupply",
+ "xyz.openbmc_project.Inventory.Decorator.Asset": {
+ "Manufacturer": "$BOARD_MANUFACTURER",
+ "Model": "$BOARD_PRODUCT_NAME",
+ "PartNumber": "$BOARD_PART_NUMBER",
+ "SerialNumber": "$BOARD_SERIAL_NUMBER"
+ }
},
{
"exposes": [
@@ -35,10 +39,14 @@
"type": "IntelFruDevice"
}
],
- "manufacturer": "$BOARD_MANUFACTURER",
- "model": "$BOARD_PRODUCT_NAME",
- "name": "Delta DPS-750XB PSU PSU",
- "part_number": "$BOARD_PART_NUMBER",
- "probe": "xyz.openbmc_project.FruDevice({'PRODUCT_PRODUCT_NAME': 'DPS-750XB A', 'ADDRESS': '0x50'})"
+ "name": "Delta DPS-750XB PSU 1",
+ "probe": "xyz.openbmc_project.FruDevice({'PRODUCT_PRODUCT_NAME': 'DPS-750XB A', 'ADDRESS': '0x50'})",
+ "type": "PowerSupply",
+ "xyz.openbmc_project.Inventory.Decorator.Asset": {
+ "Manufacturer": "$BOARD_MANUFACTURER",
+ "Model": "$BOARD_PRODUCT_NAME",
+ "PartNumber": "$BOARD_PART_NUMBER",
+ "SerialNumber": "$BOARD_SERIAL_NUMBER"
+ }
}
]
\ No newline at end of file
diff --git a/configurations/F2U12X35S3P_riser.json b/configurations/F2U12X35S3P_riser.json
index 365208f..0c6db3f 100644
--- a/configurations/F2U12X35S3P_riser.json
+++ b/configurations/F2U12X35S3P_riser.json
@@ -40,12 +40,14 @@
"type": "IntelFruDevice"
}
],
- "manufacturer": "$BOARD_MANUFACTURER",
- "model": "$BOARD_PRODUCT_NAME",
"name": "2U12x35 Riser1",
- "part_number": "$BOARD_PART_NUMBER",
- "serial_number": "$BOARD_SERIAL_NUMBER",
- "probe": "xyz.openbmc_project.FruDevice({'BOARD_PRODUCT_NAME': 'A2UL16RISER\\d', 'ADDRESS' : '0x50'})"
+ "probe": "xyz.openbmc_project.FruDevice({'BOARD_PRODUCT_NAME': 'A2UL16RISER\\d', 'ADDRESS' : '0x50'})",
+ "xyz.openbmc_project.Inventory.Decorator.Asset": {
+ "Manufacturer": "$BOARD_MANUFACTURER",
+ "Model": "$BOARD_PRODUCT_NAME",
+ "PartNumber": "$BOARD_PART_NUMBER",
+ "SerialNumber": "$BOARD_SERIAL_NUMBER"
+ }
},
{
"exposes": [
@@ -88,11 +90,13 @@
"type": "IntelFruDevice"
}
],
- "manufacturer": "$BOARD_MANUFACTURER",
- "model": "$BOARD_PRODUCT_NAME",
"name": "2U12x35 Riser2",
- "serial_number": "$BOARD_SERIAL_NUMBER",
- "part_number": "$BOARD_PART_NUMBER",
- "probe": "xyz.openbmc_project.FruDevice({'BOARD_PRODUCT_NAME': 'A2UL16RISER\\d', 'ADDRESS' : '0x51'})"
+ "probe": "xyz.openbmc_project.FruDevice({'BOARD_PRODUCT_NAME': 'A2UL16RISER\\d', 'ADDRESS' : '0x51'})",
+ "xyz.openbmc_project.Inventory.Decorator.Asset": {
+ "Manufacturer": "$BOARD_MANUFACTURER",
+ "Model": "$BOARD_PRODUCT_NAME",
+ "PartNumber": "$BOARD_PART_NUMBER",
+ "SerialNumber": "$BOARD_SERIAL_NUMBER"
+ }
}
]
\ No newline at end of file
diff --git a/configurations/Flextronics S-1100ADU00-201 PSU.json b/configurations/Flextronics S-1100ADU00-201 PSU.json
index 537e28d..9dd90ff 100644
--- a/configurations/Flextronics S-1100ADU00-201 PSU.json
+++ b/configurations/Flextronics S-1100ADU00-201 PSU.json
@@ -14,11 +14,15 @@
"type": "IntelFruDevice"
}
],
- "manufacturer": "$BOARD_MANUFACTURER",
- "model": "$BOARD_PRODUCT_NAME",
- "name": "Flextronics S-1100ADU00-201 PSU",
- "part_number": "$BOARD_PART_NUMBER",
- "probe": "xyz.openbmc_project.FruDevice({'PRODUCT_PRODUCT_NAME': 'S-1100ADU00-201', 'ADDRESS': '0x51'})"
+ "name": "Flextronics S-1100ADU00-201 PSU 2",
+ "probe": "xyz.openbmc_project.FruDevice({'PRODUCT_PRODUCT_NAME': 'S-1100ADU00-201', 'ADDRESS': '0x51'})",
+ "type": "PowerSupply",
+ "xyz.openbmc_project.Inventory.Decorator.Asset": {
+ "Manufacturer": "$BOARD_MANUFACTURER",
+ "Model": "$BOARD_PRODUCT_NAME",
+ "PartNumber": "$BOARD_PART_NUMBER",
+ "SerialNumber": "$BOARD_SERIAL_NUMBER"
+ }
},
{
"exposes": [
@@ -35,10 +39,14 @@
"type": "IntelFruDevice"
}
],
- "manufacturer": "$BOARD_MANUFACTURER",
- "model": "$BOARD_PRODUCT_NAME",
- "name": "Flextronics S-1100ADU00-201 PSU",
- "part_number": "$BOARD_PART_NUMBER",
- "probe": "xyz.openbmc_project.FruDevice({'PRODUCT_PRODUCT_NAME': 'S-1100ADU00-201', 'ADDRESS': '0x50'})"
+ "name": "Flextronics S-1100ADU00-201 PSU 1",
+ "probe": "xyz.openbmc_project.FruDevice({'PRODUCT_PRODUCT_NAME': 'S-1100ADU00-201', 'ADDRESS': '0x50'})",
+ "type": "PowerSupply",
+ "xyz.openbmc_project.Inventory.Decorator.Asset": {
+ "Manufacturer": "$BOARD_MANUFACTURER",
+ "Model": "$BOARD_PRODUCT_NAME",
+ "PartNumber": "$BOARD_PART_NUMBER",
+ "SerialNumber": "$BOARD_SERIAL_NUMBER"
+ }
}
]
\ No newline at end of file
diff --git a/configurations/Intel Front Panel.json b/configurations/Intel Front Panel.json
index a5a86fa..5cafc90 100644
--- a/configurations/Intel Front Panel.json
+++ b/configurations/Intel Front Panel.json
@@ -39,14 +39,16 @@
"type": "TMP75"
}
],
- "manufacturer": "$BOARD_MANUFACTURER",
- "model": "$BOARD_PRODUCT_NAME",
"name": "Intel Front Panel",
- "part_number": "$BOARD_PART_NUMBER",
- "serial_number": "$BOARD_SERIAL_NUMBER",
"probe": [
"xyz.openbmc_project.FruDevice({'BOARD_PRODUCT_NAME': 'FFPANEL'})",
"OR",
"xyz.openbmc_project.FruDevice({'BOARD_PRODUCT_NAME': 'F2USTOPANEL'})"
- ]
+ ],
+ "xyz.openbmc_project.Inventory.Decorator.Asset": {
+ "Manufacturer": "$BOARD_MANUFACTURER",
+ "Model": "$BOARD_PRODUCT_NAME",
+ "PartNumber": "$BOARD_PART_NUMBER",
+ "SerialNumber": "$BOARD_SERIAL_NUMBER"
+ }
}
\ No newline at end of file
diff --git a/configurations/PCIE SSD Retimer.json b/configurations/PCIE SSD Retimer.json
index bd88d88..79f6c13 100644
--- a/configurations/PCIE SSD Retimer.json
+++ b/configurations/PCIE SSD Retimer.json
@@ -13,10 +13,12 @@
"type": "TMP75"
}
],
- "manufacturer": "$BOARD_MANUFACTURER",
- "model": "$BOARD_PRODUCT_NAME",
"name": "PCIE SSD Retimer",
- "part_number": "$BOARD_PART_NUMBER",
- "serial_number": "$BOARD_SERIAL_NUMBER",
- "probe": "xyz.openbmc_project.FruDevice({'BOARD_PRODUCT_NAME': 'SP3RT040X16'})"
+ "probe": "xyz.openbmc_project.FruDevice({'BOARD_PRODUCT_NAME': 'SP3RT040X16'})",
+ "xyz.openbmc_project.Inventory.Decorator.Asset": {
+ "Manufacturer": "$BOARD_MANUFACTURER",
+ "Model": "$BOARD_PRODUCT_NAME",
+ "PartNumber": "$BOARD_PART_NUMBER",
+ "SerialNumber": "$BOARD_SERIAL_NUMBER"
+ }
}
\ No newline at end of file
diff --git a/configurations/PSSF132202A.json b/configurations/PSSF132202A.json
index 6161111..1bcbe8e 100755
--- a/configurations/PSSF132202A.json
+++ b/configurations/PSSF132202A.json
@@ -14,12 +14,15 @@
"type": "IntelFruDevice"
}
],
- "manufacturer": "$PRODUCT_MANUFACTURER",
- "model": "$PRODUCT_PRODUCT_NAME",
"name": "Solum 1300W PSU 2",
- "part_number": "$PRODUCT_PART_NUMBER",
- "serial_number": "$PRODUCT_PRODUCT_SERIAL_NUMBER",
- "probe": "xyz.openbmc_project.FruDevice({'PRODUCT_PRODUCT_NAME': 'PSSF132202A', 'ADDRESS': '0x51'})"
+ "probe": "xyz.openbmc_project.FruDevice({'PRODUCT_PRODUCT_NAME': 'PSSF132202A', 'ADDRESS': '0x51'})",
+ "type": "PowerSupply",
+ "xyz.openbmc_project.Inventory.Decorator.Asset": {
+ "Manufacturer": "$PRODUCT_MANUFACTURER",
+ "Model": "$PRODUCT_PRODUCT_NAME",
+ "PartNumber": "$PRODUCT_PART_NUMBER",
+ "SerialNumber": "$PRODUCT_PRODUCT_SERIAL_NUMBER"
+ }
},
{
"exposes": [
@@ -36,11 +39,14 @@
"type": "IntelFruDevice"
}
],
- "manufacturer": "$PRODUCT_MANUFACTURER",
- "model": "$PRODUCT_PRODUCT_NAME",
"name": "Solum 1300W PSU 1",
- "part_number": "$PRODUCT_PART_NUMBER",
- "serial_number": "$PRODUCT_PRODUCT_SERIAL_NUMBER",
- "probe": "xyz.openbmc_project.FruDevice({'PRODUCT_PRODUCT_NAME': 'PSSF132202A', 'ADDRESS': '0x50'})"
+ "probe": "xyz.openbmc_project.FruDevice({'PRODUCT_PRODUCT_NAME': 'PSSF132202A', 'ADDRESS': '0x50'})",
+ "type": "PowerSupply",
+ "xyz.openbmc_project.Inventory.Decorator.Asset": {
+ "Manufacturer": "$PRODUCT_MANUFACTURER",
+ "Model": "$PRODUCT_PRODUCT_NAME",
+ "PartNumber": "$PRODUCT_PART_NUMBER",
+ "SerialNumber": "$PRODUCT_PRODUCT_SERIAL_NUMBER"
+ }
}
]
\ No newline at end of file
diff --git a/configurations/R1000 Chassis.json b/configurations/R1000 Chassis.json
index 65a9ef6..6c1e20b 100644
--- a/configurations/R1000 Chassis.json
+++ b/configurations/R1000 Chassis.json
@@ -242,12 +242,16 @@
}
],
"name": "R1000 Chassis",
- "part_number": "R1208",
- "serial_number": "23165",
"probe": [
"FOUND('WFP Baseboard')",
"AND",
"xyz.openbmc_project.FruDevice({'BOARD_PRODUCT_NAME': 'F1UL16RISER\\d'})",
"MATCH_ONE"
- ]
+ ],
+ "xyz.openbmc_project.Inventory.Decorator.Asset": {
+ "Manufacturer": "Intel Corporation",
+ "Model": "R1000",
+ "PartNumber": "R1208",
+ "SerialNumber": "23165"
+ }
}
\ No newline at end of file
diff --git a/configurations/R2000 Chassis.json b/configurations/R2000 Chassis.json
index b2d4893..220ad4d 100644
--- a/configurations/R2000 Chassis.json
+++ b/configurations/R2000 Chassis.json
@@ -121,16 +121,17 @@
"type": "AspeedFan"
}
],
-
- "manufacturer": "Intel Corporation",
- "model": "R2000",
"name": "R2000 Chassis",
- "part_number": "R2104",
- "serial_number": "23165",
"probe": [
"FOUND('WFP Baseboard')",
"AND",
"xyz.openbmc_project.FruDevice({'BOARD_PRODUCT_NAME': 'A2UL\\d+RISER\\d'})",
"MATCH_ONE"
- ]
+ ],
+ "xyz.openbmc_project.Inventory.Decorator.Asset": {
+ "Manufacturer": "Intel Corporation",
+ "Model": "R2000",
+ "PartNumber": "R2104",
+ "SerialNumber": "23165"
+ }
}
\ No newline at end of file
diff --git a/configurations/STP Baseboard.json b/configurations/STP Baseboard.json
index 148c147..44872e3 100644
--- a/configurations/STP Baseboard.json
+++ b/configurations/STP Baseboard.json
@@ -801,21 +801,21 @@
"type": "ADC"
},
{
- "cpu_id": 0,
"address": "0x30",
+ "cpu_id": 0,
"name": "Skylake CPU 0",
"thresholds": [
{
"direction": "greater than",
- "name": "upper critical",
"label": "DIMM",
+ "name": "upper critical",
"severity": 1,
"value": 99
},
{
"direction": "greater than",
- "name": "upper non critical",
"label": "DIMM",
+ "name": "upper non critical",
"severity": 0,
"value": 89
}
@@ -823,21 +823,21 @@
"type": "SkylakeCPU"
},
{
- "cpu_id": 1,
"address": "0x31",
+ "cpu_id": 1,
"name": "Skylake CPU 1",
"thresholds": [
{
"direction": "greater than",
- "name": "upper critical",
"label": "DIMM",
+ "name": "upper critical",
"severity": 1,
"value": 99
},
{
"direction": "greater than",
- "name": "upper non critical",
"label": "DIMM",
+ "name": "upper non critical",
"severity": 0,
"value": 89
}
@@ -846,5 +846,12 @@
}
],
"name": "STP Baseboard",
- "probe": "xyz.openbmc_project.FruDevice({'BOARD_PRODUCT_NAME': '.*STB'})"
-}
+ "probe": "xyz.openbmc_project.FruDevice({'PRODUCT_PRODUCT_NAME': '.*STB'})",
+ "type": "Board",
+ "xyz.openbmc_project.Inventory.Decorator.Asset": {
+ "Manufacturer": "$PRODUCT_MANUFACTURER",
+ "Model": "$PRODUCT_PRODUCT_NAME",
+ "PartNumber": "$PRODUCT_PART_NUMBER",
+ "SerialNumber": "$PRODUCT_PRODUCT_SERIAL_NUMBER"
+ }
+}
\ No newline at end of file
diff --git a/configurations/WFT Baseboard.json b/configurations/WFT Baseboard.json
index bf356c0..a7be0e2 100644
--- a/configurations/WFT Baseboard.json
+++ b/configurations/WFT Baseboard.json
@@ -796,21 +796,21 @@
"type": "TMP75"
},
{
- "cpu_id": 0,
"address": "0x30",
+ "cpu_id": 0,
"name": "Skylake CPU 0",
"thresholds": [
{
"direction": "greater than",
- "name": "upper critical",
"label": "DIMM",
+ "name": "upper critical",
"severity": 1,
"value": 99
},
{
"direction": "greater than",
- "name": "upper non critical",
"label": "DIMM",
+ "name": "upper non critical",
"severity": 0,
"value": 89
}
@@ -818,21 +818,21 @@
"type": "SkylakeCPU"
},
{
- "cpu_id": 1,
"address": "0x31",
+ "cpu_id": 1,
"name": "Skylake CPU 1",
"thresholds": [
{
"direction": "greater than",
- "name": "upper critical",
"label": "DIMM",
+ "name": "upper critical",
"severity": 1,
"value": 99
},
{
"direction": "greater than",
- "name": "upper non critical",
"label": "DIMM",
+ "name": "upper non critical",
"severity": 0,
"value": 89
}
@@ -840,10 +840,13 @@
"type": "SkylakeCPU"
}
],
- "manufacturer": "$BOARD_MANUFACTURER",
- "model": "$BOARD_PRODUCT_NAME",
"name": "WFP Baseboard",
- "part_number": "$BOARD_PART_NUMBER",
- "serial_number": "$BOARD_SERIAL_NUMBER",
- "probe": "xyz.openbmc_project.FruDevice({'BOARD_PRODUCT_NAME': '.*WFT'})"
-}
+ "probe": "xyz.openbmc_project.FruDevice({'PRODUCT_PRODUCT_NAME': '.*WFT'})",
+ "type": "Board",
+ "xyz.openbmc_project.Inventory.Decorator.Asset": {
+ "Manufacturer": "$PRODUCT_MANUFACTURER",
+ "Model": "$PRODUCT_PRODUCT_NAME",
+ "PartNumber": "$PRODUCT_PART_NUMBER",
+ "SerialNumber": "$PRODUCT_PRODUCT_SERIAL_NUMBER"
+ }
+}
\ No newline at end of file
diff --git a/src/EntityManager.cpp b/src/EntityManager.cpp
index 4f4e9c6..021126f 100644
--- a/src/EntityManager.cpp
+++ b/src/EntityManager.cpp
@@ -21,6 +21,7 @@
#include <fstream>
#include <future>
#include <regex>
+#include <boost/algorithm/string/case_conv.hpp>
#include <boost/algorithm/string/predicate.hpp>
#include <boost/algorithm/string/replace.hpp>
#include <boost/variant/apply_visitor.hpp>
@@ -539,16 +540,29 @@
<< " reverting to Chassis.\n";
boardType = "Chassis";
}
+ std::string boardtypeLower = boost::algorithm::to_lower_copy(boardType);
std::regex_replace(boardKey.begin(), boardKey.begin(), boardKey.end(),
ILLEGAL_DBUS_REGEX, "_");
- std::string boardName =
- "/xyz/openbmc_project/Inventory/Item/" + boardType + "/" + boardKey;
+ std::string boardName = "/xyz/openbmc_project/inventory/system/" +
+ boardtypeLower + "/" + boardKey;
auto boardObject = objServer.add_object(boardName);
- auto boardIface = boardObject->add_interface(
- "xyz.openbmc_project.Configuration." + boardType);
+ auto boardIface =
+ boardObject->add_interface("xyz.openbmc_project.Inventory.Item");
+
+ boardObject->add_interface("xyz.openbmc_project.Inventory.Item." +
+ boardType);
populateInterfaceFromJson(boardIface.get(), boardValues, objServer);
+ for (auto &boardField : nlohmann::json::iterator_wrapper(boardValues))
+ {
+ if (boardField.value().type() == nlohmann::json::value_t::object)
+ {
+ auto iface = boardObject->add_interface(boardField.key());
+ populateInterfaceFromJson(iface.get(), boardField.value(),
+ objServer);
+ }
+ }
auto exposes = boardValues.find("exposes");
if (exposes == boardValues.end())
{
@@ -638,7 +652,16 @@
&foundDevice,
size_t &foundDeviceIdx)
{
- if (keyPair.value().type() != nlohmann::json::value_t::string)
+ if (keyPair.value().type() == nlohmann::json::value_t::object)
+ {
+ for (auto nextLayer = keyPair.value().begin();
+ nextLayer != keyPair.value().end(); nextLayer++)
+ {
+ templateCharReplace(nextLayer, foundDevice, foundDeviceIdx);
+ }
+ return;
+ }
+ else if (keyPair.value().type() != nlohmann::json::value_t::string)
{
return;
}
@@ -994,9 +1017,8 @@
}
// this creates a filter for properties changed for any new probe type
auto propertyChange = std::make_unique<dbus::match>(
- SYSTEM_BUS,
- "type='signal',member='PropertiesChanged',arg0='" +
- objectMap.first + "'");
+ SYSTEM_BUS, "type='signal',member='PropertiesChanged',arg0='" +
+ objectMap.first + "'");
auto filter =
std::make_shared<dbus::filter>(SYSTEM_BUS, [](dbus::message &m) {
auto member = m.get_member();