90 * Use the vfs to open a file for proppatch |
90 * Use the vfs to open a file for proppatch |
91 */ |
91 */ |
92 #define WS_WEBDAV_PROPPATCH_USE_VFS 0x02 |
92 #define WS_WEBDAV_PROPPATCH_USE_VFS 0x02 |
93 |
93 |
94 |
94 |
95 typedef WebdavBackend*(*webdav_create_func)(Session *sn, Request *rq, pblock *pb); |
95 typedef void*(*webdav_init_func)(ServerConfiguration *cfg, pool_handle_t *pool, WSConfigNode *config); |
|
96 typedef WebdavBackend*(*webdav_create_func)(Session *sn, Request *rq, pblock *pb, void *initData); |
96 |
97 |
97 enum WebdavValueType { |
98 enum WebdavValueType { |
98 WS_VALUE_NO_TYPE = 0, |
99 WS_VALUE_NO_TYPE = 0, |
99 WS_VALUE_XML_NODE, |
100 WS_VALUE_XML_NODE, |
100 WS_VALUE_XML_DATA, |
101 WS_VALUE_XML_DATA, |
390 }; |
391 }; |
391 |
392 |
392 /* |
393 /* |
393 * register a webdav backend |
394 * register a webdav backend |
394 */ |
395 */ |
395 int webdav_register_backend(const char *name, webdav_create_func vfsCreate); |
396 int webdav_register_backend(const char *name, webdav_init_func webdavInit, webdav_create_func webdavCreate); |
396 |
397 |
397 WebdavBackend* webdav_create(Session *sn, Request *rq, const char *dav_class, pblock *pb); |
398 WebdavBackend* webdav_create(Session *sn, Request *rq, const char *dav_class, pblock *pb, void *initData); |
398 |
399 |
399 /* |
400 /* |
400 * gets the requested depth |
401 * gets the requested depth |
401 * |
402 * |
402 * in case of infinity, -1 is returned |
403 * in case of infinity, -1 is returned |