use super::types as dav; use super::caltypes as cal; use super::xml; use super::error; #[derive(Debug, PartialEq)] pub struct Disabled(()); impl xml::QRead for Disabled { async fn qread(&self, xml: &mut xml::Reader) -> Result, error::ParsingError> { unreachable!(); } } impl xml::QWrite for Disabled { async fn qwrite(&self, xml: &mut xml::Writer) -> Result<(), quick_xml::Error> { unreachable!(); } } /// The base WebDAV /// /// Any extension is kooh is disabled through an object we can't build /// due to a private inner element. pub struct Core {} impl dav::Extension for Core { type Error = Disabled; type Property = Disabled; type PropertyRequest = Disabled; type ResourceType = Disabled; } // WebDAV with the base Calendar implementation (RFC4791) pub struct Calendar {} impl dav::Extension for Calendar { type Error = cal::Violation; type Property = cal::Property; type PropertyRequest = cal::PropertyRequest; type ResourceType = cal::ResourceType; }