Add xyz.openbmc_project.Inventory.Manager
This interface is used to identify demons that
contain inventory, add the interface for lookups.
Change-Id: I62e9d06de8955bbe414bdd36e41d54a3e226b6b5
Signed-off-by: James Feist <james.feist@linux.intel.com>
diff --git a/src/EntityManager.cpp b/src/EntityManager.cpp
index 021126f..223c5ea 100644
--- a/src/EntityManager.cpp
+++ b/src/EntityManager.cpp
@@ -1051,24 +1051,37 @@
dbusMatches;
nlohmann::json systemConfiguration = nlohmann::json::object();
- auto iface = std::make_shared<dbus::DbusInterface>(
+ auto entityIface = std::make_shared<dbus::DbusInterface>(
"xyz.openbmc_project.EntityManager", SYSTEM_BUS);
+ auto inventoryIface = std::make_shared<dbus::DbusInterface>(
+ "xyz.openbmc_project.Inventory.Manager", SYSTEM_BUS);
+ auto inventoryObject = std::make_shared<dbus::DbusObject>(
+ SYSTEM_BUS, "/xyz/openbmc_project/inventory");
+ objServer.register_object(inventoryObject);
+
+ inventoryIface->register_method(
+ "Notify",
+ [](const boost::container::flat_map<
+ std::string,
+ boost::container::flat_map<std::string, dbus::dbus_variant>>
+ &object) { return std::tuple<>(); });
+
+ inventoryObject->register_interface(inventoryIface);
io.post([&]() {
unloadAllOverlays();
propertiesChangedCallback(dbusMatches, systemConfiguration, objServer,
nullptr);
- auto object = std::make_shared<dbus::DbusObject>(
+ auto entityObject = std::make_shared<dbus::DbusObject>(
SYSTEM_BUS, "/xyz/openbmc_project/EntityManager");
- objServer.register_object(object);
-
- object->register_interface(iface);
+ objServer.register_object(entityObject);
+ entityObject->register_interface(entityIface);
});
// to keep reference to the match / filter objects so they don't get
// destroyed
- iface->register_method("ReScan", [&]() {
+ entityIface->register_method("ReScan", [&]() {
propertiesChangedCallback(dbusMatches, systemConfiguration, objServer,
nullptr);
return std::tuple<>(); // this is a bug in boost-dbus, needs some sort