// Copyright 2021 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_MINIOS_INTERFACE_H_
#define MINIOS_MINIOS_INTERFACE_H_

#include <string>

#include <brillo/errors/error.h>
#include <minios/proto_bindings/minios.pb.h>

namespace minios {

class MiniOsInterface {
 public:
  virtual ~MiniOsInterface() = default;

  virtual bool GetState(State* state_out, brillo::ErrorPtr* error) = 0;
  virtual bool NextScreen(brillo::ErrorPtr* error) = 0;
  virtual void PressKey(uint32_t in_keycode) = 0;
  virtual bool PrevScreen(brillo::ErrorPtr* error) = 0;
  virtual bool Reset(brillo::ErrorPtr* error) = 0;
  virtual void SetNetworkCredentials(const std::string& in_ssid,
                                     const std::string& in_passphrase) = 0;
  virtual void StartRecovery(const std::string& in_ssid,
                             const std::string& in_passphrase) = 0;
};

}  // namespace minios

#endif  // MINIOS_MINIOS_INTERFACE_H_
