Migrate bus to message bindings

Change-Id: I29a03b146d5c050a13b4bab690d450612797f2ce
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
diff --git a/sdbusplus/bus.hpp b/sdbusplus/bus.hpp
index 8ca107d..168099c 100644
--- a/sdbusplus/bus.hpp
+++ b/sdbusplus/bus.hpp
@@ -2,6 +2,7 @@
 
 #include <memory>
 #include <systemd/sd-bus.h>
+#include <sdbusplus/message.hpp>
 
 namespace sdbusplus
 {
@@ -107,7 +108,7 @@
         sd_bus_message_new_method_call(_bus.get(), &m, service, objpath,
                                        interf, method);
 
-        return m;
+        return message::message(m);
     }
 
     /** @brief Perform a message call.
@@ -117,10 +118,10 @@
      *
      *  @return The response message.
      */
-    auto call(sd_bus_message* m, uint64_t timeout_us = 0)
+    auto call(message::message& m, uint64_t timeout_us = 0)
     {
         sd_bus_message* reply = nullptr;
-        sd_bus_call(_bus.get(), m, timeout_us, nullptr, &reply);
+        sd_bus_call(_bus.get(), m.get(), timeout_us, nullptr, &reply);
 
         return reply;
     }
@@ -130,9 +131,9 @@
      *  @param[in] m - The method_call message.
      *  @param[in] timeout_us - The timeout for the method call.
      */
-    void call_noreply(sd_bus_message* m, uint64_t timeout_us = 0)
+    void call_noreply(message::message& m, uint64_t timeout_us = 0)
     {
-        sd_bus_call(_bus.get(), m, timeout_us, nullptr, nullptr);
+        sd_bus_call(_bus.get(), m.get(), timeout_us, nullptr, nullptr);
     }
 
     private:
diff --git a/test/message/append.cpp b/test/message/append.cpp
index c9c2e47..1cc56ff 100644
--- a/test/message/append.cpp
+++ b/test/message/append.cpp
@@ -1,6 +1,6 @@
 #include <iostream>
-#include <sdbusplus/message/append.hpp>
 #include <cassert>
+#include <sdbusplus/message.hpp>
 #include <sdbusplus/bus.hpp>
 
 // Global to share the dbus type string between client and server.
@@ -53,66 +53,66 @@
     }
 }
 
-void newMethodCall__test(sdbusplus::bus::bus& b, sd_bus_message** m)
+auto newMethodCall__test(sdbusplus::bus::bus& b)
 {
     // Allocate a method-call message for INTERFACE,TEST_METHOD.
-    *m = b.new_method_call(SERVICE, "/", INTERFACE, TEST_METHOD);
+    return b.new_method_call(SERVICE, "/", INTERFACE, TEST_METHOD);
 }
 
 void runTests()
 {
     using namespace std::literals;
 
-    sd_bus_message* m = nullptr;
     auto b = sdbusplus::bus::new_default();
 
     // Test r-value int.
     {
-        newMethodCall__test(b, &m);
-        sdbusplus::message::append(m, 1);
+        auto m = newMethodCall__test(b);
+        m.append(1);
         verifyTypeString = "i";
         b.call_noreply(m);
     }
-
     // Test l-value int.
     {
-        newMethodCall__test(b, &m);
+        auto m = newMethodCall__test(b);
         int a = 1;
-        sdbusplus::message::append(m, a, a);
+        m.append(a, a);
         verifyTypeString = "ii";
         b.call_noreply(m);
     }
 
     // Test multiple ints.
     {
-        newMethodCall__test(b, &m);
-        sdbusplus::message::append(m, 1, 2, 3, 4, 5);
+        auto m = newMethodCall__test(b);
+        m.append(1, 2, 3, 4, 5);
         verifyTypeString = "iiiii";
         b.call_noreply(m);
     }
 
     // Test r-value string.
     {
-        newMethodCall__test(b, &m);
-        sdbusplus::message::append(m, "asdf"s);
+        auto m = newMethodCall__test(b);
+        m.append("asdf"s);
         verifyTypeString = "s";
         b.call_noreply(m);
     }
 
     // Test multiple strings, various forms.
     {
-        newMethodCall__test(b, &m);
+        auto m = newMethodCall__test(b);
         auto str = "jkl;"s;
         auto str2 = "JKL:"s;
-        sdbusplus::message::append(m, 1, "asdf", "ASDF"s, str,
-                                   std::move(str2), 5);
+        m.append(1, "asdf", "ASDF"s, str,
+                 std::move(str2), 5);
         verifyTypeString = "issssi";
         b.call_noreply(m);
     }
 
     // Shutdown server.
-    m = b.new_method_call(SERVICE, "/", INTERFACE, QUIT_METHOD);
-    b.call_noreply(m);
+    {
+        auto m = b.new_method_call(SERVICE, "/", INTERFACE, QUIT_METHOD);
+        b.call_noreply(m);
+    }
 }
 
 int main()