libidav/webdav.h

changeset 355
5da2cf15eb44
parent 354
067ea2315a8a
child 361
b6f2462ee055
--- a/libidav/webdav.h	Mon Dec 18 11:56:11 2017 +0100
+++ b/libidav/webdav.h	Mon Dec 18 16:24:32 2017 +0100
@@ -64,6 +64,7 @@
 typedef size_t(*dav_write_func)(const void*, size_t, size_t, void*);
 
 typedef int(*dav_auth_func)(DavSession *, void *);
+typedef void(*dav_progress_func)(DavResource *, int64_t, int64_t, void *);
 
 enum DavError {
     DAV_OK = 0,
@@ -145,6 +146,10 @@
     
     int(*auth_prompt)(DavSession *sn, void *userdata);
     void *authprompt_userdata;
+    
+    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;
 };
 
 struct DavContext {
@@ -224,6 +229,7 @@
 void dav_session_enable_encryption(DavSession *sn, DavKey *key, int flags);
 
 void dav_session_set_authcallback(DavSession *sn, dav_auth_func func, void *userdata);
+void dav_session_set_progresscallback(DavSession *sn, dav_progress_func get, dav_progress_func put, void *userdata);
 
 void dav_session_destroy(DavSession *sn);
 

mercurial