pub trait Directory: Sized {
// Required methods
fn open_dir_readonly<P: AsRef<Path> + Send>(
&self,
relative_path: P,
) -> Result<Self>;
fn open_dir_readwrite<P: AsRef<Path> + Send>(
&self,
relative_path: P,
) -> Result<Self>;
fn create_dir<P: AsRef<Path> + Send>(
&self,
relative_path: P,
readwrite: bool,
) -> Result<Self>;
fn clone(&self) -> Result<Self>;
fn read_file<'life0, 'async_trait, P>(
&'life0 self,
relative_path: P,
) -> Pin<Box<dyn Future<Output = Result<String>> + Send + 'async_trait>>
where P: 'async_trait + AsRef<Path> + Send,
Self: 'async_trait,
'life0: 'async_trait;
fn read_file_bytes<'life0, 'async_trait, P>(
&'life0 self,
relative_path: P,
) -> Pin<Box<dyn Future<Output = Result<Vec<u8>>> + Send + 'async_trait>>
where P: 'async_trait + AsRef<Path> + Send,
Self: 'async_trait,
'life0: 'async_trait;
fn exists<'life0, 'life1, 'async_trait>(
&'life0 self,
filename: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<bool>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn entry_type<'life0, 'life1, 'async_trait>(
&'life0 self,
filename: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Option<DirentKind>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn remove<'life0, 'life1, 'async_trait>(
&'life0 self,
relative_path: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn write_file<'life0, 'life1, 'async_trait, P>(
&'life0 self,
relative_path: P,
data: &'life1 [u8],
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where P: 'async_trait + AsRef<Path> + Send,
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn get_file_size<'life0, 'async_trait, P>(
&'life0 self,
relative_path: P,
) -> Pin<Box<dyn Future<Output = Result<u64>> + Send + 'async_trait>>
where P: 'async_trait + AsRef<Path> + Send,
Self: 'async_trait,
'life0: 'async_trait;
fn entry_names<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Vec<String>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
}Required Methods§
Sourcefn open_dir_readonly<P: AsRef<Path> + Send>(
&self,
relative_path: P,
) -> Result<Self>
fn open_dir_readonly<P: AsRef<Path> + Send>( &self, relative_path: P, ) -> Result<Self>
Attempts to open the directory at relative_path with read-only rights.
Sourcefn open_dir_readwrite<P: AsRef<Path> + Send>(
&self,
relative_path: P,
) -> Result<Self>
fn open_dir_readwrite<P: AsRef<Path> + Send>( &self, relative_path: P, ) -> Result<Self>
Attempts to open the directory at relative_path with read/write rights.
Sourcefn create_dir<P: AsRef<Path> + Send>(
&self,
relative_path: P,
readwrite: bool,
) -> Result<Self>
fn create_dir<P: AsRef<Path> + Send>( &self, relative_path: P, readwrite: bool, ) -> Result<Self>
Attempts to create a directory at relative_path with read right (if readwrite is false) or read/write rights (if readwrite is true).
Sourcefn read_file<'life0, 'async_trait, P>(
&'life0 self,
relative_path: P,
) -> Pin<Box<dyn Future<Output = Result<String>> + Send + 'async_trait>>
fn read_file<'life0, 'async_trait, P>( &'life0 self, relative_path: P, ) -> Pin<Box<dyn Future<Output = Result<String>> + Send + 'async_trait>>
Returns the contents of the file at relative_path as a string.
Sourcefn read_file_bytes<'life0, 'async_trait, P>(
&'life0 self,
relative_path: P,
) -> Pin<Box<dyn Future<Output = Result<Vec<u8>>> + Send + 'async_trait>>
fn read_file_bytes<'life0, 'async_trait, P>( &'life0 self, relative_path: P, ) -> Pin<Box<dyn Future<Output = Result<Vec<u8>>> + Send + 'async_trait>>
Returns the contents of the file at relative_path as bytes.
Sourcefn exists<'life0, 'life1, 'async_trait>(
&'life0 self,
filename: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<bool>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn exists<'life0, 'life1, 'async_trait>(
&'life0 self,
filename: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<bool>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Returns true if an entry called filename exists in this directory. filename must be
a plain file name, not a relative path.
Sourcefn entry_type<'life0, 'life1, 'async_trait>(
&'life0 self,
filename: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Option<DirentKind>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn entry_type<'life0, 'life1, 'async_trait>(
&'life0 self,
filename: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Option<DirentKind>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Returns the type of entry specified by filename, or None if no entry by that name
is found. filename must be a plan file name, not a relative path.
Sourcefn remove<'life0, 'life1, 'async_trait>(
&'life0 self,
relative_path: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn remove<'life0, 'life1, 'async_trait>(
&'life0 self,
relative_path: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Deletes the file at relative_path.
Sourcefn write_file<'life0, 'life1, 'async_trait, P>(
&'life0 self,
relative_path: P,
data: &'life1 [u8],
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
fn write_file<'life0, 'life1, 'async_trait, P>( &'life0 self, relative_path: P, data: &'life1 [u8], ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
Writes data to a file at relative_path. Overwrites if the file already
exists.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".