Trait destiny_pkg::package::Package
source · pub trait Package: Send + Sync {
Show 13 methods
// Required methods
fn endianness(&self) -> Endian;
fn pkg_id(&self) -> u16;
fn patch_id(&self) -> u16;
fn hash64_table(&self) -> Vec<UHashTableEntry>;
fn named_tags(&self) -> Vec<PackageNamedTagEntry>;
fn entries(&self) -> &[UEntryHeader];
fn entry(&self, index: usize) -> Option<UEntryHeader>;
fn get_block(&self, index: usize) -> Result<Arc<Vec<u8>>>;
// Provided methods
fn language(&self) -> PackageLanguage { ... }
fn read_entry(&self, index: usize) -> Result<Vec<u8>> { ... }
fn read_tag(&self, tag: TagHash) -> Result<Vec<u8>> { ... }
fn get_all_by_reference(&self, reference: u32) -> Vec<(usize, UEntryHeader)> { ... }
fn get_all_by_type(
&self,
etype: u8,
esubtype: Option<u8>
) -> Vec<(usize, UEntryHeader)> { ... }
}
Required Methods§
fn endianness(&self) -> Endian
fn pkg_id(&self) -> u16
fn patch_id(&self) -> u16
sourcefn hash64_table(&self) -> Vec<UHashTableEntry>
fn hash64_table(&self) -> Vec<UHashTableEntry>
Every hash64 in this package. Does not apply to Destiny 1
fn entries(&self) -> &[UEntryHeader]
fn entry(&self, index: usize) -> Option<UEntryHeader>
Provided Methods§
fn language(&self) -> PackageLanguage
sourcefn read_tag(&self, tag: TagHash) -> Result<Vec<u8>>
fn read_tag(&self, tag: TagHash) -> Result<Vec<u8>>
Reads the entire specified entry’s data Tag needs to be in this package