pub trait ErasedAssetWriter:
Send
+ Sync
+ 'static {
// Required methods
fn write<'a>(
&'a self,
path: &'a Path,
) -> Pin<Box<dyn ConditionalSendFuture<Output = Result<Box<dyn AsyncWrite + Sync + Unpin + Send>, AssetWriterError>> + 'a>>;
fn write_meta<'a>(
&'a self,
path: &'a Path,
) -> Pin<Box<dyn ConditionalSendFuture<Output = Result<Box<dyn AsyncWrite + Sync + Unpin + Send>, AssetWriterError>> + 'a>>;
fn remove<'a>(
&'a self,
path: &'a Path,
) -> Pin<Box<dyn ConditionalSendFuture<Output = Result<(), AssetWriterError>> + 'a>>;
fn remove_meta<'a>(
&'a self,
path: &'a Path,
) -> Pin<Box<dyn ConditionalSendFuture<Output = Result<(), AssetWriterError>> + 'a>>;
fn rename<'a>(
&'a self,
old_path: &'a Path,
new_path: &'a Path,
) -> Pin<Box<dyn ConditionalSendFuture<Output = Result<(), AssetWriterError>> + 'a>>;
fn rename_meta<'a>(
&'a self,
old_path: &'a Path,
new_path: &'a Path,
) -> Pin<Box<dyn ConditionalSendFuture<Output = Result<(), AssetWriterError>> + 'a>>;
fn create_directory<'a>(
&'a self,
path: &'a Path,
) -> Pin<Box<dyn ConditionalSendFuture<Output = Result<(), AssetWriterError>> + 'a>>;
fn remove_directory<'a>(
&'a self,
path: &'a Path,
) -> Pin<Box<dyn ConditionalSendFuture<Output = Result<(), AssetWriterError>> + 'a>>;
fn remove_empty_directory<'a>(
&'a self,
path: &'a Path,
) -> Pin<Box<dyn ConditionalSendFuture<Output = Result<(), AssetWriterError>> + 'a>>;
fn remove_assets_in_directory<'a>(
&'a self,
path: &'a Path,
) -> Pin<Box<dyn ConditionalSendFuture<Output = Result<(), AssetWriterError>> + 'a>>;
fn write_bytes<'a>(
&'a self,
path: &'a Path,
bytes: &'a [u8],
) -> Pin<Box<dyn ConditionalSendFuture<Output = Result<(), AssetWriterError>> + 'a>>;
fn write_meta_bytes<'a>(
&'a self,
path: &'a Path,
bytes: &'a [u8],
) -> Pin<Box<dyn ConditionalSendFuture<Output = Result<(), AssetWriterError>> + 'a>>;
}
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,
) -> Pin<Box<dyn ConditionalSendFuture<Output = Result<Box<dyn AsyncWrite + Sync + Unpin + Send>, AssetWriterError>> + 'a>>
fn write<'a>( &'a self, path: &'a Path, ) -> Pin<Box<dyn ConditionalSendFuture<Output = Result<Box<dyn AsyncWrite + Sync + Unpin + Send>, AssetWriterError>> + 'a>>
Writes the full asset bytes at the provided path.
Sourcefn write_meta<'a>(
&'a self,
path: &'a Path,
) -> Pin<Box<dyn ConditionalSendFuture<Output = Result<Box<dyn AsyncWrite + Sync + Unpin + Send>, AssetWriterError>> + 'a>>
fn write_meta<'a>( &'a self, path: &'a Path, ) -> Pin<Box<dyn ConditionalSendFuture<Output = Result<Box<dyn AsyncWrite + Sync + Unpin + Send>, AssetWriterError>> + 'a>>
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,
) -> Pin<Box<dyn ConditionalSendFuture<Output = Result<(), AssetWriterError>> + 'a>>
fn remove<'a>( &'a self, path: &'a Path, ) -> Pin<Box<dyn ConditionalSendFuture<Output = Result<(), AssetWriterError>> + 'a>>
Removes the asset stored at the given path.
Sourcefn remove_meta<'a>(
&'a self,
path: &'a Path,
) -> Pin<Box<dyn ConditionalSendFuture<Output = Result<(), AssetWriterError>> + 'a>>
fn remove_meta<'a>( &'a self, path: &'a Path, ) -> Pin<Box<dyn ConditionalSendFuture<Output = Result<(), AssetWriterError>> + 'a>>
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,
) -> Pin<Box<dyn ConditionalSendFuture<Output = Result<(), AssetWriterError>> + 'a>>
fn rename<'a>( &'a self, old_path: &'a Path, new_path: &'a Path, ) -> Pin<Box<dyn ConditionalSendFuture<Output = Result<(), AssetWriterError>> + 'a>>
Renames the asset at old_path
to new_path
Sourcefn rename_meta<'a>(
&'a self,
old_path: &'a Path,
new_path: &'a Path,
) -> Pin<Box<dyn ConditionalSendFuture<Output = Result<(), AssetWriterError>> + 'a>>
fn rename_meta<'a>( &'a self, old_path: &'a Path, new_path: &'a Path, ) -> Pin<Box<dyn ConditionalSendFuture<Output = Result<(), AssetWriterError>> + 'a>>
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,
) -> Pin<Box<dyn ConditionalSendFuture<Output = Result<(), AssetWriterError>> + 'a>>
fn create_directory<'a>( &'a self, path: &'a Path, ) -> Pin<Box<dyn ConditionalSendFuture<Output = Result<(), AssetWriterError>> + 'a>>
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,
) -> Pin<Box<dyn ConditionalSendFuture<Output = Result<(), AssetWriterError>> + 'a>>
fn remove_directory<'a>( &'a self, path: &'a Path, ) -> Pin<Box<dyn ConditionalSendFuture<Output = Result<(), AssetWriterError>> + 'a>>
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,
) -> Pin<Box<dyn ConditionalSendFuture<Output = Result<(), AssetWriterError>> + 'a>>
fn remove_empty_directory<'a>( &'a self, path: &'a Path, ) -> Pin<Box<dyn ConditionalSendFuture<Output = Result<(), AssetWriterError>> + 'a>>
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,
) -> Pin<Box<dyn ConditionalSendFuture<Output = Result<(), AssetWriterError>> + 'a>>
fn remove_assets_in_directory<'a>( &'a self, path: &'a Path, ) -> Pin<Box<dyn ConditionalSendFuture<Output = Result<(), AssetWriterError>> + 'a>>
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],
) -> Pin<Box<dyn ConditionalSendFuture<Output = Result<(), AssetWriterError>> + 'a>>
fn write_bytes<'a>( &'a self, path: &'a Path, bytes: &'a [u8], ) -> Pin<Box<dyn ConditionalSendFuture<Output = Result<(), AssetWriterError>> + 'a>>
Writes the asset bytes
to the given path
.
Sourcefn write_meta_bytes<'a>(
&'a self,
path: &'a Path,
bytes: &'a [u8],
) -> Pin<Box<dyn ConditionalSendFuture<Output = Result<(), AssetWriterError>> + 'a>>
fn write_meta_bytes<'a>( &'a self, path: &'a Path, bytes: &'a [u8], ) -> Pin<Box<dyn ConditionalSendFuture<Output = Result<(), AssetWriterError>> + 'a>>
Writes the asset meta bytes
to the given path
.