chromeos-dbus-bindings: Add bus parameter to adaptor constructor

Take both an object manager and bus pointer For callers who wish
not to use an object manager.

BUG=chromium:426408
TEST=Unit tests + compile lorgnette

Change-Id: I74d0405e0122ac058430c06d001076d3edcc1fde
Reviewed-on: https://chromium-review.googlesource.com/225157
Reviewed-by: Alex Deymo <[email protected]>
Tested-by: Paul Stewart <[email protected]>
Commit-Queue: Paul Stewart <[email protected]>
diff --git a/chromeos-dbus-bindings/adaptor_generator.cc b/chromeos-dbus-bindings/adaptor_generator.cc
index df77629..02c751e 100644
--- a/chromeos-dbus-bindings/adaptor_generator.cc
+++ b/chromeos-dbus-bindings/adaptor_generator.cc
@@ -100,6 +100,7 @@
   block.AddLine(StringPrintf("%s(", class_name.c_str()));
   block.PushOffset(kLineContinuationOffset);
   block.AddLine("chromeos::dbus_utils::ExportedObjectManager* object_manager,");
+  block.AddLine("const scoped_refptr<dbus::Bus>& bus,");
   block.AddLine("const std::string& object_path,");
   block.AddLine("MethodInterface* interface)  // Owned by caller.");
   block.AddLine(": interface_(interface),");
@@ -107,7 +108,7 @@
   block.AddLine("dbus_object_(");
   block.PushOffset(kLineContinuationOffset);
   block.AddLine("object_manager,");
-  block.AddLine("object_manager->GetBus(),");
+  block.AddLine("bus,");
   block.AddLine("dbus::ObjectPath(object_path)),");
   block.PopOffset();
   block.AddLine("dbus_interface_(");
diff --git a/chromeos-dbus-bindings/adaptor_generator_unittest.cc b/chromeos-dbus-bindings/adaptor_generator_unittest.cc
index 58e0863..993091a 100644
--- a/chromeos-dbus-bindings/adaptor_generator_unittest.cc
+++ b/chromeos-dbus-bindings/adaptor_generator_unittest.cc
@@ -66,12 +66,13 @@
   };
   TestInterfaceAdaptor(
       chromeos::dbus_utils::ExportedObjectManager* object_manager,
+      const scoped_refptr<dbus::Bus>& bus,
       const std::string& object_path,
       MethodInterface* interface)  // Owned by caller.
       : interface_(interface),
         dbus_object_(
             object_manager,
-            object_manager->GetBus(),
+            bus,
             dbus::ObjectPath(object_path)),
         dbus_interface_(
             dbus_object_.AddOrGetInterface("org.chromium.TestInterface")) {