libidav/webdav.h

branch
dav-2
changeset 914
42c6b071b231
parent 903
457faa53fd7e
--- a/libidav/webdav.h	Sat Feb 14 18:11:29 2026 +0100
+++ b/libidav/webdav.h	Sat Jun 20 19:00:56 2026 +0200
@@ -189,17 +189,20 @@
     void(*get_progress)(DavResource *res, int64_t total, int64_t now, void *userdata);
     void(*put_progress)(DavResource *res, int64_t total, int64_t now, void *userdata);
     void *progress_userdata;
+    
+    unsigned int ref;
 };
 
 struct DavContext {
-    CxMap     *namespaces;
-    CxMap     *namespaceinfo;
-    CxMap     *keys;
-    CxList    *sessions;
-    DavProxy  *http_proxy;
-    DavProxy  *https_proxy;
-    DAV_MUTEX mutex;
-    DavBool   mtsafe;
+    CxMap        *namespaces;
+    CxMap        *namespaceinfo;
+    CxMap        *keys;
+    CxList       *sessions;
+    DavProxy     *http_proxy;
+    DavProxy     *https_proxy;
+    DAV_MUTEX    mutex;
+    DavBool      mtsafe;
+    unsigned int ref;
 };
 
 struct DavProxy {
@@ -264,6 +267,8 @@
 };
 
 DavContext* dav_context_new(void);
+void dav_context_ref(DavContext *ctx);
+void dav_context_unref(DavContext *ctx);
 void dav_context_destroy(DavContext *ctx);
 void dav_context_set_mtsafe(DavContext *ctx, DavBool enable);
 
@@ -290,6 +295,8 @@
         char *user,
         char *password);
 DavSession* dav_session_clone(DavSession *sn);
+void dav_session_ref(DavSession *sn);
+void dav_session_unref(DavSession *sn);
 void dav_session_set_auth(DavSession *sn, const char *user, const char *password);
 void dav_session_set_auth_s(DavSession *sn, cxstring user, cxstring password);
 void dav_session_set_baseurl(DavSession *sn, char *base_url);

mercurial