}
pub fn new<'a>(sn: &Session, path: &str) -> Resource<'a> {
- let path = CString::new(path).unwrap();
unsafe {
+ let path = CString::from_vec_unchecked(path.into());
let res = dav_resource_new(sn.ptr, path.as_ptr());
Resource::from_ptr(res)
}
}
pub fn get_property(&self, namespace: &str, name: &str) -> XmlNodeRef<'_> {
- let ns_cstr = CString::new(namespace).unwrap();
- let name_cstr = CString::new(name).unwrap();
unsafe {
+ let ns_cstr = CString::from_vec_unchecked(namespace.into());
+ let name_cstr = CString::from_vec_unchecked(name.into());
let node_ptr = dav_get_property_ns(self.ptr, ns_cstr.as_ptr(), name_cstr.as_ptr());
XmlNodeRef::from_ptr(node_ptr)
}
}
pub fn get_prefixed_property(&self, prefixed_name: &str) -> XmlNodeRef<'_> {
- let prefixed_name_cstr = CString::new(prefixed_name).unwrap();
unsafe {
+ let prefixed_name_cstr = CString::from_vec_unchecked(prefixed_name.into());
let node_ptr = dav_get_property(self.ptr, prefixed_name_cstr.as_ptr());
XmlNodeRef::from_ptr(node_ptr)
}
}
pub fn set_property(&self, namespace: &str, name: &str, value: &XmlNodeRef) {
- let ns_cstr = CString::new(namespace).unwrap();
- let name_cstr = CString::new(name).unwrap();
unsafe {
+ let ns_cstr = CString::from_vec_unchecked(namespace.into());
+ let name_cstr = CString::from_vec_unchecked(name.into());
dav_set_property_ns(self.ptr, ns_cstr.as_ptr(), name_cstr.as_ptr(), value.ptr);
}
}
pub fn set_prefixed_property(&self, prefixed_name: &str, value: &XmlNodeRef) {
- let prefixed_name_cstr = CString::new(prefixed_name).unwrap();
unsafe {
+ let prefixed_name_cstr = CString::from_vec_unchecked(prefixed_name.into());
dav_set_property(self.ptr, prefixed_name_cstr.as_ptr(), value.ptr);
}
}
pub fn set_string_property(&self, namespace: &str, name: &str, value: &str) {
- let cstr_ns = CString::new(namespace).unwrap();
- let cstr_name = CString::new(name).unwrap();
- let cstr_value = CString::new(value).unwrap();
unsafe {
- dav_set_string_property_ns(self.ptr, cstr_ns.as_ptr(), cstr_name.as_ptr(), cstr_value.as_ptr());
+ let ns_cstr = CString::from_vec_unchecked(namespace.into());
+ let name_cstr = CString::from_vec_unchecked(name.into());
+ let cstr_value = CString::from_vec_unchecked(value.into());
+ dav_set_string_property_ns(self.ptr, ns_cstr.as_ptr(), name_cstr.as_ptr(), cstr_value.as_ptr());
}
}
pub fn set_string_prefixed_property(&self, prefixed_name: &str, value: &str) {
- let cstr_name = CString::new(prefixed_name).unwrap();
- let cstr_value = CString::new(value).unwrap();
unsafe {
+ let cstr_name = CString::from_vec_unchecked(prefixed_name.into());
+ let cstr_value = CString::from_vec_unchecked(value.into());
dav_set_string_property(self.ptr, cstr_name.as_ptr(), cstr_value.as_ptr());
}
}
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 {
+ let ns_cstr = CString::from_vec_unchecked(namespace.into());
+ let name_cstr = CString::from_vec_unchecked(name.into());
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 {
+ let prefixed_name_cstr = CString::from_vec_unchecked(prefixed_name.into());
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();
- let cstr_value = CString::new(value).unwrap();
unsafe {
- dav_set_encrypted_string_property_ns(self.ptr, cstr_ns.as_ptr(), cstr_name.as_ptr(), cstr_value.as_ptr());
+ let ns_cstr = CString::from_vec_unchecked(namespace.into());
+ let name_cstr = CString::from_vec_unchecked(name.into());
+ let value_cstr = CString::from_vec_unchecked(value.into());
+ dav_set_encrypted_string_property_ns(self.ptr, ns_cstr.as_ptr(), name_cstr.as_ptr(), value_cstr.as_ptr());
}
}
pub fn get_string_property(&self, namespace: &str, name: &str) -> Option<String> {
- let cstr_ns = CString::new(namespace).unwrap();
- let cstr_name = CString::new(name).unwrap();
unsafe {
- let value = dav_get_string_property_ns(self.ptr, cstr_ns.as_ptr(), cstr_name.as_ptr());
+ let ns_cstr = CString::from_vec_unchecked(namespace.into());
+ let name_cstr = CString::from_vec_unchecked(name.into());
+ let value = dav_get_string_property_ns(self.ptr, ns_cstr.as_ptr(), name_cstr.as_ptr());
if value.is_null() {
None
} else {
}
pub fn get_string_prefixed_property(&self, prefixed_name: &str) -> Option<String> {
- let cstr_name = CString::new(prefixed_name).unwrap();
unsafe {
+ let cstr_name = CString::from_vec_unchecked(prefixed_name.into());
let value = dav_get_string_property(self.ptr, cstr_name.as_ptr());
if value.is_null() {
None
}
pub fn remove_property(&self, namespace: &str, name: &str) {
- let cstr_ns = CString::new(namespace).unwrap();
- let cstr_name = CString::new(name).unwrap();
unsafe {
- dav_remove_property_ns(self.ptr, cstr_ns.as_ptr(), cstr_name.as_ptr());
+ let ns_cstr = CString::from_vec_unchecked(namespace.into());
+ let name_cstr = CString::from_vec_unchecked(name.into());
+ dav_remove_property_ns(self.ptr, ns_cstr.as_ptr(), name_cstr.as_ptr());
}
}
pub fn remove_prefixed_property(&self, prefixed_name: &str) {
- let cstr_name = CString::new(prefixed_name).unwrap();
unsafe {
+ let cstr_name = CString::from_vec_unchecked(prefixed_name.into());
dav_remove_property(self.ptr, cstr_name.as_ptr());
}
}
pub fn remove_encrypted_property(&self, namespace: &str, name: &str) {
- let cstr_ns = CString::new(namespace).unwrap();
- let cstr_name = CString::new(name).unwrap();
unsafe {
- dav_remove_encrypted_property_ns(self.ptr, cstr_ns.as_ptr(), cstr_name.as_ptr());
+ let ns_cstr = CString::from_vec_unchecked(namespace.into());
+ let name_cstr = CString::from_vec_unchecked(name.into());
+ dav_remove_encrypted_property_ns(self.ptr, ns_cstr.as_ptr(), name_cstr.as_ptr());
}
}
}
impl Session {
pub fn new_resource<'a>(&self, path: &str) -> Resource<'a> {
- let cstr = CString::new(path).unwrap();
unsafe {
+ let cstr = CString::from_vec_unchecked(path.into());
Resource {
base: ResourceRef {
ptr: dav_resource_new(self.ptr, cstr.as_ptr()),