Regenerate manager bindings

Re-run sdbus++ and react to the sdbusplus interface namespace
move and a real object path type.

Change-Id: Id6241b55cd3f2d4c3b85e5545e4ac6e5dd439e34
diff --git a/manager.cpp b/manager.cpp
index 0c2a76d..a05d2bc 100644
--- a/manager.cpp
+++ b/manager.cpp
@@ -127,15 +127,16 @@
     }
 }
 
-void Manager::notify(std::string path, Object object)
+void Manager::notify(sdbusplus::message::object_path path, Object object)
 {
     try
     {
+
         if (object.cbegin() == object.cend())
             throw std::runtime_error(
-                "No interfaces in " + path);
+                "No interfaces in " + path.str);
 
-        path.insert(0, _root);
+        path.str.insert(0, _root);
 
         auto obj = _refs.find(path);
         if (obj != _refs.end())
@@ -156,7 +157,7 @@
                     "Unimplemented interface: " + x.first);
 
             ref.emplace(x.first,
-                        (maker->second)(_bus, path.c_str()));
+                        (maker->second)(_bus, path.str.c_str()));
         }
 
         // Hang on to a reference to the object (interfaces)
diff --git a/manager.hpp b/manager.hpp
index 24173e2..0c89017 100644
--- a/manager.hpp
+++ b/manager.hpp
@@ -22,7 +22,7 @@
 using ServerObject = typename sdbusplus::server::object::object<T>;
 
 using ManagerIface =
-    sdbusplus::server::xyz::openbmc_project::Inventory::Manager;
+    sdbusplus::xyz::openbmc_project::Inventory::server::Manager;
 
 /** @struct MakeInterface
  *  @brief Adapt an sdbusplus interface proxy.
@@ -77,7 +77,7 @@
 
         using Object = std::map <
                        std::string, std::map <
-                       std::string, sdbusplus::message::variant<std::string >>>;
+                       std::string, sdbusplus::message::variant<int64_t, std::string >>>;
         using EventInfo = std::tuple <
                           std::vector<details::EventBasePtr>,
                           std::vector<details::ActionBasePtr >>;
@@ -89,7 +89,7 @@
         void shutdown() noexcept;
 
         /** @brief sd_bus Notify method implementation callback. */
