blob: 0c35c0c1a586cd2a8654bd9a5bcb907eab414602 [file] [log] [blame]
Anton Muhin59755522014-11-05 21:30:12 +04001// Copyright 2014 The Chromium OS Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#ifndef BUFFET_COMMANDS_CLOUD_COMMAND_PROXY_H_
6#define BUFFET_COMMANDS_CLOUD_COMMAND_PROXY_H_
7
8#include <base/macros.h>
9
10#include <string>
11
12#include "buffet/commands/command_proxy_interface.h"
13
14namespace buffet {
15
16class CommandInstance;
17class DeviceRegistrationInfo;
18
19// Command proxy which publishes command updates to the cloud.
20class CloudCommandProxy final : public CommandProxyInterface {
21 public:
22 CloudCommandProxy(CommandInstance* command_instance,
23 DeviceRegistrationInfo* device_registration_info);
24 ~CloudCommandProxy() override = default;
25
26 // CommandProxyInterface implementation/overloads.
27 void OnStatusChanged(const std::string& status) override;
28 void OnProgressChanged(int progress) override;
29
30 private:
31 CommandInstance* command_instance_;
32 DeviceRegistrationInfo* device_registration_info_;
33
34 DISALLOW_COPY_AND_ASSIGN(CloudCommandProxy);
35};
36
37} // namespace buffet
38
39#endif // BUFFET_COMMANDS_CLOUD_COMMAND_PROXY_H_