src/server/webdav/operation.h

branch
webdav
changeset 239
d5031c30022c
parent 237
ee1680ef1ef2
child 241
4adad7faf452
equal deleted inserted replaced
238:e820d433f405 239:d5031c30022c
33 33
34 #ifdef __cplusplus 34 #ifdef __cplusplus
35 extern "C" { 35 extern "C" {
36 #endif 36 #endif
37 37
38 typedef int(*response_close_func)(WebdavOperation *, WebdavResource *);
39
38 struct WebdavOperation { 40 struct WebdavOperation {
39 WebdavBackend *dav; 41 WebdavBackend *dav;
40 Request *rq; 42 Request *rq;
41 Session *sn; 43 Session *sn;
42 44
43 WebdavPList *reqprops; /* requested properties */ 45 WebdavProppatchRequest *request; /* proppatch request or NULL */
44 UcxList *requests; /* backend specific request objects */ 46 WebdavPList *reqprops; /* requested properties */
47 UcxList *requests; /* backend specific request objects */
45 48
46 WebdavResponse *response; 49 WebdavResponse *response;
47 50
48 VFS_DIR parent; /* current directory */ 51 response_close_func response_close;
49 struct stat *stat; /* current stat object */ 52
53 VFS_DIR parent; /* current directory */
54 struct stat *stat; /* current stat object */
50 }; 55 };
51 56
52 WebdavOperation* webdav_operation_create( 57 WebdavOperation* webdav_create_propfind_operation(
53 Session *sn, 58 Session *sn,
54 Request *rq, 59 Request *rq,
55 WebdavBackend *dav, 60 WebdavBackend *dav,
56 WebdavPList *reqprops, 61 WebdavPList *reqprops,
57 UcxList *requests, 62 UcxList *requests,
73 WebdavOperation *op, 78 WebdavOperation *op,
74 WebdavResource *resource); 79 WebdavResource *resource);
75 80
76 int webdav_op_propfind_finish(WebdavOperation *op); 81 int webdav_op_propfind_finish(WebdavOperation *op);
77 82
83 WebdavOperation* webdav_create_proppatch_operation(
84 Session *sn,
85 Request *rq,
86 WebdavBackend *dav,
87 WebdavProppatchRequest *proppatch,
88 WebdavResponse *response);
89
90 int webdav_op_proppatch_close_resource(
91 WebdavOperation *op,
92 WebdavResource *resource);
93
78 #ifdef __cplusplus 94 #ifdef __cplusplus
79 } 95 }
80 #endif 96 #endif
81 97
82 #endif /* OPERATION_H */ 98 #endif /* OPERATION_H */

mercurial