blob: 0c35c0c1a586cd2a8654bd9a5bcb907eab414602 [file] [log] [blame]
// Copyright 2014 The Chromium OS Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef BUFFET_COMMANDS_CLOUD_COMMAND_PROXY_H_
#define BUFFET_COMMANDS_CLOUD_COMMAND_PROXY_H_
#include <base/macros.h>
#include <string>
#include "buffet/commands/command_proxy_interface.h"
namespace buffet {
class CommandInstance;
class DeviceRegistrationInfo;
// Command proxy which publishes command updates to the cloud.
class CloudCommandProxy final : public CommandProxyInterface {
public:
CloudCommandProxy(CommandInstance* command_instance,
DeviceRegistrationInfo* device_registration_info);
~CloudCommandProxy() override = default;
// CommandProxyInterface implementation/overloads.
void OnStatusChanged(const std::string& status) override;
void OnProgressChanged(int progress) override;
private:
CommandInstance* command_instance_;
DeviceRegistrationInfo* device_registration_info_;
DISALLOW_COPY_AND_ASSIGN(CloudCommandProxy);
};
} // namespace buffet
#endif // BUFFET_COMMANDS_CLOUD_COMMAND_PROXY_H_