diff -r ce2866ec97f6 -r 8ed14d76db42 src/server/public/webdav.h --- a/src/server/public/webdav.h Mon Dec 30 16:33:20 2019 +0100 +++ b/src/server/public/webdav.h Tue Dec 31 10:01:32 2019 +0100 @@ -62,6 +62,8 @@ typedef struct WebdavVFSProperties WebdavVFSProperties; +typedef struct WebdavOperation WebdavOperation; + typedef struct WSXmlData WSXmlData; typedef struct WSText WSText; @@ -205,18 +207,29 @@ }; struct WebdavResponse { + WebdavOperation *op; + WebdavResource* (*addresource)(WebdavResponse*, const char*); }; struct WebdavResource { char *href; + WSBool isclosed; + /* * int addprop(WebdavResource *res, WebdavProperty *property, int status); * * Adds a property to the resource */ int (*addproperty)(WebdavResource*, WebdavProperty*, int); + + /* + * int close(WebdavResource *res); + * + * Closes a resource object + */ + int (*close)(WebdavResource*); }; struct WebdavBackend { @@ -238,7 +251,7 @@ * WebdavPropfindRequest *rq, * WebdavResponse *response, * VFS_DIR parent, - * const char *path, + * WebdavResource *resource, * struct stat *s); * * This function is called for the requsted resource and for all children @@ -248,7 +261,7 @@ WebdavPropfindRequest *, WebdavResponse *, VFS_DIR, - const char *, + WebdavResource *, struct stat *); /*