blob: 78408f690f4f34bc33275f57b5efa4eea2b5706a [file] [log] [blame]
// 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_