Ready to refactor XML parsing
This commit is contained in:
parent
81f60ce766
commit
e638829da7
@ -102,7 +102,7 @@ impl Handler<GetDomainXMLReq> for LibVirtActor {
|
||||
let domain = Domain::lookup_by_uuid_string(&self.m, &msg.0.as_string())?;
|
||||
let xml = domain.get_xml_desc(VIR_DOMAIN_XML_SECURE)?;
|
||||
log::debug!("XML = {}", xml);
|
||||
Ok(serde_xml_rs::from_str(&xml)?)
|
||||
DomainXML::parse_xml(&xml)
|
||||
}
|
||||
}
|
||||
|
||||
@ -436,7 +436,7 @@ impl Handler<GetNetworkXMLReq> for LibVirtActor {
|
||||
let network = Network::lookup_by_uuid_string(&self.m, &msg.0.as_string())?;
|
||||
let xml = network.get_xml_desc(0)?;
|
||||
log::debug!("XML = {}", xml);
|
||||
Ok(serde_xml_rs::from_str(&xml)?)
|
||||
NetworkXML::parse_xml(&xml)
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -308,6 +308,11 @@ pub struct DomainXML {
|
||||
}
|
||||
|
||||
impl DomainXML {
|
||||
/// Decode Domain structure from XML definition
|
||||
pub fn parse_xml(xml: &str) -> anyhow::Result<Self> {
|
||||
Ok(serde_xml_rs::from_str(xml)?)
|
||||
}
|
||||
|
||||
/// Turn this domain into its XML definition
|
||||
pub fn into_xml(mut self) -> anyhow::Result<String> {
|
||||
// A issue with the disks & network interface definition serialization needs them to be serialized aside
|
||||
|
@ -155,6 +155,9 @@ pub struct NetworkXML {
|
||||
}
|
||||
|
||||
impl NetworkXML {
|
||||
pub fn parse_xml(xml: &str) -> anyhow::Result<Self> {
|
||||
Ok(serde_xml_rs::from_str(xml)?)
|
||||
}
|
||||
pub fn into_xml(mut self) -> anyhow::Result<String> {
|
||||
// A issue with the IPs definition serialization needs them to be serialized aside
|
||||
let mut ips_xml = Vec::with_capacity(self.ips.len());
|
||||
|
Loading…
Reference in New Issue
Block a user