Merge latest version of libweave and update weaved to reflect changes
libweave has a number of interafce changes which need to be reflected in
weaved's implementation of the interfaces. This commit brings weaved in
sync with the current version of libweave.
Change-Id: If6355ef2c19e38b56f96b027038e2d6da0f44709
diff --git a/buffet/dbus_command_dispatcher.cc b/buffet/dbus_command_dispatcher.cc
index 03f4789..0edb92a 100644
--- a/buffet/dbus_command_dispatcher.cc
+++ b/buffet/dbus_command_dispatcher.cc
@@ -6,6 +6,7 @@
#include <chromeos/dbus/exported_object_manager.h>
#include <weave/command.h>
+#include <weave/device.h>
#include "buffet/dbus_command_proxy.h"
#include "buffet/dbus_constants.h"
@@ -17,14 +18,16 @@
DBusCommandDispacher::DBusCommandDispacher(
const base::WeakPtr<ExportedObjectManager>& object_manager,
- weave::Commands* command_manager)
+ weave::Device* device)
: object_manager_{object_manager} {
- command_manager->AddOnCommandAddedCallback(base::Bind(
+ device->AddCommandHandler("", base::Bind(
&DBusCommandDispacher::OnCommandAdded, weak_ptr_factory_.GetWeakPtr()));
}
-void DBusCommandDispacher::OnCommandAdded(weave::Command* command) {
- if (!object_manager_)
+void DBusCommandDispacher::OnCommandAdded(
+ const std::weak_ptr<weave::Command>& cmd) {
+ auto command = cmd.lock();
+ if (!object_manager_ || !command)
return;
std::unique_ptr<DBusCommandProxy> proxy{new DBusCommandProxy(
object_manager_.get(), object_manager_->GetBus(), command,