]> uap-core.de Git - note.git/commitdiff
add methods for setting encrypted properties
authorOlaf Wintermann <olaf.wintermann@gmail.com>
Fri, 3 Jul 2026 17:25:11 +0000 (19:25 +0200)
committerOlaf Wintermann <olaf.wintermann@gmail.com>
Fri, 3 Jul 2026 17:25:11 +0000 (19:25 +0200)
dav-rs/src/dav/resource.rs

index b843658822c9c41d463007cf6ba1b42158a60ede..4a667c59b426a63aae9131a5e10d127eda1a5873 100644 (file)
@@ -345,6 +345,21 @@ impl<'a> ResourceRef<'a> {
         }
     }
 
+    pub fn set_encrypted_property(&self, namespace: &str, name: &str, value: &XmlNodeRef) {
+        let ns_cstr = CString::new(namespace).unwrap();
+        let name_cstr = CString::new(name).unwrap();
+        unsafe {
+            dav_set_encrypted_property_ns(self.ptr, ns_cstr.as_ptr(), name_cstr.as_ptr(), value.ptr);
+        }
+    }
+
+    pub fn set_encrypted_prefixed_property(&self, prefixed_name: &str, value: &XmlNodeRef) {
+        let prefixed_name_cstr = CString::new(prefixed_name).unwrap();
+        unsafe {
+            dav_set_encrypted_property(self.ptr, prefixed_name_cstr.as_ptr(), value.ptr);
+        }
+    }
+
     pub fn set_encrypted_string_property(&self, namespace: &str, name: &str, value: &str) {
         let cstr_ns = CString::new(namespace).unwrap();
         let cstr_name = CString::new(name).unwrap();
@@ -568,6 +583,8 @@ unsafe extern "C" {
     fn dav_get_string_property_ns(res: *mut ffi::DavResource, namespace: *const c_char, property: *const c_char) -> *mut c_char;
     fn dav_set_string_property(res: *mut ffi::DavResource, property: *const c_char, value: *const c_char);
     fn dav_set_string_property_ns(res: *mut ffi::DavResource, namespace: *const c_char, property: *const c_char, value: *const c_char);
+    fn dav_set_encrypted_property(res: *mut ffi::DavResource, property: *const c_char, value: *mut ffi::DavXmlNode);
+    fn dav_set_encrypted_property_ns(res: *mut ffi::DavResource, namespace: *const c_char, property: *const c_char, value: *mut ffi::DavXmlNode);
     fn dav_set_encrypted_string_property_ns(res: *mut ffi::DavResource, namespace: *const c_char, property: *const c_char, value: *const c_char);
 
     fn dav_remove_property(res: *mut ffi::DavResource, property: *const c_char);