]> uap-core.de Git - note.git/commitdiff
prepare dav-rs xml type main
authorOlaf Wintermann <olaf.wintermann@gmail.com>
Thu, 25 Jun 2026 19:46:30 +0000 (21:46 +0200)
committerOlaf Wintermann <olaf.wintermann@gmail.com>
Thu, 25 Jun 2026 19:46:30 +0000 (21:46 +0200)
dav-rs/src/dav/ffi.rs
dav-rs/src/dav/mod.rs
dav-rs/src/dav/xml.rs [new file with mode: 0644]

index 40fff764c8c4e2f5140b607863f4b16186cd0445..aea58aa1bb766f75c4d56faef9b9195ae58c77ed 100644 (file)
@@ -94,3 +94,39 @@ pub enum DavError {
     DavProxyAuthRequired,
     DavNetAuthRequired,
 }
+
+
+#[repr(C)]
+#[derive(Debug, Copy, Clone, PartialEq, Eq)]
+pub enum DavXmlNodeType {
+    None = 0,
+    Element,
+    Text,
+}
+
+#[repr(C)]
+#[derive(Debug)]
+pub struct DavXmlNode {
+    pub node_type: DavXmlNodeType,
+
+    pub namespace: *mut c_char,
+    pub name: *mut c_char,
+
+    pub prev: *mut DavXmlNode,
+    pub next: *mut DavXmlNode,
+    pub children: *mut DavXmlNode,
+    pub parent: *mut DavXmlNode,
+
+    pub attributes: *mut DavXmlAttr,
+
+    pub content: *mut c_char,
+    pub contentlength: usize,
+}
+
+#[repr(C)]
+#[derive(Debug)]
+pub struct DavXmlAttr {
+    pub name: *mut c_char,
+    pub value: *mut c_char,
+    pub next: *mut DavXmlAttr,
+}
index 19d865a592f5acc230a4d4332534f9d35b50e09a..6466028a36ecdf67172012e9b89867451a2eba6f 100644 (file)
@@ -29,4 +29,5 @@
 mod context;
 mod ffi;
 mod session;
-mod resource;
\ No newline at end of file
+mod resource;
+mod xml;
\ No newline at end of file
diff --git a/dav-rs/src/dav/xml.rs b/dav-rs/src/dav/xml.rs
new file mode 100644 (file)
index 0000000..31cf6c2
--- /dev/null
@@ -0,0 +1,32 @@
+/*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+ *
+ * Copyright 2026 Olaf Wintermann. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ *   1. Redistributions of source code must retain the above copyright
+ *      notice, this list of conditions and the following disclaimer.
+ *
+ *   2. Redistributions in binary form must reproduce the above copyright
+ *      notice, this list of conditions and the following disclaimer in the
+ *      documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+use crate::dav::ffi;
+
+pub struct XmlNode {
+    pub ptr: *mut ffi::DavXmlNode,
+}
\ No newline at end of file