Fix: ObjectManager path for asio

For asio based registration, ObjectManager's are created
under "/" folder. This makes dynamic detection difficult based
on the service root object path. Updated library to skip
ObjectManager creation, which can be created separately
by the needed daemon under the root object base path
This is needed, as dynamic detection of service name
can be performed on org.freedeskop.DBus.ObjectManager interface
when the root object doesn't have any interfaces.

Unit-test:
1. Verified it is compiling, and compatibile with existing code
2. Verified that ObjectManager is under the needed base path
when argument passed from service daemon.
3. Able to find service name using GetObject under objectMapper,
when service daemon, doens't have any other interface in root
base path other than org.freedesktop.DBus.Manager

Change-Id: Ie1ddf62df0df3849fc761995813c97872d96eb33
Signed-off-by: Richard Marian Thomaiyar <richard.marian.thomaiyar@linux.intel.com>
diff --git a/sdbusplus/asio/object_server.hpp b/sdbusplus/asio/object_server.hpp
index 5db004d..a3b511f 100644
--- a/sdbusplus/asio/object_server.hpp
+++ b/sdbusplus/asio/object_server.hpp
@@ -738,12 +738,16 @@
 class object_server
 {
   public:
-    object_server(std::shared_ptr<sdbusplus::asio::connection>& conn) :
+    object_server(std::shared_ptr<sdbusplus::asio::connection>& conn,
+                  const bool skipManager = false) :
         conn_(conn)
     {
-        auto root = add_interface("/", "");
-        root->initialize();
-        add_manager("/");
+        if (!skipManager)
+        {
+            auto root = add_interface("/", "");
+            root->initialize();
+            add_manager("/");
+        }
     }
 
     std::shared_ptr<dbus_interface> add_interface(const std::string& path,