src/server/webdav/operation.h

changeset 415
d938228c382e
parent 252
5653a9626cc0
equal deleted inserted replaced
414:99a34860c105 415:d938228c382e
28 28
29 #ifndef OPERATION_H 29 #ifndef OPERATION_H
30 #define OPERATION_H 30 #define OPERATION_H
31 31
32 #include "../public/webdav.h" 32 #include "../public/webdav.h"
33 #include <ucx/list.h> 33 #include <cx/list.h>
34 #include <ucx/map.h> 34 #include <cx/map.h>
35 35
36 #ifdef __cplusplus 36 #ifdef __cplusplus
37 extern "C" { 37 extern "C" {
38 #endif 38 #endif
39 39
43 43
44 typedef struct WebdavCopy WebdavCopy; 44 typedef struct WebdavCopy WebdavCopy;
45 typedef struct CopyResource CopyResource; 45 typedef struct CopyResource CopyResource;
46 46
47 struct WebdavOperation { 47 struct WebdavOperation {
48 WebdavBackend *dav; 48 WebdavBackend *dav;
49 Request *rq; 49 Request *rq;
50 Session *sn; 50 Session *sn;
51 51
52 WebdavProppatchRequest *proppatch; /* proppatch request or NULL */ 52 WebdavProppatchRequest *proppatch; /* proppatch request or NULL */
53 WebdavPList *reqprops; /* requested properties */ 53 WebdavPList *reqprops; /* requested properties */
54 UcxList *requests; /* backend specific request objects */ 54 WebdavPropfindRequestList *requests; /* backend specific request objects */
55 55
56 WebdavResponse *response; 56 WebdavResponse *response;
57 57
58 response_close_func response_close; 58 response_close_func response_close;
59 59
60 VFS_DIR parent; /* current directory */ 60 VFS_DIR parent; /* current directory */
61 struct stat *stat; /* current stat object */ 61 struct stat *stat; /* current stat object */
62 }; 62 };
63 63
64 struct WebdavVFSOperation { 64 struct WebdavVFSOperation {
65 WebdavBackend *dav; 65 WebdavBackend *dav;
66 Request *rq; 66 Request *rq;
85 char *dst_path; 85 char *dst_path;
86 }; 86 };
87 87
88 struct CopyResource { 88 struct CopyResource {
89 WebdavResource resource; 89 WebdavResource resource;
90 UcxMap *properties; 90 CxMap *properties;
91 }; 91 };
92 92
93 enum WebdavVFSOpType { 93 enum WebdavVFSOpType {
94 WEBDAV_VFS_MKDIR = 0, 94 WEBDAV_VFS_MKDIR = 0,
95 WEBDAV_VFS_DELETE 95 WEBDAV_VFS_DELETE
116 WebdavOperation* webdav_create_propfind_operation( 116 WebdavOperation* webdav_create_propfind_operation(
117 Session *sn, 117 Session *sn,
118 Request *rq, 118 Request *rq,
119 WebdavBackend *dav, 119 WebdavBackend *dav,
120 WebdavPList *reqprops, 120 WebdavPList *reqprops,
121 UcxList *requests, 121 WebdavPropfindRequestList *requests,
122 WebdavResponse *response); 122 WebdavResponse *response);
123 123
124 int webdav_op_propfind_begin( 124 int webdav_op_propfind_begin(
125 WebdavOperation *op, 125 WebdavOperation *op,
126 const char *href, 126 const char *href,

mercurial