blob: 9538960cb92ac3d5db8b824f90c250dee8039b1d [file] [log] [blame]
Vitaly Buka4615e0d2015-10-14 15:35:12 -07001// Copyright 2015 The Weave Authors. All rights reserved.
Alex Vakulenkofe53f612015-06-26 09:05:15 -07002// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
Vitaly Buka912b6982015-07-06 11:13:03 -07005#ifndef LIBWEAVE_SRC_COMMANDS_CLOUD_COMMAND_UPDATE_INTERFACE_H_
6#define LIBWEAVE_SRC_COMMANDS_CLOUD_COMMAND_UPDATE_INTERFACE_H_
Alex Vakulenkofe53f612015-06-26 09:05:15 -07007
8#include <string>
9
10#include <base/callback_forward.h>
11#include <base/values.h>
12
Vitaly Bukab6f015a2015-07-09 14:59:23 -070013namespace weave {
Alex Vakulenkofe53f612015-06-26 09:05:15 -070014
15// An abstract interface to allow for sending command update requests to the
16// cloud server.
17class CloudCommandUpdateInterface {
18 public:
19 virtual void UpdateCommand(const std::string& command_id,
20 const base::DictionaryValue& command_patch,
Vitaly Buka74763422015-10-11 00:39:52 -070021 const DoneCallback& callback) = 0;
Alex Vakulenkofe53f612015-06-26 09:05:15 -070022
23 protected:
24 virtual ~CloudCommandUpdateInterface() = default;
25};
26
Vitaly Bukab6f015a2015-07-09 14:59:23 -070027} // namespace weave
Alex Vakulenkofe53f612015-06-26 09:05:15 -070028
Vitaly Buka912b6982015-07-06 11:13:03 -070029#endif // LIBWEAVE_SRC_COMMANDS_CLOUD_COMMAND_UPDATE_INTERFACE_H_