#[derive(Default, Debug, Copy, Clone, Ord, PartialOrd, Eq, PartialEq, Hash)]
#[derive(Deserialize, Serialize)]
#[serde(default, deny_unknown_fields)]
pub struct ResourceFile
{
pub index: u32,
pub write_combining: bool,
}
impl ResourceFile
{
#[inline(always)]
pub fn file_path(&self, pci_device: &PciDevice) -> PathBuf
{
pci_device.device_file_or_folder_path(&format!("resource{}", self.index))
}
#[inline(always)]
pub fn write_combining_file_path(&self, pci_device: &PciDevice) -> Option<PathBuf>
{
if self.write_combining
{
Some(pci_device.device_file_or_folder_path(&format!("resource{}_wc", self.index)))
}
else
{
None
}
}
}