#[derive(Clone, Debug, Default)]
pub struct Extensions {
pub extension: Vec<CtExtension>,
}
#[derive(Clone, Debug, Default)]
pub struct Property {
pub name: String,
pub r#type: Option<String>,
pub xml_value: String,
}
#[derive(Clone, Debug)]
pub enum CtExtensionContentChoice {
Property(Box<Property>),
Data(Box<String>),
ExtendData(Box<crate::schemas::definitions::StLoc>),
}
#[derive(Clone, Debug, Default)]
pub struct CtExtension {
pub app_name: String,
pub company: Option<String>,
pub app_version: Option<String>,
pub date: Option<String>,
pub ref_id: crate::schemas::definitions::StRefId,
pub xml_children: Vec<CtExtensionContentChoice>,
}
#[derive(Clone, Debug, Default)]
pub struct Extension(pub CtExtension);
impl From<CtExtension> for Extension {
fn from(value: CtExtension) -> Self {
Self(value)
}
}
impl From<Extension> for CtExtension {
fn from(value: Extension) -> Self {
value.0
}
}
impl std::ops::Deref for Extension {
type Target = CtExtension;
fn deref(&self) -> &Self::Target {
&self.0
}
}
impl std::ops::DerefMut for Extension {
fn deref_mut(&mut self) -> &mut Self::Target {
&mut self.0
}
}