1 // Copyright 2015 The Weave 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 LIBWEAVE_SRC_COMMANDS_CLOUD_COMMAND_UPDATE_INTERFACE_H_ 6 #define LIBWEAVE_SRC_COMMANDS_CLOUD_COMMAND_UPDATE_INTERFACE_H_ 7 8 #include <string> 9 10 #include <base/callback_forward.h> 11 #include <base/values.h> 12 13 namespace weave { 14 15 // An abstract interface to allow for sending command update requests to the 16 // cloud server. 17 class CloudCommandUpdateInterface { 18 public: 19 virtual void UpdateCommand(const std::string& command_id, 20 const base::DictionaryValue& command_patch, 21 const DoneCallback& callback) = 0; 22 23 protected: ~CloudCommandUpdateInterface()24 virtual ~CloudCommandUpdateInterface() {} 25 }; 26 27 } // namespace weave 28 29 #endif // LIBWEAVE_SRC_COMMANDS_CLOUD_COMMAND_UPDATE_INTERFACE_H_ 30