diff -r 3e4c0285a868 -r dc3d70848c7c libidav/webdav.h --- a/libidav/webdav.h Fri Jul 12 16:59:08 2019 +0200 +++ b/libidav/webdav.h Sun Jul 28 13:07:53 2019 +0200 @@ -58,6 +58,7 @@ typedef struct DavProperty DavProperty; typedef struct DavPropName DavPropName; typedef struct DavKey DavKey; +typedef struct DavNSInfo DavNSInfo; typedef struct DavXmlNode DavXmlNode; typedef struct DavXmlAttr DavXmlAttr; @@ -162,6 +163,7 @@ struct DavContext { UcxMap *namespaces; + UcxMap *namespaceinfo; UcxMap *keys; UcxList *sessions; DavProxy *http_proxy; @@ -201,6 +203,11 @@ size_t length; }; +struct DavNSInfo { + char *prefix; + DavBool encrypt; +}; + struct DavXmlNode { DavXmlNodeType type; @@ -233,6 +240,9 @@ int dav_add_namespace(DavContext *context, const char *prefix, const char *ns); DavNamespace* dav_get_namespace(DavContext *context, const char *prefix); +int dav_enable_namespace_encryption(DavContext *context, const char *ns, DavBool encrypt); +int dav_namespace_is_encrypted(DavContext *context, const char *ns); + DavSession* dav_session_new(DavContext *context, char *base_url); DavSession* dav_session_new_auth( DavContext *context, @@ -301,6 +311,7 @@ DavXmlNode* dav_get_property(DavResource *res, char *name); DavXmlNode* dav_get_property_ns(DavResource *res, const char *ns, const char *name); +DavXmlNode* dav_get_encrypted_property_ns(DavResource *res, const char *ns, const char *name); char* dav_get_string_property(DavResource *res, char *name); char* dav_get_string_property_ns(DavResource *res, char *ns, char *name); void dav_set_string_property(DavResource *res, char *name, char *value);