-        void notify(std::string path, Object) override;
+        void notify(sdbusplus::message::object_path, Object) override;
 
         /** @brief sd_bus signal callback. */
         void signal(sdbusplus::message::message&,
diff --git a/test/test.cpp b/test/test.cpp
index 7f72721..89e46b9 100644
--- a/test/test.cpp
+++ b/test/test.cpp
@@ -76,8 +76,6 @@
                std::string,
                sdbusplus::message::variant<T... >>>;
 
-using ObjectPath = std::string;
-
 /**@brief Find a subset of interfaces and properties in an object. */
 template <typename ...T>
 auto hasProperties(const Object<T...>& l, const Object<T...>& r)
@@ -149,8 +147,8 @@
 
     // Make sure the notify method works.
     {
-        ObjectPath relPath{"/foo"};
-        ObjectPath path{root + relPath};
+        sdbusplus::message::object_path relPath{"/foo"};
+        std::string path(root + relPath.str);
 
         SignalQueue queue(
             "path='" + root + "',member='InterfacesAdded'");
@@ -162,7 +160,7 @@
 
         auto sig{queue.pop()};
         assert(sig);
-        ObjectPath signalPath;
+        sdbusplus::message::object_path signalPath;
         Object<std::string> signalObject;
         sig.read(signalPath);
         assert(path == signalPath);
@@ -174,12 +172,12 @@
 
     // Make sure DBus signals are handled.
     {
-        ObjectPath relDeleteMeOne{"/deleteme1"};
-        ObjectPath relDeleteMeTwo{"/deleteme2"};
-        ObjectPath relTriggerOne{"/trigger1"};
-        ObjectPath deleteMeOne{root + relDeleteMeOne};
-        ObjectPath deleteMeTwo{root + relDeleteMeTwo};
-        ObjectPath triggerOne{root + relTriggerOne};
+        sdbusplus::message::object_path relDeleteMeOne{"/deleteme1"};
+        sdbusplus::message::object_path relDeleteMeTwo{"/deleteme2"};
+        sdbusplus::message::object_path relTriggerOne{"/trigger1"};
+        std::string deleteMeOne{root + relDeleteMeOne.str};
+        std::string deleteMeTwo{root + relDeleteMeTwo.str};
+        std::string triggerOne{root + relTriggerOne.str};
 
         // Create some objects to be deleted by an action.
         {
@@ -227,7 +225,7 @@
             m.append(sdbusplus::message::variant<std::string>("xxxyyy"));
             b.call(m);
 
-            ObjectPath sigpath;
+            sdbusplus::message::object_path sigpath;
             std::vector<std::string> interfaces;
             {
                 std::vector<std::string> interfaces;
@@ -259,10 +257,10 @@
 
     // Validate the set property action.
     {
-        ObjectPath relChangeMe{"/changeme"};
-        ObjectPath relTriggerTwo{"/trigger2"};
-        ObjectPath changeMe{root + relChangeMe};
-        ObjectPath triggerTwo{root + relTriggerTwo};
+        sdbusplus::message::object_path relChangeMe{"/changeme"};
+        sdbusplus::message::object_path relTriggerTwo{"/trigger2"};
+        std::string changeMe{root + relChangeMe.str};
+        std::string triggerTwo{root + relTriggerTwo.str};
 
         // Create an object to be updated by the set property action.
         {
diff --git a/xyz.openbmc_project.Inventory.Manager.cpp b/xyz.openbmc_project.Inventory.Manager.cpp
index bbe5667..787b65f 100644
--- a/xyz.openbmc_project.Inventory.Manager.cpp
+++ b/xyz.openbmc_project.Inventory.Manager.cpp
@@ -1,16 +1,19 @@
+#include <algorithm>
 #include <sdbusplus/server.hpp>
+#include <sdbusplus/exception.hpp>
 #include <xyz/openbmc_project/Inventory/Manager/server.hpp>
 
+
 namespace sdbusplus
 {
-namespace server
-{
 namespace xyz
 {
 namespace openbmc_project
 {
 namespace Inventory
 {
+namespace server
+{
 
 Manager::Manager(bus::bus& bus, const char* path)
         : _xyz_openbmc_project_Inventory_Manager_interface(
@@ -22,22 +25,32 @@
 int Manager::_callback_Notify(
         sd_bus_message* msg, void* context, sd_bus_error* error)
 {
-    auto m = message::message(sd_bus_message_ref(msg));
+    using sdbusplus::server::binding::details::convertForMessage;
 
-    std::string path{};
-    std::map<std::string, std::map<std::string, sdbusplus::message::variant<std::string>>> object{};
+    try
+    {
+        auto m = message::message(msg);
 
-    m.read(path, object);
+        sdbusplus::message::object_path path{};
+    std::map<std::string, std::map<std::string, sdbusplus::message::variant<int64_t, std::string>>> object{};
 
-    auto o = static_cast<Manager*>(context);
-    o->notify(path, object);
+        m.read(path, object);
 
-    auto reply = m.new_method_return();
-    // No data to append on reply.
+        auto o = static_cast<Manager*>(context);
+        o->notify(path, object);
 
-    reply.method_return();
+        auto reply = m.new_method_return();
+        // No data to append on reply.
 
-    return 0;
+        reply.method_return();
+    }
+    catch(sdbusplus::internal_exception_t& e)
+    {
+        sd_bus_error_set_const(error, e.name(), e.description());
+        return -EINVAL;
+    }
+
+    return true;
 }
 
 namespace details
@@ -46,26 +59,30 @@
 {
 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>>>>());
+                sdbusplus::message::object_path, std::map<std::string, std::map<std::string, sdbusplus::message::variant<int64_t, std::string>>>>());
+static const auto _return_Notify =
+        utility::tuple_to_array(std::make_tuple('\0'));
 }
 }
 
 
 
+
 const vtable::vtable_t Manager::_vtable[] = {
     vtable::start(),
 
     vtable::method("Notify",
                    details::Manager::_param_Notify
                         .data(),
-                   nullptr,
+                   details::Manager::_return_Notify
+                        .data(),
                    _callback_Notify),
     vtable::end()
 };
 
+} // namespace server
 } // namespace Inventory
 } // namespace openbmc_project
 } // namespace xyz
-} // namespace server
 } // namespace sdbusplus
 
diff --git a/xyz/openbmc_project/Inventory/Manager/server.hpp b/xyz/openbmc_project/Inventory/Manager/server.hpp
index 9c3118b..302bee5 100644
--- a/xyz/openbmc_project/Inventory/Manager/server.hpp
+++ b/xyz/openbmc_project/Inventory/Manager/server.hpp
@@ -5,14 +5,14 @@
 
 namespace sdbusplus
 {
-namespace server
-{
 namespace xyz
 {
 namespace openbmc_project
 {
 namespace Inventory
 {
+namespace server
+{
 
 class Manager
 {
@@ -21,15 +21,16 @@
          *     Not allowed:
          *         - Default constructor to avoid nullptrs.
          *         - Copy operations due to internal unique_ptr.
+         *         - Move operations due to 'this' being registered as the
+         *           'context' with sdbus.
          *     Allowed:
-         *         - Move operations.
          *         - Destructor.
          */
         Manager() = delete;
         Manager(const Manager&) = delete;
         Manager& operator=(const Manager&) = delete;
-        Manager(Manager&&) = default;
-        Manager& operator=(Manager&&) = default;
+        Manager(Manager&&) = delete;
+        Manager& operator=(Manager&&) = delete;
         virtual ~Manager() = default;
 
         /** @brief Constructor to put object onto bus at a dbus path.
@@ -39,6 +40,7 @@
         Manager(bus::bus& bus, const char* path);
 
 
+
         /** @brief Implementation for Notify
          *  Signal the implementing service that an item is ready to have its state managed.
          *
@@ -46,8 +48,9 @@
          *  @param[in] object - The fully enumerated item to be managed.
          */
         virtual void notify(
-            std::string path,
-            std::map<std::string, std::map<std::string, sdbusplus::message::variant<std::string>>> object) = 0;
+            sdbusplus::message::object_path path,
+            std::map<std::string, std::map<std::string, sdbusplus::message::variant<int64_t, std::string>>> object) = 0;
+
 
 
 
@@ -61,14 +64,16 @@
 
         static constexpr auto _interface = "xyz.openbmc_project.Inventory.Manager";
         static const vtable::vtable_t _vtable[];
-        interface::interface _xyz_openbmc_project_Inventory_Manager_interface;
+        sdbusplus::server::interface::interface
+                _xyz_openbmc_project_Inventory_Manager_interface;
 
 
 };
 
+
+} // namespace server
 } // namespace Inventory
 } // namespace openbmc_project
 } // namespace xyz
-} // namespace server
 } // namespace sdbusplus