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§

source

fn endianness(&self) -> Endian

source

fn pkg_id(&self) -> u16

source

fn patch_id(&self) -> u16

source

fn hash64_table(&self) -> Vec<UHashTableEntry>

Every hash64 in this package. Does not apply to Destiny 1

source

fn named_tags(&self) -> Vec<PackageNamedTagEntry>

source

fn entries(&self) -> &[UEntryHeader]

source

fn entry(&self, index: usize) -> Option<UEntryHeader>

source

fn get_block(&self, index: usize) -> Result<Arc<Vec<u8>>>

Gets/reads a specific block from the file. It’s recommended that the implementation caches blocks to prevent re-reads

Provided Methods§

source

fn language(&self) -> PackageLanguage

source

fn read_entry(&self, index: usize) -> Result<Vec<u8>>

Reads the entire specified entry’s data

source

fn read_tag(&self, tag: TagHash) -> Result<Vec<u8>>

Reads the entire specified entry’s data Tag needs to be in this package

source

fn get_all_by_reference(&self, reference: u32) -> Vec<(usize, UEntryHeader)>

source

fn get_all_by_type( &self, etype: u8, esubtype: Option<u8> ) -> Vec<(usize, UEntryHeader)>

Implementors§