use crate::traits::FmiModelDescription;
#[derive(Default, PartialEq, Debug, hard_xml::XmlRead, hard_xml::XmlWrite)]
#[xml(tag = "fmiModelDescription")]
pub struct MinModelDescription {
#[xml(attr = "fmiVersion")]
pub fmi_version: String,
#[xml(attr = "modelName")]
pub model_name: String,
}
impl FmiModelDescription for MinModelDescription {
fn model_name(&self) -> &str {
&self.model_name
}
fn version_string(&self) -> &str {
&self.fmi_version
}
fn deserialize(xml: &str) -> Result<Self, crate::Error> {
hard_xml::XmlRead::from_str(xml).map_err(crate::Error::XmlParse)
}
fn serialize(&self) -> Result<String, crate::Error> {
hard_xml::XmlWrite::to_string(self).map_err(crate::Error::XmlParse)
}
}