Trait bevy_internal::asset::io::AssetWriter
source · pub trait AssetWriter: Send + Sync + 'static {
// Required methods
fn write<'a>(
&'a self,
path: &'a Path
) -> Pin<Box<dyn Future<Output = Result<Box<dyn AsyncWrite + Send + Sync + Unpin>, AssetWriterError>> + Send + 'a>>;
fn write_meta<'a>(
&'a self,
path: &'a Path
) -> Pin<Box<dyn Future<Output = Result<Box<dyn AsyncWrite + Send + Sync + Unpin>, AssetWriterError>> + Send + 'a>>;
fn remove<'a>(
&'a self,
path: &'a Path
) -> Pin<Box<dyn Future<Output = Result<(), AssetWriterError>> + Send + 'a>>;
fn remove_meta<'a>(
&'a self,
path: &'a Path
) -> Pin<Box<dyn Future<Output = Result<(), AssetWriterError>> + Send + 'a>>;
fn rename<'a>(
&'a self,
old_path: &'a Path,
new_path: &'a Path
) -> Pin<Box<dyn Future<Output = Result<(), AssetWriterError>> + Send + 'a>>;
fn rename_meta<'a>(
&'a self,
old_path: &'a Path,
new_path: &'a Path
) -> Pin<Box<dyn Future<Output = Result<(), AssetWriterError>> + Send + 'a>>;
fn remove_directory<'a>(
&'a self,
path: &'a Path
) -> Pin<Box<dyn Future<Output = Result<(), AssetWriterError>> + Send + 'a>>;
fn remove_empty_directory<'a>(
&'a self,
path: &'a Path
) -> Pin<Box<dyn Future<Output = Result<(), AssetWriterError>> + Send + 'a>>;
fn remove_assets_in_directory<'a>(
&'a self,
path: &'a Path
) -> Pin<Box<dyn Future<Output = Result<(), AssetWriterError>> + Send + 'a>>;
// Provided methods
fn write_bytes<'a>(
&'a self,
path: &'a Path,
bytes: &'a [u8]
) -> Pin<Box<dyn Future<Output = Result<(), AssetWriterError>> + Send + 'a>> { ... }
fn write_meta_bytes<'a>(
&'a self,
path: &'a Path,
bytes: &'a [u8]
) -> Pin<Box<dyn Future<Output = Result<(), AssetWriterError>> + Send + 'a>> { ... }
}
Expand description
Preforms write operations on an asset storage. AssetWriter
exposes a “virtual filesystem”
API, where asset bytes and asset metadata bytes are both stored and accessible for a given
path
.
Also see AssetReader
.
Required Methods§
sourcefn write<'a>(
&'a self,
path: &'a Path
) -> Pin<Box<dyn Future<Output = Result<Box<dyn AsyncWrite + Send + Sync + Unpin>, AssetWriterError>> + Send + 'a>>
fn write<'a>( &'a self, path: &'a Path ) -> Pin<Box<dyn Future<Output = Result<Box<dyn AsyncWrite + Send + Sync + Unpin>, AssetWriterError>> + Send + 'a>>
Writes the full asset bytes at the provided path.
sourcefn write_meta<'a>(
&'a self,
path: &'a Path
) -> Pin<Box<dyn Future<Output = Result<Box<dyn AsyncWrite + Send + Sync + Unpin>, AssetWriterError>> + Send + 'a>>
fn write_meta<'a>( &'a self, path: &'a Path ) -> Pin<Box<dyn Future<Output = Result<Box<dyn AsyncWrite + Send + Sync + Unpin>, AssetWriterError>> + Send + '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 Future<Output = Result<(), AssetWriterError>> + Send + 'a>>
fn remove<'a>( &'a self, path: &'a Path ) -> Pin<Box<dyn Future<Output = Result<(), AssetWriterError>> + Send + 'a>>
Removes the asset stored at the given path.
sourcefn remove_meta<'a>(
&'a self,
path: &'a Path
) -> Pin<Box<dyn Future<Output = Result<(), AssetWriterError>> + Send + 'a>>
fn remove_meta<'a>( &'a self, path: &'a Path ) -> Pin<Box<dyn Future<Output = Result<(), AssetWriterError>> + Send + '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 Future<Output = Result<(), AssetWriterError>> + Send + 'a>>
fn rename<'a>( &'a self, old_path: &'a Path, new_path: &'a Path ) -> Pin<Box<dyn Future<Output = Result<(), AssetWriterError>> + Send + '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 Future<Output = Result<(), AssetWriterError>> + Send + 'a>>
fn rename_meta<'a>( &'a self, old_path: &'a Path, new_path: &'a Path ) -> Pin<Box<dyn Future<Output = Result<(), AssetWriterError>> + Send + 'a>>
Renames the asset meta for the asset at old_path
to new_path
.
This should not include storage specific extensions like .meta
.
sourcefn remove_directory<'a>(
&'a self,
path: &'a Path
) -> Pin<Box<dyn Future<Output = Result<(), AssetWriterError>> + Send + 'a>>
fn remove_directory<'a>( &'a self, path: &'a Path ) -> Pin<Box<dyn Future<Output = Result<(), AssetWriterError>> + Send + '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 Future<Output = Result<(), AssetWriterError>> + Send + 'a>>
fn remove_empty_directory<'a>( &'a self, path: &'a Path ) -> Pin<Box<dyn Future<Output = Result<(), AssetWriterError>> + Send + '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 Future<Output = Result<(), AssetWriterError>> + Send + 'a>>
fn remove_assets_in_directory<'a>( &'a self, path: &'a Path ) -> Pin<Box<dyn Future<Output = Result<(), AssetWriterError>> + Send + 'a>>
Removes all assets (and directories) in this directory, resulting in an empty directory.