blob: 9667ad718812b0dcdaf40047e74a531836c749fa (
plain) (
tree)
|
|
use peanuts::{Element, FromElement, IntoElement};
pub const XMLNS: &str = "urn:xmpp:hints";
#[derive(Clone, Copy, Debug)]
pub struct NoPermanentStore;
impl FromElement for NoPermanentStore {
fn from_element(element: Element) -> peanuts::DeserializeResult<Self> {
element.check_name("no-permanent-store")?;
element.check_namespace(XMLNS)?;
element.no_more_content()?;
Ok(Self)
}
}
impl IntoElement for NoPermanentStore {
fn builder(&self) -> peanuts::ElementBuilder {
Element::builder("no-permanent-store", Some(XMLNS))
}
}
#[derive(Clone, Copy, Debug)]
pub struct NoStore;
impl FromElement for NoStore {
fn from_element(element: Element) -> peanuts::DeserializeResult<Self> {
element.check_name("no-store")?;
element.check_namespace(XMLNS)?;
element.no_more_content()?;
Ok(Self)
}
}
impl IntoElement for NoStore {
fn builder(&self) -> peanuts::ElementBuilder {
Element::builder("no-store", Some(XMLNS))
}
}
#[derive(Clone, Copy, Debug)]
pub struct NoCopy;
impl FromElement for NoCopy {
fn from_element(element: Element) -> peanuts::DeserializeResult<Self> {
element.check_name("no-copy")?;
element.check_namespace(XMLNS)?;
element.no_more_content()?;
Ok(Self)
}
}
impl IntoElement for NoCopy {
fn builder(&self) -> peanuts::ElementBuilder {
Element::builder("no-copy", Some(XMLNS))
}
}
#[derive(Clone, Copy, Debug)]
pub struct Store;
impl FromElement for Store {
fn from_element(element: Element) -> peanuts::DeserializeResult<Self> {
element.check_name("store")?;
element.check_namespace(XMLNS)?;
element.no_more_content()?;
Ok(Self)
}
}
impl IntoElement for Store {
fn builder(&self) -> peanuts::ElementBuilder {
Element::builder("store", Some(XMLNS))
}
}
|