mod builder; mod file; use crate::Entry; pub use builder::Builder; use libarchive3_sys::ffi; pub struct WriteEntry { entry: *mut ffi::Struct_archive_entry, } impl WriteEntry { pub fn new() -> Self { let entry = unsafe { ffi::archive_entry_new() }; Self { entry } } } impl Entry for WriteEntry { unsafe fn entry(&self) -> *const ffi::Struct_archive_entry { self.entry as *const _ } unsafe fn entry_mut(&mut self) -> *mut ffi::Struct_archive_entry { self.entry } } impl Drop for WriteEntry { fn drop(&mut self) { unsafe { ffi::archive_entry_free(self.entry_mut()) } } }