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/base_api_handler.h b/buffet/base_api_handler.h
index 8743bcf..9c9bcb0 100644
--- a/buffet/base_api_handler.h
+++ b/buffet/base_api_handler.h
@@ -15,22 +15,27 @@
class CommandInstance;
class CommandManager;
class DeviceRegistrationInfo;
+class StateManager;
// Handles commands from 'base' package.
// Objects of the class subscribe for notification from CommandManager and
// execute incoming commands.
// Handled commands:
// base.updateDeviceInfo
+// base.updateBaseConfiguration
class BaseApiHandler final {
public:
BaseApiHandler(const base::WeakPtr<DeviceRegistrationInfo>& device_info,
+ const std::shared_ptr<StateManager>& state_manager,
const std::shared_ptr<CommandManager>& command_manager);
private:
void OnCommandAdded(CommandInstance* command);
+ void UpdateBaseConfiguration(CommandInstance* command);
void UpdateDeviceInfo(CommandInstance* command);
base::WeakPtr<DeviceRegistrationInfo> device_info_;
+ std::shared_ptr<StateManager> state_manager_;
base::WeakPtrFactory<BaseApiHandler> weak_ptr_factory_{this};
DISALLOW_COPY_AND_ASSIGN(BaseApiHandler);