New interface for getSubTreeRaw which accepts an array of interfaces.

Accessory and pre-requisite for future use.

Signed-off-by: Mike Capps <mikepcapps@gmail.com>
Change-Id: Ia68baea591b1867404134e587b7a89a3a5a925d6
diff --git a/sdbusplus.hpp b/sdbusplus.hpp
index 73af8b0..94db9dd 100644
--- a/sdbusplus.hpp
+++ b/sdbusplus.hpp
@@ -198,6 +198,27 @@
                                           "GetSubTree"s, path, depth, intfs);
     }
 
+    /** @brief Get subtree from the mapper without checking response,
+     * (multiple interfaces version). */
+    static auto getSubTreeRaw(sdbusplus::bus::bus& bus, const std::string& path,
+                              const std::vector<std::string>& intfs,
+                              int32_t depth)
+    {
+        using namespace std::literals::string_literals;
+
+        using Path = std::string;
+        using Intf = std::string;
+        using Serv = std::string;
+        using Intfs = std::vector<Intf>;
+        using Objects = std::map<Path, std::map<Serv, Intfs>>;
+
+        return callMethodAndRead<Objects>(bus,
+                                          "xyz.openbmc_project.ObjectMapper"s,
+                                          "/xyz/openbmc_project/object_mapper"s,
+                                          "xyz.openbmc_project.ObjectMapper"s,
+                                          "GetSubTree"s, path, depth, intfs);
+    }
+
     /** @brief Get subtree from the mapper. */
     static auto getSubTree(sdbusplus::bus::bus& bus, const std::string& path,
                            const std::string& interface, int32_t depth)