Package

Trait Package 

Source
pub trait Package: Send + Sync {
Show 15 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 language(&self) -> PackageLanguage; fn platform(&self) -> PackagePlatform; fn get_block(&self, index: usize) -> Result<Arc<Vec<u8>>>; // Provided methods 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)> { ... } fn redaction_level(&self) -> Redaction { ... }
}

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 language(&self) -> PackageLanguage

Source

fn platform(&self) -> PackagePlatform

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 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)>

Source

fn redaction_level(&self) -> Redaction

Implementors§