use crate::dtos::bios::BiosInfo;
use crate::dtos::cpu::CpuInfo;
use crate::dtos::display::DisplayInfo;
use crate::dtos::gpu::GpuInfo;
use crate::dtos::HardWareInfo;
use crate::dtos::memory::MemoryInfo;
use crate::dtos::motherboard::MotherboardInfo;
use crate::dtos::os::OsInfo;
use crate::dtos::storage::DiskInfo;

pub trait HwStrategy {
	fn get_bios(&self) -> BiosInfo;

	fn get_cpu(&self) -> CpuInfo;

	fn get_display(&self) -> Vec<DisplayInfo>;

	fn get_gpu(&self) -> Vec<GpuInfo>;

	fn get_memory(&self) -> Vec<MemoryInfo>;

	fn get_motherboard(&self) -> MotherboardInfo;

	fn get_os(&self) -> OsInfo;

	fn get_storage(&self) -> Vec<DiskInfo>;

	fn get_hw(&self) -> HardWareInfo;
}
