src/server/webdav/webdav.h

changeset 29
e8619defde14
parent 27
05b7576dca2b
child 30
27c7511c0e34
equal deleted inserted replaced
28:f387669912e8 29:e8619defde14
47 47
48 typedef struct PropfindResponse PropfindResponse; 48 typedef struct PropfindResponse PropfindResponse;
49 typedef struct DAVPropertyBackend DAVPropertyBackend; 49 typedef struct DAVPropertyBackend DAVPropertyBackend;
50 50
51 typedef struct PropfindRequest PropfindRequest; 51 typedef struct PropfindRequest PropfindRequest;
52 typedef struct ProppatchRequest ProppatchRequest;
52 typedef struct DavProperty DavProperty; 53 typedef struct DavProperty DavProperty;
54 typedef struct DavPropertyCt DavPropertyCt;
55
56 typedef struct XmlElement XmlElement;
53 57
54 struct PropfindRequest { 58 struct PropfindRequest {
55 Session *sn; 59 Session *sn;
56 Request *rq; 60 Request *rq;
57 61
68 char *uri; 72 char *uri;
69 73
70 sbuf_t *out; 74 sbuf_t *out;
71 }; 75 };
72 76
77 struct ProppatchRequest {
78 Session *sn;
79 Request *rq;
80
81 UcxDlist *setProps; /* XmlElement list, set props */
82 UcxDlist *removeProps; /* DavProperty list, remove props */
83
84
85 };
86
73 struct DavProperty { 87 struct DavProperty {
74 char *xmlns; 88 char *xmlns;
75 char *name; 89 char *name;
90 };
91
92 struct DavPropertyCt {
93 char *xmlns;
94 char *name;
95 DavPropertyCt **props;
96 int npr;
97 };
98
99 struct XmlElement {
100 char *xmlns;
101 char *name;
102 char *content;
103 int *ctlen;
104 int *numelm;
105 XmlElement **elms;
76 }; 106 };
77 107
78 /* 108 /*
79 * dav_res_propfind_f 109 * dav_res_propfind_f
80 * 110 *
94 }; 124 };
95 125
96 int webdav_service(pblock *pb, Session *sn, Request *rq); 126 int webdav_service(pblock *pb, Session *sn, Request *rq);
97 int webdav_put(pblock *pb, Session *sn, Request *rq); 127 int webdav_put(pblock *pb, Session *sn, Request *rq);
98 int webdav_propfind(pblock *pb, Session *sn, Request *rq); 128 int webdav_propfind(pblock *pb, Session *sn, Request *rq);
129 int webdav_proppatch(pblock *pb, Session *sn, Request *rq);
99 130
100 void dav_resource_response(PropfindRequest *rq, sstr_t path, sstr_t uri); 131 void dav_resource_response(PropfindRequest *rq, sstr_t path, sstr_t uri);
101 132
102 /* 133 /*
103 * dav_propfind_add_str_prop 134 * dav_propfind_add_str_prop

mercurial