All checks were successful
Run Check Script / check (pull_request) Successful in 59s
Co-authored-by: Jean-Gabriel Gill-Couture <jeangabriel.gc@gmail.com> Co-authored-by: Ian Letourneau <ian@noma.to> Reviewed-on: https://git.nationtech.io/NationTech/harmony/pulls/130 Reviewed-by: Ian Letourneau <ian@noma.to> Co-authored-by: Jean-Gabriel Gill-Couture <jg@nationtech.io> Co-committed-by: Jean-Gabriel Gill-Couture <jg@nationtech.io>
38 lines
1.2 KiB
Rust
38 lines
1.2 KiB
Rust
use opnsense_config_xml::{Host, OPNsense};
|
|
|
|
pub struct UnboundDnsConfig<'a> {
|
|
opnsense: &'a mut OPNsense,
|
|
}
|
|
|
|
impl<'a> UnboundDnsConfig<'a> {
|
|
pub fn new(opnsense: &'a mut OPNsense) -> Self {
|
|
Self { opnsense }
|
|
}
|
|
|
|
pub fn register_hosts(&mut self, mut hosts: Vec<Host>) {
|
|
let unbound = match &mut self.opnsense.opnsense.unboundplus {
|
|
Some(unbound) => unbound,
|
|
None => todo!("Handle case where unboundplus is not used"),
|
|
};
|
|
unbound.hosts.hosts.append(&mut hosts);
|
|
}
|
|
|
|
pub fn get_hosts(&self) -> Vec<Host> {
|
|
let unbound = match &self.opnsense.opnsense.unboundplus {
|
|
Some(unbound) => unbound,
|
|
None => todo!("Handle case where unboundplus is not used"),
|
|
};
|
|
unbound.hosts.hosts.clone()
|
|
}
|
|
|
|
pub fn register_dhcp_leases(&mut self, register: bool) {
|
|
let unbound = match &mut self.opnsense.opnsense.unboundplus {
|
|
Some(unbound) => unbound,
|
|
None => todo!("Handle case where unboundplus is not used"),
|
|
};
|
|
|
|
unbound.general.regdhcp = Some(register as i8);
|
|
unbound.general.regdhcpstatic = Some(register as i8);
|
|
}
|
|
}
|