mod directory;
mod symlink;
mod write;
mod write_all;
use nuts_memory::MemoryBackend;
use crate::entry::mode::Mode;
use crate::entry::r#mut::{DirectoryBuilder, FileBuilder, InnerBuilder, SymlinkBuilder};
use crate::id::Id;
use crate::Archive;
fn lookup(archive: &mut Archive<MemoryBackend>, idx: usize) -> Option<&Id<MemoryBackend>> {
match archive.tree.lookup(&mut archive.pager, idx) {
Some(result) => Some(result.unwrap()),
None => None,
}
}
fn setup_inner_builder(archive: &mut Archive<MemoryBackend>) -> InnerBuilder<MemoryBackend> {
InnerBuilder::new(
&mut archive.pager,
&archive.header_id,
&mut archive.header,
&mut archive.tree,
"foo".to_string(),
Mode::file(),
)
}
fn setup_file_builder(archive: &mut Archive<MemoryBackend>) -> FileBuilder<MemoryBackend> {
FileBuilder::new(
&mut archive.pager,
&archive.header_id,
&mut archive.header,
&mut archive.tree,
"foo".to_string(),
)
}
fn setup_directory_builder(
archive: &mut Archive<MemoryBackend>,
) -> DirectoryBuilder<MemoryBackend> {
DirectoryBuilder::new(
&mut archive.pager,
&archive.header_id,
&mut archive.header,
&mut archive.tree,
"foo".to_string(),
)
}
fn setup_symlink_builder(archive: &mut Archive<MemoryBackend>) -> SymlinkBuilder<MemoryBackend> {
SymlinkBuilder::new(
&mut archive.pager,
&archive.header_id,
&mut archive.header,
&mut archive.tree,
"foo".to_string(),
"bar".to_string(),
)
}