mod block;
mod fixed;
pub use block::*;
pub use fixed::*;
use crate::{ResError, ResWriter, Resource};
#[derive(Debug, Default)]
pub struct VersionInfo {
pub fixed: FixedInfo,
pub block: BlockInfo,
}
impl VersionInfo {
pub fn new() -> Self {
Self::default()
}
pub fn from_env() -> Result<Self, ResError> {
Ok(Self {
fixed: FixedInfo::from_env()?,
block: BlockInfo::from_env()?,
})
}
pub fn with_language(mut self, language: u16) -> Self {
self.block.language = language;
self
}
}
impl Resource for VersionInfo {
fn write(&self, writer: &mut ResWriter) -> Result<(), ResError> {
writer.line("1 VERSIONINFO");
self.fixed.write(writer);
self.block.write(writer);
Ok(())
}
}