Struct embedded_sdmmc::Volume
source · pub struct Volume<'a, D, T, const MAX_DIRS: usize, const MAX_FILES: usize, const MAX_VOLUMES: usize>where
D: BlockDevice,
T: TimeSource,{ /* private fields */ }
Expand description
Represents an open volume on disk.
If you drop a value of this type, it closes the volume automatically. However,
it holds a mutable reference to its parent VolumeManager
, which restricts
which operations you can perform.
Implementations§
source§impl<'a, D, T, const MAX_DIRS: usize, const MAX_FILES: usize, const MAX_VOLUMES: usize> Volume<'a, D, T, MAX_DIRS, MAX_FILES, MAX_VOLUMES>where
D: BlockDevice,
T: TimeSource,
impl<'a, D, T, const MAX_DIRS: usize, const MAX_FILES: usize, const MAX_VOLUMES: usize> Volume<'a, D, T, MAX_DIRS, MAX_FILES, MAX_VOLUMES>where
D: BlockDevice,
T: TimeSource,
sourcepub fn new(
raw_volume: RawVolume,
volume_mgr: &'a mut VolumeManager<D, T, MAX_DIRS, MAX_FILES, MAX_VOLUMES>
) -> Volume<'a, D, T, MAX_DIRS, MAX_FILES, MAX_VOLUMES>
pub fn new( raw_volume: RawVolume, volume_mgr: &'a mut VolumeManager<D, T, MAX_DIRS, MAX_FILES, MAX_VOLUMES> ) -> Volume<'a, D, T, MAX_DIRS, MAX_FILES, MAX_VOLUMES>
Create a new Volume
from a RawVolume
sourcepub fn open_root_dir(
&mut self
) -> Result<Directory<'_, D, T, MAX_DIRS, MAX_FILES, MAX_VOLUMES>, Error<D::Error>>
pub fn open_root_dir( &mut self ) -> Result<Directory<'_, D, T, MAX_DIRS, MAX_FILES, MAX_VOLUMES>, Error<D::Error>>
Open the volume’s root directory.
You can then read the directory entries with iterate_dir
, or you can
use open_file_in_dir
.
sourcepub fn to_raw_volume(self) -> RawVolume
pub fn to_raw_volume(self) -> RawVolume
Convert back to a raw volume
Trait Implementations§
source§impl<'a, D, T, const MAX_DIRS: usize, const MAX_FILES: usize, const MAX_VOLUMES: usize> Debug for Volume<'a, D, T, MAX_DIRS, MAX_FILES, MAX_VOLUMES>where
D: BlockDevice,
T: TimeSource,
impl<'a, D, T, const MAX_DIRS: usize, const MAX_FILES: usize, const MAX_VOLUMES: usize> Debug for Volume<'a, D, T, MAX_DIRS, MAX_FILES, MAX_VOLUMES>where
D: BlockDevice,
T: TimeSource,
Auto Trait Implementations§
impl<'a, D, T, const MAX_DIRS: usize, const MAX_FILES: usize, const MAX_VOLUMES: usize> RefUnwindSafe for Volume<'a, D, T, MAX_DIRS, MAX_FILES, MAX_VOLUMES>where
D: RefUnwindSafe,
T: RefUnwindSafe,
impl<'a, D, T, const MAX_DIRS: usize, const MAX_FILES: usize, const MAX_VOLUMES: usize> Send for Volume<'a, D, T, MAX_DIRS, MAX_FILES, MAX_VOLUMES>
impl<'a, D, T, const MAX_DIRS: usize, const MAX_FILES: usize, const MAX_VOLUMES: usize> Sync for Volume<'a, D, T, MAX_DIRS, MAX_FILES, MAX_VOLUMES>
impl<'a, D, T, const MAX_DIRS: usize, const MAX_FILES: usize, const MAX_VOLUMES: usize> Unpin for Volume<'a, D, T, MAX_DIRS, MAX_FILES, MAX_VOLUMES>
impl<'a, D, T, const MAX_DIRS: usize, const MAX_FILES: usize, const MAX_VOLUMES: usize> !UnwindSafe for Volume<'a, D, T, MAX_DIRS, MAX_FILES, MAX_VOLUMES>
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more