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 */ |