buffet: Move ownership of DBusCommandDispacher to buffet::Manager Next change will move DBusCommandDispacher into buffet directory. BUG=brillo:1245 TEST='FEATURES=test emerge-gizmo buffet' Change-Id: I60b9a8c12347266ecceba96db68a7f2a2923deb3 Reviewed-on: https://chromium-review.googlesource.com/289693 Reviewed-by: Alex Vakulenko <avakulenko@chromium.org> Commit-Queue: Vitaly Buka <vitalybuka@chromium.org> Trybot-Ready: Vitaly Buka <vitalybuka@chromium.org> Tested-by: Vitaly Buka <vitalybuka@chromium.org>
diff --git a/buffet/manager.cc b/buffet/manager.cc index b1070b5..0b64d5b 100644 --- a/buffet/manager.cc +++ b/buffet/manager.cc
@@ -24,6 +24,7 @@ #include <dbus/values_util.h> // TODO(vitalybuka): Will be moved into buffet soon. +#include "libweave/src/commands/dbus_command_dispatcher.h" #include "libweave/src/commands/dbus_conversion.h" #include "weave/enum_to_string.h" @@ -57,6 +58,9 @@ device_ = weave::Device::Create(); device_->Start(options, &dbus_object_, sequencer); + command_dispatcher_.reset(new weave::DBusCommandDispacher{ + dbus_object_.GetObjectManager(), device_->GetCommands()}); + device_->GetState()->AddOnChangedCallback( base::Bind(&Manager::OnStateChanged, weak_ptr_factory_.GetWeakPtr()));
diff --git a/buffet/manager.h b/buffet/manager.h index 6db50fe..ef433e2 100644 --- a/buffet/manager.h +++ b/buffet/manager.h
@@ -22,6 +22,10 @@ #include "buffet/org.chromium.Buffet.Manager.h" #include "weave/device.h" +namespace weave { +class DBusCommandDispacher; +} + namespace chromeos { namespace dbus_utils { class ExportedObjectManager; @@ -113,6 +117,7 @@ chromeos::dbus_utils::DBusObject dbus_object_; std::unique_ptr<weave::Device> device_; + std::unique_ptr<weave::DBusCommandDispacher> command_dispatcher_; base::WeakPtrFactory<Manager> weak_ptr_factory_{this}; DISALLOW_COPY_AND_ASSIGN(Manager);
diff --git a/libweave/src/commands/command_manager.cc b/libweave/src/commands/command_manager.cc index 6baab68..3704803 100644 --- a/libweave/src/commands/command_manager.cc +++ b/libweave/src/commands/command_manager.cc
@@ -13,17 +13,9 @@ #include "libweave/src/utils.h" #include "weave/enum_to_string.h" -using chromeos::dbus_utils::ExportedObjectManager; - namespace weave { -CommandManager::CommandManager() - : CommandManager(base::WeakPtr<ExportedObjectManager>{}) { -} - -CommandManager::CommandManager( - const base::WeakPtr<ExportedObjectManager>& object_manager) - : command_dispatcher_(object_manager, this) {} +CommandManager::CommandManager() {} CommandManager::~CommandManager() {}
diff --git a/libweave/src/commands/command_manager.h b/libweave/src/commands/command_manager.h index 53942d2..377862c 100644 --- a/libweave/src/commands/command_manager.h +++ b/libweave/src/commands/command_manager.h
@@ -16,15 +16,8 @@ #include "libweave/src/commands/command_dictionary.h" #include "libweave/src/commands/command_queue.h" -#include "libweave/src/commands/dbus_command_dispatcher.h" #include "weave/commands.h" -namespace chromeos { -namespace dbus_utils { -class ExportedObjectManager; -} // namespace dbus_utils -} // namespace chromeos - namespace weave { class CommandInstance; @@ -35,9 +28,6 @@ class CommandManager final : public Commands { public: CommandManager(); - explicit CommandManager( - const base::WeakPtr<chromeos::dbus_utils::ExportedObjectManager>& - object_manager); ~CommandManager() override; @@ -106,7 +96,6 @@ CommandDictionary base_dictionary_; // Base/std command definitions/schemas. CommandDictionary dictionary_; // Command definitions/schemas. CommandQueue command_queue_; - DBusCommandDispacher command_dispatcher_; std::vector<base::Callback<void()>> on_command_changed_; uint32_t next_command_id_{0};
diff --git a/libweave/src/device_manager.cc b/libweave/src/device_manager.cc index 2a3e18d..75299b5 100644 --- a/libweave/src/device_manager.cc +++ b/libweave/src/device_manager.cc
@@ -41,8 +41,7 @@ const Options& options, chromeos::dbus_utils::DBusObject* dbus_object, chromeos::dbus_utils::AsyncEventSequencer* sequencer) { - command_manager_ = - std::make_shared<CommandManager>(dbus_object->GetObjectManager()); + command_manager_ = std::make_shared<CommandManager>(); command_manager_->Startup(options.definitions_path, options.test_definitions_path); state_change_queue_.reset(new StateChangeQueue(kMaxStateChangeQueueSize));