blob: 0b5981c913a98373e0137668b831d37cf484ea17 [file] [log] [blame]
Alex Vakulenkof6b38712014-09-03 16:23:38 -07001// 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_COMMAND_PROXY_INTERFACE_H_
6#define BUFFET_COMMANDS_COMMAND_PROXY_INTERFACE_H_
7
8#include <string>
9
Anton Muhincfde8692014-11-25 03:36:59 +040010#include "buffet/commands/schema_utils.h"
11
Alex Vakulenkof6b38712014-09-03 16:23:38 -070012namespace buffet {
13
14// This interface lets the command instance to update its proxy of command
15// state changes, so that the proxy can then notify clients of the changes over
16// their supported protocol (e.g. D-Bus).
17class CommandProxyInterface {
18 public:
19 virtual ~CommandProxyInterface() = default;
20
Alex Vakulenkob211c102015-04-21 11:43:23 -070021 virtual void OnResultsChanged() = 0;
22 virtual void OnStatusChanged() = 0;
23 virtual void OnProgressChanged() = 0;
Alex Vakulenkof6b38712014-09-03 16:23:38 -070024};
25
26} // namespace buffet
27
28#endif // BUFFET_COMMANDS_COMMAND_PROXY_INTERFACE_H_