message: remove hard-coded boolean types

In general we avoided hard-coded dbus characters and use
type-deducation and sdbus constants.  Fix boolean support
to not hard-code 'b', but instead use type-deducation like
the std::string support did.

Change-Id: I8bbfebf60a0f6f33dc9d13b2ff3368ce7ca86285
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
diff --git a/sdbusplus/message/append.hpp b/sdbusplus/message/append.hpp
index 7b84ed0..31038a3 100644
--- a/sdbusplus/message/append.hpp
+++ b/sdbusplus/message/append.hpp
@@ -127,7 +127,7 @@
     template<typename T>
     static void op(sd_bus_message* m, T&& b)
     {
-        constexpr auto dbusType = 'b';
+        constexpr auto dbusType = std::get<0>(types::type_id<T>());
         int i = b;
         sd_bus_message_append_basic(m, dbusType, &i);
     }
diff --git a/sdbusplus/message/read.hpp b/sdbusplus/message/read.hpp
index 9a98f52..a601b1f 100644
--- a/sdbusplus/message/read.hpp
+++ b/sdbusplus/message/read.hpp
@@ -129,7 +129,7 @@
     template<typename T>
     static void op(sd_bus_message* m, T&& b)
     {
-        constexpr auto dbusType = 'b';
+        constexpr auto dbusType = std::get<0>(types::type_id<T>());
         int i = 0;
         sd_bus_message_read_basic(m, dbusType, &i);
         b = (i != 0);