libchromeos: Switch ExportedObjectManager to use DBusObject
Use DBusObject helper class to implement D-Bus object for
ExportedObjectManager.
Now that Variant data type serialization on D-Bus is supported,
switch a number of method handler to be a higher-level C++
callbacks that return native data types which can automatically
be sent over D-Bus with the help of AppendValueToWriter() functions.
Removed remaining scoped_ptr in dbus_utils and dbus_object
and replaced them with std::unique_ptr.
BUG=None
TEST=FEATURES=test emerge-link libchromeos
USE=buffet P2_TEST_FILTER="buffet::*" FEATURES=test emerge-link platform2
Change-Id: I53bdb5301ec6c3460873c5ac1559fb5d171850a4
Reviewed-on: https://chromium-review.googlesource.com/213963
Reviewed-by: Alex Vakulenko <avakulenko@chromium.org>
Commit-Queue: Alex Vakulenko <avakulenko@chromium.org>
Tested-by: Alex Vakulenko <avakulenko@chromium.org>
diff --git a/buffet/main.cc b/buffet/main.cc
index 66e2cbe..18b7d4d 100644
--- a/buffet/main.cc
+++ b/buffet/main.cc
@@ -93,9 +93,9 @@
ExportedObjectManager object_manager(
bus, dbus::ObjectPath(buffet::dbus_constants::kRootServicePath));
buffet::Manager manager(object_manager.AsWeakPtr());
- object_manager.Init(
+ object_manager.RegisterAsync(
sequencer->GetHandler("ObjectManager.Init() failed.", true));
- manager.Init(sequencer->GetHandler("Manager.Init() failed.", true));
+ manager.RegisterAsync(sequencer->GetHandler("Manager.Init() failed.", true));
sequencer->OnAllTasksCompletedCall(
{base::Bind(&TakeServiceOwnership, bus)});
// Release our handle on the sequencer so that it gets deleted after
diff --git a/buffet/manager.cc b/buffet/manager.cc
index ee7379f..6c359fc 100644
--- a/buffet/manager.cc
+++ b/buffet/manager.cc
@@ -31,7 +31,7 @@
object_manager->GetBus(),
dbus::ObjectPath(dbus_constants::kManagerServicePath)) {}
-void Manager::Init(const AsyncEventSequencer::CompletionAction& cb) {
+void Manager::RegisterAsync(const AsyncEventSequencer::CompletionAction& cb) {
chromeos::dbus_utils::DBusInterface* itf =
dbus_object_.AddOrGetInterface(dbus_constants::kManagerInterface);
itf->AddMethodHandler(dbus_constants::kManagerCheckDeviceRegistered,
diff --git a/buffet/manager.h b/buffet/manager.h
index 2a7995c..e72d1c0 100644
--- a/buffet/manager.h
+++ b/buffet/manager.h
@@ -36,7 +36,7 @@
explicit Manager(
const base::WeakPtr<chromeos::dbus_utils::ExportedObjectManager>&
object_manager);
- void Init(
+ void RegisterAsync(
const chromeos::dbus_utils::AsyncEventSequencer::CompletionAction& cb);
private: