Add manager interface server binding
Eventually any DBus interfaces in phosphor-dbus-interfaces will
have bindings generated and available in a shared library.
Add the generated Manager interface directly to the repository until
that happens.
Change-Id: I9e1ac3266ca6467bbddbbd12ed2d2de6c079765b
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
diff --git a/xyz.openbmc_project.Inventory.Manager.cpp b/xyz.openbmc_project.Inventory.Manager.cpp
new file mode 100644
index 0000000..bbe5667
--- /dev/null
+++ b/xyz.openbmc_project.Inventory.Manager.cpp
@@ -0,0 +1,71 @@
+#include <sdbusplus/server.hpp>
+#include <xyz/openbmc_project/Inventory/Manager/server.hpp>
+
+namespace sdbusplus
+{
+namespace server
+{
+namespace xyz
+{
+namespace openbmc_project
+{
+namespace Inventory
+{
+
+Manager::Manager(bus::bus& bus, const char* path)
+ : _xyz_openbmc_project_Inventory_Manager_interface(
+ bus, path, _interface, _vtable, this)
+{
+}
+
+
+int Manager::_callback_Notify(
+ sd_bus_message* msg, void* context, sd_bus_error* error)
+{
+ auto m = message::message(sd_bus_message_ref(msg));
+
+ std::string path{};
+ std::map<std::string, std::map<std::string, sdbusplus::message::variant<std::string>>> object{};
+
+ m.read(path, object);
+
+ auto o = static_cast<Manager*>(context);
+ o->notify(path, object);
+
+ auto reply = m.new_method_return();
+ // No data to append on reply.
+
+ reply.method_return();
+
+ return 0;
+}
+
+namespace details
+{
+namespace Manager
+{
+static const auto _param_Notify =
+ utility::tuple_to_array(message::types::type_id<
+ std::string, std::map<std::string, std::map<std::string, sdbusplus::message::variant<std::string>>>>());
+}
+}
+
+
+
+const vtable::vtable_t Manager::_vtable[] = {
+ vtable::start(),
+
+ vtable::method("Notify",
+ details::Manager::_param_Notify
+ .data(),
+ nullptr,
+ _callback_Notify),
+ vtable::end()
+};
+
+} // namespace Inventory
+} // namespace openbmc_project
+} // namespace xyz
+} // namespace server
+} // namespace sdbusplus
+