aboutsummaryrefslogtreecommitdiff
path: root/src/dav/realization.rs
diff options
context:
space:
mode:
authorQuentin Dufour <quentin@deuxfleurs.fr>2024-03-05 16:07:47 +0100
committerQuentin Dufour <quentin@deuxfleurs.fr>2024-03-05 16:07:47 +0100
commit8e5d8a8aaa7bde2357ca70542a88f744005d58ba (patch)
tree6c6276a296eb5e7b8ec83c7e361247276abc9c61 /src/dav/realization.rs
parentb7a990ecdb0346e12cfeb0de34565f51af61ec80 (diff)
downloadaerogramme-8e5d8a8aaa7bde2357ca70542a88f744005d58ba.tar.gz
aerogramme-8e5d8a8aaa7bde2357ca70542a88f744005d58ba.zip
Refactor encoder+decoder WIP (compile)
Diffstat (limited to 'src/dav/realization.rs')
-rw-r--r--src/dav/realization.rs41
1 files changed, 41 insertions, 0 deletions
diff --git a/src/dav/realization.rs b/src/dav/realization.rs
new file mode 100644
index 0000000..22c9cfc
--- /dev/null
+++ b/src/dav/realization.rs
@@ -0,0 +1,41 @@
+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<Disabled> for Disabled {
+ async fn qread(&self, xml: &mut xml::Reader<impl xml::IRead>) -> Result<Option<Self>, error::ParsingError> {
+ unreachable!();
+ }
+}
+impl xml::QWrite for Disabled {
+ async fn qwrite(&self, xml: &mut xml::Writer<impl xml::IWrite>) -> 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 CalendarMin {}
+impl dav::Extension for CalendarMin
+{
+ type Error = cal::Violation;
+ type Property = cal::Property;
+ type PropertyRequest = cal::PropertyRequest;
+ type ResourceType = cal::ResourceType;
+}
+*/