use crate::{Disk, DiskKind, DiskRefreshKind, DiskUsage};
use std::{ffi::OsStr, path::Path};
pub(crate) struct DiskInner {
#[cfg(test)]
#[allow(dead_code)]
pub(crate) file_system: std::ffi::OsString,
}
#[cfg(test)]
impl Default for DiskInner {
fn default() -> Self {
Self {
file_system: std::ffi::OsString::new(),
}
}
}
impl DiskInner {
pub(crate) fn kind(&self) -> DiskKind {
DiskKind::Unknown(-1)
}
pub(crate) fn name(&self) -> &OsStr {
OsStr::new("")
}
pub(crate) fn file_system(&self) -> &OsStr {
Default::default()
}
pub(crate) fn mount_point(&self) -> &Path {
Path::new("")
}
pub(crate) fn total_space(&self) -> u64 {
0
}
pub(crate) fn available_space(&self) -> u64 {
0
}
pub(crate) fn is_removable(&self) -> bool {
false
}
pub(crate) fn is_read_only(&self) -> bool {
false
}
pub(crate) fn refresh_specifics(&mut self, _refreshes: DiskRefreshKind) -> bool {
true
}
pub(crate) fn usage(&self) -> DiskUsage {
DiskUsage::default()
}
}
pub(crate) struct DisksInner {
pub(crate) disks: Vec<Disk>,
}
impl DisksInner {
pub(crate) fn new() -> Self {
Self { disks: Vec::new() }
}
pub(crate) fn from_vec(disks: Vec<Disk>) -> Self {
Self { disks }
}
pub(crate) fn into_vec(self) -> Vec<Disk> {
self.disks
}
pub(crate) fn refresh_specifics(
&mut self,
_remove_not_listed_disks: bool,
_refreshes: DiskRefreshKind,
) {
}
pub(crate) fn list(&self) -> &[Disk] {
&self.disks
}
pub(crate) fn list_mut(&mut self) -> &mut [Disk] {
&mut self.disks
}
}