libidav/resource.c

changeset 42
6518b035a9df
parent 41
1c598ee0d3d9
child 43
03076907b58a
equal deleted inserted replaced
41:1c598ee0d3d9 42:6518b035a9df
48 DavResource *res = dav_resource_new_href(sn, href); 48 DavResource *res = dav_resource_new_href(sn, href);
49 free(url); 49 free(url);
50 return res; 50 return res;
51 } 51 }
52 52
53 DavResource* dav_resource_new_child(DavSession *sn, DavResource *parent, char *name) {
54 char *path = util_concat_path(parent->path, name);
55 DavResource *res = dav_resource_new(sn, path);
56 free(path);
57 return res;
58 }
59
53 60
54 DavResource* dav_resource_new_href(DavSession *sn, char *href) { 61 DavResource* dav_resource_new_href(DavSession *sn, char *href) {
55 DavResource *res = ucx_mempool_calloc(sn->mp, 1, sizeof(DavResource)); 62 DavResource *res = ucx_mempool_calloc(sn->mp, 1, sizeof(DavResource));
56 res->session = sn; 63 res->session = sn;
57 64
393 return 1; 400 return 1;
394 } 401 }
395 } 402 }
396 403
397 DavResource* dav_create_child(DavResource *parent, char *name) { 404 DavResource* dav_create_child(DavResource *parent, char *name) {
398 // TODO 405 DavResource *res = dav_resource_new_child(parent->session, parent, name);
399 return NULL; 406 if(dav_create(res)) {
407 // TODO: free resource
408 return NULL;
409 } else {
410 return res;
411 }
400 } 412 }
401 413
402 int dav_delete(DavResource *res) { 414 int dav_delete(DavResource *res) {
403 CURL *handle = res->session->handle; 415 CURL *handle = res->session->handle;
404 util_set_url(res->session, res->path); 416 util_set_url(res->session, res->path);

mercurial