use std::fs::File;
pub mod data_extension_hdr;
pub mod file_hdr;
pub mod graphic_hdr;
pub mod image_hdr;
pub mod reserved_extension_hdr;
pub mod text_hdr;
pub use data_extension_hdr::DataExtensionHeader;
pub use file_hdr::NitfHeader;
pub use graphic_hdr::GraphicHeader;
pub use image_hdr::ImageHeader;
pub use reserved_extension_hdr::ReservedExtensionHeader;
pub use text_hdr::TextHeader;
use crate::NitfResult;
pub trait NitfSegmentHeader
where
Self: Sized + Default,
{
#[allow(unused)]
fn read(&mut self, reader: &mut File) -> NitfResult<()>;
#[allow(unused)]
fn write(&self, writer: &mut File) -> NitfResult<usize>;
#[allow(unused)]
fn length(&self) -> usize;
fn from_reader(reader: &mut File) -> NitfResult<Self> {
let mut hdr = Self::default();
hdr.read(reader)?;
Ok(hdr)
}
}