buffet: Added base.updateDeviceInfo handler
base.updateDeviceInfo changes 'name', 'description' and 'location'
properties of the device resource.
BUG=brillo:697
TEST='FEATURES=test emerge-storm buffet'
Change-Id: Id1b349c97d2132117cdf803dda8e39d25c64621a
Reviewed-on: https://chromium-review.googlesource.com/270787
Reviewed-by: Vitaly Buka <vitalybuka@chromium.org>
Commit-Queue: Vitaly Buka <vitalybuka@chromium.org>
Tested-by: Vitaly Buka <vitalybuka@chromium.org>
diff --git a/buffet/manager.cc b/buffet/manager.cc
index a5fff7d..90562aa 100644
--- a/buffet/manager.cc
+++ b/buffet/manager.cc
@@ -21,6 +21,7 @@
#include <dbus/object_path.h>
#include <dbus/values_util.h>
+#include "buffet/base_api_handler.h"
#include "buffet/commands/command_instance.h"
#include "buffet/commands/schema_constants.h"
#include "buffet/states/state_change_queue.h"
@@ -57,8 +58,7 @@
&Manager::OnCommandDefsChanged, weak_ptr_factory_.GetWeakPtr()));
command_manager_->Startup(base::FilePath{"/etc/buffet"},
test_definitions_path);
- state_change_queue_ = std::unique_ptr<StateChangeQueue>(
- new StateChangeQueue(kMaxStateChangeQueueSize));
+ state_change_queue_.reset(new StateChangeQueue(kMaxStateChangeQueueSize));
state_manager_ = std::make_shared<StateManager>(state_change_queue_.get());
state_manager_->Startup();
std::unique_ptr<BuffetConfig> config{new BuffetConfig};
@@ -66,15 +66,14 @@
std::unique_ptr<FileStorage> state_store{new FileStorage{state_path}};
// TODO(avakulenko): Figure out security implications of storing
// device info state data unencrypted.
- device_info_ = std::unique_ptr<DeviceRegistrationInfo>(
- new DeviceRegistrationInfo(
- command_manager_,
- state_manager_,
- std::move(config),
- chromeos::http::Transport::CreateDefault(),
- std::move(state_store),
- xmpp_enabled,
- &dbus_adaptor_));
+ device_info_.reset(new DeviceRegistrationInfo(
+ command_manager_, state_manager_, std::move(config),
+ chromeos::http::Transport::CreateDefault(), std::move(state_store),
+ xmpp_enabled, &dbus_adaptor_));
+
+ base_api_handler_.reset(
+ new BaseApiHandler{device_info_->AsWeakPtr(), command_manager_});
+
device_info_->Load();
dbus_adaptor_.RegisterWithDBusObject(&dbus_object_);
dbus_object_.RegisterAsync(cb);