src/server/public/webdav.h

branch
webdav
changeset 245
a193c42fc809
parent 244
e59abb210584
child 252
5653a9626cc0
equal deleted inserted replaced
244:e59abb210584 245:a193c42fc809
55 55
56 typedef struct WebdavPropfindRequest WebdavPropfindRequest; 56 typedef struct WebdavPropfindRequest WebdavPropfindRequest;
57 typedef struct WebdavProppatchRequest WebdavProppatchRequest; 57 typedef struct WebdavProppatchRequest WebdavProppatchRequest;
58 typedef struct WebdavLockRequest WebdavLockRequest; 58 typedef struct WebdavLockRequest WebdavLockRequest;
59 59
60 typedef struct WebdavVFSRequest WebdavVFSRequest;
61
60 typedef struct WebdavResponse WebdavResponse; 62 typedef struct WebdavResponse WebdavResponse;
61 typedef struct WebdavResource WebdavResource; 63 typedef struct WebdavResource WebdavResource;
62 64
63 typedef struct WebdavVFSProperties WebdavVFSProperties; 65 typedef struct WebdavVFSProperties WebdavVFSProperties;
64 66
196 * custom userdata for the backend 198 * custom userdata for the backend
197 */ 199 */
198 void *userdata; 200 void *userdata;
199 }; 201 };
200 202
203 struct WebdavVFSRequest {
204 Session *sn;
205 Request *rq;
206
207 char *path;
208
209 /*
210 * custom userdata for the backend
211 */
212 void *userdata;
213 };
214
201 struct WebdavLockRequest { 215 struct WebdavLockRequest {
202 Session *sn; 216 Session *sn;
203 Request *rq; 217 Request *rq;
204 218
205 void *doc; 219 void *doc;
318 WebdavResource *, 332 WebdavResource *,
319 VFSFile *, 333 VFSFile *,
320 WSBool); 334 WSBool);
321 335
322 /* 336 /*
323 * int opt_mkcol( 337 * int opt_mkcol(WebdavVFSRequest *request, WSBool *out_created);
324 * Session *sn,
325 * Request *rq,
326 * const char *path,
327 * WSBool *out_created
328 * 338 *
329 * Optional mkcol callback that is called before vfs_mkdir. If the function 339 * Optional mkcol callback that is called before vfs_mkdir. If the function
330 * sets out_created to TRUE, vfs_mkdir will not be executed. 340 * sets out_created to TRUE, vfs_mkdir will not be executed.
331 */ 341 */
332 int (*opt_mkcol)( 342 int (*opt_mkcol)(WebdavVFSRequest *, WSBool *);
333 Session *, 343
334 Request *, 344 /*
335 const char *, 345 * int opt_mkcol_finish(WebdavVFSRequest *request, WSBool success);
336 WSBool *); 346 *
337 347 * Optional callback for finishing a MKCOL request.
338 /* 348 */
339 * int opt_delete( 349 int(*opt_mkcol_finish)(WebdavVFSRequest *, WSBool);
340 * Session *sn, 350
341 * Request *rq, 351 /*
342 * const char *path, 352 * int opt_delete(WebdavVFSRequest *request, WSBool *out_deleted);
343 * WSBool *out_deleted
344 * 353 *
345 * Optional delete callback that is called once before any VFS deletions. 354 * Optional delete callback that is called once before any VFS deletions.
346 * When the callback sets out_deleted to TRUE, no VFS unlink operations 355 * When the callback sets out_deleted to TRUE, no VFS unlink operations
347 * will be done. 356 * will be done.
348 * 357 *
349 */ 358 */
350 int (*opt_delete)( 359 int (*opt_delete)(WebdavVFSRequest *, WSBool *);
351 Session *, 360
352 Request *, 361 /*
353 const char *, 362 * int opt_delete_finish(WebdavVFSRequest *request, WSBool success);
354 WSBool *); 363 *
364 * Optional callback for finishing a DELETE request.
365 */
366 int (*opt_delete_finish)(WebdavVFSRequest *, WSBool);
355 367
356 /* 368 /*
357 * See the WS_WEBDAV_* macros for informations about the settings 369 * See the WS_WEBDAV_* macros for informations about the settings
358 */ 370 */
359 uint32_t settings; 371 uint32_t settings;

mercurial