use super::{Bootloader, BootloaderFiles, ConfigFile};
use crate::config::BootType;
use crate::core::context::Context;
use crate::core::error::Result;
pub struct NoneBootloader;
impl NoneBootloader {
pub fn new() -> Self {
Self
}
}
impl Default for NoneBootloader {
fn default() -> Self {
Self::new()
}
}
impl Bootloader for NoneBootloader {
fn prepare(&self, ctx: &Context) -> Result<BootloaderFiles> {
let mut files = BootloaderFiles::new();
if ctx.config.boot.boot_type.needs_uefi() {
files = files.add_uefi_file(
ctx.executable.clone(),
"efi/boot/bootx64.efi".into(),
);
}
Ok(files)
}
fn config_files(&self, _ctx: &Context) -> Result<Vec<ConfigFile>> {
Ok(Vec::new())
}
fn boot_type(&self) -> BootType {
BootType::Uefi
}
fn name(&self) -> &str {
"Direct Boot (no bootloader)"
}
}