Use memory layout feature

This commit is contained in:
jaby 2022-10-09 18:17:09 +02:00
parent d6b0c8bff4
commit 7118dcdcd6
2 changed files with 15 additions and 11 deletions

View File

@ -1,4 +1,4 @@
use psxcdgen_ex::types::{iterator::{DirectoryIterator, DirectoryIteratorElement}, CDDesc, Data, Directory};
use psxcdgen_ex::types::{layout::Layout, CDDesc, Data, Directory};
use tool_helper::Error;
fn populate() -> Result<CDDesc, Error> {
@ -27,18 +27,14 @@ fn populate() -> Result<CDDesc, Error> {
}
fn run_main() -> Result<(), Error> {
fn dump_dir(dir: DirectoryIterator) {
for element in dir {
match element {
DirectoryIteratorElement::Directory(dir) => println!("{}", dir),
DirectoryIteratorElement::Data(data) => println!("{}", data),
}
}
}
let desc = populate()?;
dump_dir(desc.root.iter());
for element in desc.get_memory_layout().iter() {
match element {
Layout::Directory{name, properties: _} => println!("Dir: {}", name),
Layout::Data(data) => println!("File: {}", data),
}
}
Ok(())
}

View File

@ -14,6 +14,14 @@ impl CDDesc {
Err(error) => panic!("Creating root directory failed with: {}", error)
}
}
pub fn get_memory_layout(&self) -> layout::MemoryLayout {
layout::DefaultLayout::new(self)
}
pub fn get_memory_layout_mut(&mut self) -> layout::MemoryLayoutMut {
layout::DefaultLayoutMut::new(self)
}
}
pub struct Directory {