mod models;
mod opnsense;
mod pfsense;
mod utils;
pub use models::*;
pub use nullnet_libconfmon::{FileData, Platform, Snapshot};
use pfsense::PfSenseParser;
use crate::opnsense::OpnSenseParser;
pub enum FireparseError {
UnsupportedPlatform(String),
ParserError(String),
}
pub struct Parser {}
impl Parser {
pub fn parse(platfom: Platform, snapshot: Snapshot) -> Result<Configuration, FireparseError> {
match platfom {
Platform::PfSense => PfSenseParser::parse(snapshot),
Platform::OPNsense => OpnSenseParser::parse(snapshot),
}
}
}