blob: 676eb5a0066054b73c0c1a6f77e12e0bf3de7f35 [file] [log] [blame]
// Copyright 2022 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 MINIOS_STATE_REPORTER_INTERFACE_H_
#define MINIOS_STATE_REPORTER_INTERFACE_H_
#include <minios/proto_bindings/minios.pb.h>
namespace minios {
class StateReporterInterface {
public:
virtual ~StateReporterInterface() = default;
// Is called whenever minios state changes.
virtual void StateChanged(const State& state) = 0;
protected:
StateReporterInterface() = default;
private:
StateReporterInterface(const StateReporterInterface&) = delete;
StateReporterInterface& operator=(const StateReporterInterface&) = delete;
};
} // namespace minios
#endif // MINIOS_STATE_REPORTER_INTERFACE_H_