Impl better to_data for some archive entry

This commit is contained in:
2026-04-13 16:36:39 +08:00
parent 4f7d696dbe
commit 21d026731b
13 changed files with 102 additions and 31 deletions

View File

@@ -338,6 +338,14 @@ impl ArchiveContent for MemEntry {
fn script_type(&self) -> Option<&ScriptType> {
self.script_type.as_ref()
}
fn data(&mut self) -> Result<Vec<u8>> {
Ok(self.data.clone())
}
fn to_data<'a>(&'a mut self) -> Result<Box<dyn ReadSeek + Send + Sync + 'a>> {
Ok(Box::new(MemReaderRef::new(&self.data)))
}
}
impl Read for MemEntry {
@@ -402,7 +410,7 @@ impl<T: Read + Seek + std::fmt::Debug> PacEntry<T> {
}
}
impl<T: Read + Seek + std::fmt::Debug> ArchiveContent for PacEntry<T> {
impl<T: Read + Seek + Send + Sync + std::fmt::Debug> ArchiveContent for PacEntry<T> {
fn name(&self) -> &str {
&self.header.name
}
@@ -410,6 +418,10 @@ impl<T: Read + Seek + std::fmt::Debug> ArchiveContent for PacEntry<T> {
fn script_type(&self) -> Option<&ScriptType> {
self.script_type.as_ref()
}
fn to_data<'a>(&'a mut self) -> Result<Box<dyn ReadSeek + Send + Sync + 'a>> {
Ok(Box::new(self))
}
}
impl<T: Read + Seek + std::fmt::Debug> Read for PacEntry<T> {