blob: f434c758c709d46eebd85b0442b488e9ddd718d2 [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_COMMAND_PROXY_INTERFACE_H_
#define BUFFET_COMMANDS_COMMAND_PROXY_INTERFACE_H_
#include <string>
#include "buffet/commands/schema_utils.h"
namespace buffet {
// This interface lets the command instance to update its proxy of command
// state changes, so that the proxy can then notify clients of the changes over
// their supported protocol (e.g. D-Bus).
class CommandProxyInterface {
public:
virtual ~CommandProxyInterface() = default;
virtual void OnResultsChanged(const native_types::Object& results) = 0;
virtual void OnStatusChanged(const std::string& status) = 0;
virtual void OnProgressChanged(int progress) = 0;
};
} // namespace buffet
#endif // BUFFET_COMMANDS_COMMAND_PROXY_INTERFACE_H_