Home | History | Annotate | Download | only in commands
      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:
     24   virtual ~CloudCommandUpdateInterface() {}
     25 };
     26 
     27 }  // namespace weave
     28 
     29 #endif  // LIBWEAVE_SRC_COMMANDS_CLOUD_COMMAND_UPDATE_INTERFACE_H_
     30