pub trait ErasedAssetWriter:
Send
+ Sync
+ 'static {
// Required methods
fn write<'a>(
&'a self,
path: &'a Path,
) -> BoxedFuture<'a, Result<Box<Writer>, AssetWriterError>>;
fn write_meta<'a>(
&'a self,
path: &'a Path,
) -> BoxedFuture<'a, Result<Box<Writer>, AssetWriterError>>;
fn remove<'a>(
&'a self,
path: &'a Path,
) -> BoxedFuture<'a, Result<(), AssetWriterError>>;
fn remove_meta<'a>(
&'a self,
path: &'a Path,
) -> BoxedFuture<'a, Result<(), AssetWriterError>>;
fn rename<'a>(
&'a self,
old_path: &'a Path,
new_path: &'a Path,
) -> BoxedFuture<'a, Result<(), AssetWriterError>>;
fn rename_meta<'a>(
&'a self,
old_path: &'a Path,
new_path: &'a Path,
) -> BoxedFuture<'a, Result<(), AssetWriterError>>;
fn create_directory<'a>(
&'a self,
path: &'a Path,
) -> BoxedFuture<'a, Result<(), AssetWriterError>>;
fn remove_directory<'a>(
&'a self,
path: &'a Path,
) -> BoxedFuture<'a, Result<(), AssetWriterError>>;
fn remove_empty_directory<'a>(
&'a self,
path: &'a Path,
) -> BoxedFuture<'a, Result<(), AssetWriterError>>;
fn remove_assets_in_directory<'a>(
&'a self,
path: &'a Path,
) -> BoxedFuture<'a, Result<(), AssetWriterError>>;
fn write_bytes<'a>(
&'a self,
path: &'a Path,
bytes: &'a [u8],
) -> BoxedFuture<'a, Result<(), AssetWriterError>>;
fn write_meta_bytes<'a>(
&'a self,
path: &'a Path,
bytes: &'a [u8],
) -> BoxedFuture<'a, Result<(), AssetWriterError>>;
}
Expand description
Equivalent to an AssetWriter
but using boxed futures, necessary eg. when using a dyn AssetWriter
,
as AssetWriter
isn’t currently object safe.
Required Methods§
Sourcefn write<'a>(
&'a self,
path: &'a Path,
) -> BoxedFuture<'a, Result<Box<Writer>, AssetWriterError>>
fn write<'a>( &'a self, path: &'a Path, ) -> BoxedFuture<'a, Result<Box<Writer>, AssetWriterError>>
Writes the full asset bytes at the provided path.
Sourcefn write_meta<'a>(
&'a self,
path: &'a Path,
) -> BoxedFuture<'a, Result<Box<Writer>, AssetWriterError>>
fn write_meta<'a>( &'a self, path: &'a Path, ) -> BoxedFuture<'a, Result<Box<Writer>, AssetWriterError>>
Writes the full asset meta bytes at the provided path.
This should not include storage specific extensions like .meta
.
Sourcefn remove<'a>(
&'a self,
path: &'a Path,
) -> BoxedFuture<'a, Result<(), AssetWriterError>>
fn remove<'a>( &'a self, path: &'a Path, ) -> BoxedFuture<'a, Result<(), AssetWriterError>>
Removes the asset stored at the given path.
Sourcefn remove_meta<'a>(
&'a self,
path: &'a Path,
) -> BoxedFuture<'a, Result<(), AssetWriterError>>
fn remove_meta<'a>( &'a self, path: &'a Path, ) -> BoxedFuture<'a, Result<(), AssetWriterError>>
Removes the asset meta stored at the given path.
This should not include storage specific extensions like .meta
.
Sourcefn rename<'a>(
&'a self,
old_path: &'a Path,
new_path: &'a Path,
) -> BoxedFuture<'a, Result<(), AssetWriterError>>
fn rename<'a>( &'a self, old_path: &'a Path, new_path: &'a Path, ) -> BoxedFuture<'a, Result<(), AssetWriterError>>
Renames the asset at old_path
to new_path
Sourcefn rename_meta<'a>(
&'a self,
old_path: &'a Path,
new_path: &'a Path,
) -> BoxedFuture<'a, Result<(), AssetWriterError>>
fn rename_meta<'a>( &'a self, old_path: &'a Path, new_path: &'a Path, ) -> BoxedFuture<'a, Result<(), AssetWriterError>>
Renames the asset meta for the asset at old_path
to new_path
.
This should not include storage specific extensions like .meta
.
Sourcefn create_directory<'a>(
&'a self,
path: &'a Path,
) -> BoxedFuture<'a, Result<(), AssetWriterError>>
fn create_directory<'a>( &'a self, path: &'a Path, ) -> BoxedFuture<'a, Result<(), AssetWriterError>>
Creates a directory at the given path, including all parent directories if they do not already exist.
Sourcefn remove_directory<'a>(
&'a self,
path: &'a Path,
) -> BoxedFuture<'a, Result<(), AssetWriterError>>
fn remove_directory<'a>( &'a self, path: &'a Path, ) -> BoxedFuture<'a, Result<(), AssetWriterError>>
Removes the directory at the given path, including all assets and directories in that directory.
Sourcefn remove_empty_directory<'a>(
&'a self,
path: &'a Path,
) -> BoxedFuture<'a, Result<(), AssetWriterError>>
fn remove_empty_directory<'a>( &'a self, path: &'a Path, ) -> BoxedFuture<'a, Result<(), AssetWriterError>>
Removes the directory at the given path, but only if it is completely empty. This will return an error if the directory is not empty.
Sourcefn remove_assets_in_directory<'a>(
&'a self,
path: &'a Path,
) -> BoxedFuture<'a, Result<(), AssetWriterError>>
fn remove_assets_in_directory<'a>( &'a self, path: &'a Path, ) -> BoxedFuture<'a, Result<(), AssetWriterError>>
Removes all assets (and directories) in this directory, resulting in an empty directory.
Sourcefn write_bytes<'a>(
&'a self,
path: &'a Path,
bytes: &'a [u8],
) -> BoxedFuture<'a, Result<(), AssetWriterError>>
fn write_bytes<'a>( &'a self, path: &'a Path, bytes: &'a [u8], ) -> BoxedFuture<'a, Result<(), AssetWriterError>>
Writes the asset bytes
to the given path
.
Sourcefn write_meta_bytes<'a>(
&'a self,
path: &'a Path,
bytes: &'a [u8],
) -> BoxedFuture<'a, Result<(), AssetWriterError>>
fn write_meta_bytes<'a>( &'a self, path: &'a Path, bytes: &'a [u8], ) -> BoxedFuture<'a, Result<(), AssetWriterError>>
Writes the asset meta bytes
to the given path
.