manager: claim busname after startup complete

Idiomatic DBus programming would have us defer claiming a well known bus
name until after all of our startup initialization is done.  This avoids
unnecessary PropertiesChanged or ObjectManager signals during our
startup phase with callbacks that generate dbus activity such as
createObjects or setProperty.

Change-Id: I5f91bbc2a9a5b343e8db214ebadb52bc71b2d459
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
diff --git a/manager.cpp b/manager.cpp
index 0f5b77d..e78265c 100644
--- a/manager.cpp
+++ b/manager.cpp
@@ -57,10 +57,9 @@
     return 0;
 }
 
-Manager::Manager(sdbusplus::bus::bus&& bus, const char* busname,
-                 const char* root) :
-    ServerObject<ManagerIface>(bus, root),
-    _shutdown(false), _root(root), _bus(std::move(bus)), _manager(_bus, root)
+Manager::Manager(sdbusplus::bus::bus&& bus, const char* root) :
+    ServerObject<ManagerIface>(bus, root), _shutdown(false), _root(root),
+    _bus(std::move(bus)), _manager(_bus, root)
 #ifdef CREATE_ASSOCIATIONS
     ,
     _associations(_bus)
@@ -94,8 +93,6 @@
 
     // Restore any persistent inventory
     restore();
-
-    _bus.request_name(busname);
 }
 
 void Manager::shutdown() noexcept
@@ -103,7 +100,7 @@
     _shutdown = true;
 }
 
-void Manager::run() noexcept
+void Manager::run(const char* busname)
 {
     sdbusplus::message::message unusedMsg{nullptr};
 
@@ -119,6 +116,7 @@
         }
     }
 
+    _bus.request_name(busname);
     while (!_shutdown)
     {
         try