chromium/chrome/browser/ash/borealis/borealis_hardware_checker.h

// Copyright 2023 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef CHROME_BROWSER_ASH_BOREALIS_BOREALIS_HARDWARE_CHECKER_H_
#define CHROME_BROWSER_ASH_BOREALIS_BOREALIS_HARDWARE_CHECKER_H_

#include <string>

#include "base/functional/callback_forward.h"

namespace borealis {

// Checks the current hardware configuration to determine if it meets the
// minimum specifications.
//
// Invokes `callback` with "true" if it does, "false" if it doesn't, or if
// we fail to determine either way.
void HasSufficientHardware(base::OnceCallback<void(bool)> callback);

// Used in tests to fake the CPU, since base::CPU doesn't support faking.
// Make sure *`cpu_brand` outlives the actual check against it.
void SetCpuForTesting(std::string* cpu_brand);

}  // namespace borealis

#endif  // CHROME_BROWSER_ASH_BOREALIS_BOREALIS_HARDWARE_CHECKER_H_