libidav/session.h

changeset 208
1fb26aca5093
parent 185
cd42cccee550
child 225
a297c2e28fa1
--- a/libidav/session.h	Mon Mar 14 11:54:55 2016 +0100
+++ b/libidav/session.h	Mon Mar 14 17:18:33 2016 +0100
@@ -65,7 +65,18 @@
     char *encrypted_name;
     int  exists;
 } DavPathCacheElement;
-//*/
+*/
+    
+typedef struct DavLock {
+    char *path;
+    char *token;
+    
+} DavLock;
+
+typedef struct DavLockManager {
+    UcxMap  *resource_locks;
+    UcxList *collection_locks;
+} DavLockManager;
 
 void dav_session_set_error(DavSession *sn, CURLcode c, int status);
 
@@ -77,6 +88,16 @@
 
 void dav_session_cache_path(DavSession *sn, sstr_t path, sstr_t href);
 
+
+DavLock* dav_create_lock(DavSession *sn, char *token, char *timeout);
+void dav_destroy_lock(DavSession *sn, DavLock *lock);
+
+int dav_add_resource_lock(DavSession *sn, char *path, DavLock *lock);
+int dav_add_collection_lock(DavSession *sn, char *path, DavLock *lock);
+
+DavLock* dav_get_lock(DavSession *sn, char *path);
+void dav_remove_lock(DavSession *sn, char *path, DavLock *lock);
+
 #ifdef	__cplusplus
 }
 #endif

mercurial