pub struct FsResourceIo;Expand description
Standard resource IO provider that uses the file system to load the file bytes
Trait Implementations§
Source§impl Default for FsResourceIo
impl Default for FsResourceIo
Source§fn default() -> FsResourceIo
fn default() -> FsResourceIo
Returns the “default value” for a type. Read more
Source§impl ResourceIo for FsResourceIo
impl ResourceIo for FsResourceIo
Source§fn read_directory<'a>(
&'a self,
path: &'a Path,
) -> Pin<Box<dyn Future<Output = Result<Box<dyn Iterator<Item = PathBuf> + Send>, FileError>> + Send + 'a>>
fn read_directory<'a>( &'a self, path: &'a Path, ) -> Pin<Box<dyn Future<Output = Result<Box<dyn Iterator<Item = PathBuf> + Send>, FileError>> + Send + 'a>>
wasm should fallback to the default no-op impl as im not sure if they can directly read a directory
Note: Android directory reading should be possible just I have not created an implementation for this yet
Source§fn walk_directory<'a>(
&'a self,
path: &'a Path,
max_depth: usize,
) -> Pin<Box<dyn Future<Output = Result<Box<dyn Iterator<Item = PathBuf> + Send>, FileError>> + Send + 'a>>
fn walk_directory<'a>( &'a self, path: &'a Path, max_depth: usize, ) -> Pin<Box<dyn Future<Output = Result<Box<dyn Iterator<Item = PathBuf> + Send>, FileError>> + Send + 'a>>
Android and wasm should fallback to the default no-op impl as they cant be walked with WalkDir
Source§fn file_reader<'a>(
&'a self,
path: &'a Path,
) -> Pin<Box<dyn Future<Output = Result<Box<dyn FileReader>, FileError>> + Send + 'a>>
fn file_reader<'a>( &'a self, path: &'a Path, ) -> Pin<Box<dyn Future<Output = Result<Box<dyn FileReader>, FileError>> + Send + 'a>>
Only use file reader when not targetting android or wasm
Note: Might be possible to use the Android Asset struct for reading as long as its Send + Sync + ’static (It already implements Debug + Read + Seek)
Source§fn can_read_directories(&self) -> bool
fn can_read_directories(&self) -> bool
True if reading the content of directories is possible through this object.
Source§fn load_file<'a>(
&'a self,
path: &'a Path,
) -> Pin<Box<dyn Future<Output = Result<Vec<u8>, FileError>> + Send + 'a>>
fn load_file<'a>( &'a self, path: &'a Path, ) -> Pin<Box<dyn Future<Output = Result<Vec<u8>, FileError>> + Send + 'a>>
Attempts to load the file at the provided path returning
the entire byte contents of the file or an error
Source§fn write_file<'a>(
&'a self,
path: &'a Path,
data: Vec<u8>,
) -> Pin<Box<dyn Future<Output = Result<(), FileError>> + Send + 'a>>
fn write_file<'a>( &'a self, path: &'a Path, data: Vec<u8>, ) -> Pin<Box<dyn Future<Output = Result<(), FileError>> + Send + 'a>>
Attempts to asynchronously write the given set of bytes to the specified path.
Source§fn write_file_sync(&self, path: &Path, data: &[u8]) -> Result<(), FileError>
fn write_file_sync(&self, path: &Path, data: &[u8]) -> Result<(), FileError>
Attempts to synchronously write the given set of bytes to the specified path. This method
is optional, on some platforms it may not even be supported (WebAssembly).
Source§fn create_dir_all_sync(&self, path: &Path) -> Result<(), FileError>
fn create_dir_all_sync(&self, path: &Path) -> Result<(), FileError>
Creates a directory with all subdirectories defined by the specified path.
Source§fn move_file<'a>(
&'a self,
source: &'a Path,
dest: &'a Path,
) -> Pin<Box<dyn Future<Output = Result<(), FileError>> + Send + 'a>>
fn move_file<'a>( &'a self, source: &'a Path, dest: &'a Path, ) -> Pin<Box<dyn Future<Output = Result<(), FileError>> + Send + 'a>>
Attempts to move a file at the given
source path to the given dest path.Source§fn delete_file<'a>(
&'a self,
path: &'a Path,
) -> Pin<Box<dyn Future<Output = Result<(), FileError>> + Send + 'a>>
fn delete_file<'a>( &'a self, path: &'a Path, ) -> Pin<Box<dyn Future<Output = Result<(), FileError>> + Send + 'a>>
Attempts to delete a file at the given
path asynchronously.Source§fn delete_file_sync(&self, path: &Path) -> Result<(), FileError>
fn delete_file_sync(&self, path: &Path) -> Result<(), FileError>
Attempts to delete a file at the given
path synchronously.Source§fn copy_file<'a>(
&'a self,
source: &'a Path,
dest: &'a Path,
) -> Pin<Box<dyn Future<Output = Result<(), FileError>> + Send + 'a>>
fn copy_file<'a>( &'a self, source: &'a Path, dest: &'a Path, ) -> Pin<Box<dyn Future<Output = Result<(), FileError>> + Send + 'a>>
Attempts to copy a file at the given
source path to the given dest path.Source§fn canonicalize_path<'a>(&'a self, path: &'a Path) -> Result<PathBuf, FileError>
fn canonicalize_path<'a>(&'a self, path: &'a Path) -> Result<PathBuf, FileError>
Tries to convert the path to its canonical form (normalize it in other terms),
and put the path into a form that is suited for use in methods of this object.
Each file should have exactly one canonical path.
This method should guarantee correct behaviour for relative paths. Symlinks aren’t mandatory to
follow.
Source§fn is_valid_file_name(&self, name: &OsStr) -> bool
fn is_valid_file_name(&self, name: &OsStr) -> bool
Checks whether the given file name is valid or not.
Source§fn exists<'a>(
&'a self,
path: &'a Path,
) -> Pin<Box<dyn Future<Output = bool> + Send + 'a>>
fn exists<'a>( &'a self, path: &'a Path, ) -> Pin<Box<dyn Future<Output = bool> + Send + 'a>>
Used to check whether a path exists
Source§fn exists_sync(&self, path: &Path) -> bool
fn exists_sync(&self, path: &Path) -> bool
Used to check whether a path exists
Auto Trait Implementations§
impl Freeze for FsResourceIo
impl RefUnwindSafe for FsResourceIo
impl Send for FsResourceIo
impl Sync for FsResourceIo
impl Unpin for FsResourceIo
impl UnsafeUnpin for FsResourceIo
impl UnwindSafe for FsResourceIo
Blanket Implementations§
Source§impl<T> AsyncTaskResult for T
impl<T> AsyncTaskResult for T
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
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Converts
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Converts
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Converts
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Converts
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSend for T
impl<T> DowncastSend for T
Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<F, T> IntoSample<T> for Fwhere
T: FromSample<F>,
impl<F, T> IntoSample<T> for Fwhere
T: FromSample<F>,
fn into_sample(self) -> T
Source§impl<T, U> ObjectOrVariant<T> for Uwhere
PhantomData<U>: ObjectOrVariantHelper<T, U>,
impl<T, U> ObjectOrVariant<T> for Uwhere
PhantomData<U>: ObjectOrVariantHelper<T, U>,
Source§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<R, P> ReadPrimitive<R> for P
impl<R, P> ReadPrimitive<R> for P
Source§fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
Read this value from the supplied reader. Same as
ReadEndian::read_from_little_endian().Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.