buffet: Add base.updateBaseConfiguration implementation
Required base command handled by buffet.
BUG=brillo:810
TEST=`FEATURES=test emerge-gizmo buffet`
Change-Id: I97ecd9f5d792cc636e76bbff92899a7ddfa4a605
Reviewed-on: https://chromium-review.googlesource.com/273618
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/device_registration_info.cc b/buffet/device_registration_info.cc
index 1fc329f..bd99917 100644
--- a/buffet/device_registration_info.cc
+++ b/buffet/device_registration_info.cc
@@ -672,6 +672,25 @@
return true;
}
+bool DeviceRegistrationInfo::UpdateBaseConfig(
+ const std::string& anonymous_access_role,
+ bool local_discovery_enabled,
+ bool local_pairing_enabled,
+ chromeos::ErrorPtr* error) {
+ BuffetConfig::Transaction change(config_.get());
+ if (!change.set_local_anonymous_access_role(anonymous_access_role)) {
+ chromeos::Error::AddToPrintf(error, FROM_HERE, kErrorDomainBuffet,
+ "invalid_parameter", "Invalid role: %s",
+ anonymous_access_role.c_str());
+ return false;
+ }
+
+ change.set_local_discovery_enabled(local_discovery_enabled);
+ change.set_local_pairing_enabled(local_pairing_enabled);
+
+ return true;
+}
+
bool DeviceRegistrationInfo::UpdateServiceConfig(
const std::string& client_id,
const std::string& client_secret,