Struct embedded_sdmmc::Directory
source · pub struct Directory<'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 directory on disk.
If you drop a value of this type, it closes the directory 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> Directory<'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> Directory<'a, D, T, MAX_DIRS, MAX_FILES, MAX_VOLUMES>where
D: BlockDevice,
T: TimeSource,
sourcepub fn new(
raw_directory: RawDirectory,
volume_mgr: &'a mut VolumeManager<D, T, MAX_DIRS, MAX_FILES, MAX_VOLUMES>
) -> Directory<'a, D, T, MAX_DIRS, MAX_FILES, MAX_VOLUMES>
pub fn new( raw_directory: RawDirectory, volume_mgr: &'a mut VolumeManager<D, T, MAX_DIRS, MAX_FILES, MAX_VOLUMES> ) -> Directory<'a, D, T, MAX_DIRS, MAX_FILES, MAX_VOLUMES>
Create a new Directory
from a RawDirectory
sourcepub fn open_dir<N>(
&mut self,
name: N
) -> Result<Directory<'_, D, T, MAX_DIRS, MAX_FILES, MAX_VOLUMES>, Error<D::Error>>where
N: ToShortFileName,
pub fn open_dir<N>(
&mut self,
name: N
) -> Result<Directory<'_, D, T, MAX_DIRS, MAX_FILES, MAX_VOLUMES>, Error<D::Error>>where
N: ToShortFileName,
Open a directory.
You can then read the directory entries with iterate_dir
and open_file_in_dir
.
sourcepub fn change_dir<N>(&mut self, name: N) -> Result<(), Error<D::Error>>where
N: ToShortFileName,
pub fn change_dir<N>(&mut self, name: N) -> Result<(), Error<D::Error>>where
N: ToShortFileName,
Change to a directory, mutating this object.
You can then read the directory entries with iterate_dir
and open_file_in_dir
.
sourcepub fn find_directory_entry<N>(
&mut self,
name: N
) -> Result<DirEntry, Error<D::Error>>where
N: ToShortFileName,
pub fn find_directory_entry<N>(
&mut self,
name: N
) -> Result<DirEntry, Error<D::Error>>where
N: ToShortFileName,
Look in a directory for a named file.
sourcepub fn iterate_dir<F>(&mut self, func: F) -> Result<(), Error<D::Error>>
pub fn iterate_dir<F>(&mut self, func: F) -> Result<(), Error<D::Error>>
Call a callback function for each directory entry in a directory.
sourcepub fn open_file_in_dir<N>(
&mut self,
name: N,
mode: Mode
) -> Result<File<'_, D, T, MAX_DIRS, MAX_FILES, MAX_VOLUMES>, Error<D::Error>>where
N: ToShortFileName,
pub fn open_file_in_dir<N>(
&mut self,
name: N,
mode: Mode
) -> Result<File<'_, D, T, MAX_DIRS, MAX_FILES, MAX_VOLUMES>, Error<D::Error>>where
N: ToShortFileName,
Open a file with the given full path. A file can only be opened once.
sourcepub fn delete_file_in_dir<N>(&mut self, name: N) -> Result<(), Error<D::Error>>where
N: ToShortFileName,
pub fn delete_file_in_dir<N>(&mut self, name: N) -> Result<(), Error<D::Error>>where
N: ToShortFileName,
Delete a closed file with the given filename, if it exists.
sourcepub fn make_dir_in_dir<N>(&mut self, name: N) -> Result<(), Error<D::Error>>where
N: ToShortFileName,
pub fn make_dir_in_dir<N>(&mut self, name: N) -> Result<(), Error<D::Error>>where
N: ToShortFileName,
Make a directory inside this directory
sourcepub fn to_raw_directory(self) -> RawDirectory
pub fn to_raw_directory(self) -> RawDirectory
Convert back to a raw directory