src/server/public/webdav.h

branch
webdav
changeset 215
68e824ba4a4f
parent 212
d7e7ea9c6bc6
child 216
ce2866ec97f6
--- a/src/server/public/webdav.h	Sun Dec 29 21:43:14 2019 +0100
+++ b/src/server/public/webdav.h	Sun Dec 29 22:39:35 2019 +0100
@@ -46,6 +46,8 @@
 typedef struct WebdavPList            WebdavPList;
 typedef struct WebdavNSList           WebdavNSList;
 
+typedef struct WebdavPListIterator    WebdavPListIterator;
+
 typedef enum   WebdavLockScope        WebdavLockScope;
 typedef enum   WebdavLockType         WebdavLockType;
 
@@ -124,6 +126,13 @@
     WebdavNSList *next;
 };
 
+struct WebdavPListIterator {
+    WebdavPList **list;
+    WebdavPList *cur;
+    WebdavPList *next;
+    size_t      index;
+};
+
 enum WebdavLockScope {
     WEBDAV_LOCK_EXCLUSIVE = 0,
     WEBDAV_LOCK_SHARED,
@@ -273,6 +282,10 @@
 
 size_t webdav_plist_count(WebdavPList *list);
 
+WebdavPListIterator webdav_plist_iterator(WebdavPList **list);
+int webdav_plist_iterator_next(WebdavPListIterator *i, WebdavPList **cur);
+void webdav_plist_iterator_remove_current(WebdavPListIterator *i);
+
 WSNamespace* webdav_dav_namespace(void);
 WebdavProperty* webdav_dav_property(
         pool_handle_t *pool,

mercurial