pub struct ResourcePartition {
pub packages: HashMap<PatchId, ResourcePackage>,
/* private fields */
}
Fields§
§packages: HashMap<PatchId, ResourcePackage>
Implementations§
Source§impl ResourcePartition
impl ResourcePartition
pub fn new(info: PartitionInfo) -> Self
Sourcepub fn mount_resource_packages_in_partition(
&mut self,
runtime_path: &Path,
) -> Result<(), ResourcePartitionError>
pub fn mount_resource_packages_in_partition( &mut self, runtime_path: &Path, ) -> Result<(), ResourcePartitionError>
Mounts resource packages in the partition.
This function attempts to mount all necessary resource packages into the current partition. If successful, the resources will be available for use within the partition. This function will fail silently when this package can’t be found inside runtime directory
Sourcepub fn mount_resource_packages_in_partition_with_callback<F>(
&mut self,
runtime_path: &Path,
progress_callback: F,
) -> Result<(), ResourcePartitionError>where
F: FnMut(&PartitionState),
pub fn mount_resource_packages_in_partition_with_callback<F>(
&mut self,
runtime_path: &Path,
progress_callback: F,
) -> Result<(), ResourcePartitionError>where
F: FnMut(&PartitionState),
Mounts resource packages in the partition with a callback.
This function attempts to mount all necessary resource packages into the current partition. If successful, the resources will be available for use within the partition. This function will fail silently when this package can’t be found inside runtime directory.
pub fn contains(&self, rrid: &RuntimeResourceID) -> bool
pub fn num_patches(&self) -> usize
Sourcepub fn latest_resources(&self) -> Vec<(&ResourceInfo, PatchId)>
pub fn latest_resources(&self) -> Vec<(&ResourceInfo, PatchId)>
Returns the latest valid version of all resources.
This function iterates through the resources in the partition Will only contain the latest version of a resource and will ignore resources if they are removed by a package.
pub fn latest_resources_of_type( &self, resource_type: &str, ) -> Vec<(&ResourceInfo, PatchId)>
pub fn latest_resources_of_glacier_type<G: GlacierResource>( &self, ) -> Vec<(&ResourceInfo, PatchId)>
Sourcepub fn removed_resources(&self) -> Vec<(&ResourceInfo, PatchId)>
pub fn removed_resources(&self) -> Vec<(&ResourceInfo, PatchId)>
Returns a list of resources that have been removed.
This function goes through the partition and returns a list of resource marked as unneeded (i.e., deleted). Only resources actually deleted resources will be returned, if a resource is removed and the added again it will be ignored. If a package deletes a resource that was never present in any previous package, it will not be included in the returned list
pub fn removed_resources_of_type( &self, resource_type: &str, ) -> Vec<(&ResourceInfo, PatchId)>
pub fn removed_resources_of_glacier_type<G: GlacierResource>( &self, ) -> Vec<(&ResourceInfo, PatchId)>
pub fn read_resource( &self, rrid: &RuntimeResourceID, ) -> Result<Vec<u8>, ResourcePartitionError>
pub fn read_glacier_resource<T>(
&self,
woa_version: WoaVersion,
rrid: &RuntimeResourceID,
) -> Result<T::Output, ResourcePartitionError>where
T: GlacierResource,
pub fn read_resource_from( &self, rrid: &RuntimeResourceID, patch_id: PatchId, ) -> Result<Vec<u8>, ResourcePartitionError>
pub fn get_resource_info( &self, rrid: &RuntimeResourceID, ) -> Result<&ResourceInfo, ResourcePartitionError>
pub fn resource_info_from( &self, rrid: &RuntimeResourceID, patch_id: PatchId, ) -> Result<&ResourceInfo, ResourcePartitionError>
pub fn partition_info(&self) -> &PartitionInfo
pub fn resource_patch_indices(&self, rrid: &RuntimeResourceID) -> Vec<PatchId>
pub fn resource_removal_indices(&self, rrid: &RuntimeResourceID) -> Vec<PatchId>
Trait Implementations§
Auto Trait Implementations§
impl Freeze for ResourcePartition
impl RefUnwindSafe for ResourcePartition
impl Send for ResourcePartition
impl Sync for ResourcePartition
impl Unpin for ResourcePartition
impl UnwindSafe for ResourcePartition
Blanket Implementations§
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
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>
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>
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 more