libidav/methods.h

changeset 128
649eb328674a
parent 75
56962faf2b42
child 135
664aeaec8d25
equal deleted inserted replaced
127:7072a2b4ae35 128:649eb328674a
30 #define METHODS_H 30 #define METHODS_H
31 31
32 #include "webdav.h" 32 #include "webdav.h"
33 #include "resource.h" 33 #include "resource.h"
34 34
35 #include <ucx/list.h>
36
35 #ifdef __cplusplus 37 #ifdef __cplusplus
36 extern "C" { 38 extern "C" {
37 #endif 39 #endif
40
41 typedef struct PropfindParser PropfindParser;
42 typedef struct ResponseTag ResponseTag;
43
44 struct PropfindParser {
45 xmlDoc *document;
46 xmlNode *current;
47 };
48
49 struct ResponseTag {
50 char *href;
51 int iscollection;
52 UcxList *properties;
53 char *crypto_name;
54 char *crypto_key;
55 };
38 56
39 CURLcode do_propfind_request( 57 CURLcode do_propfind_request(
40 CURL *handle, 58 CURL *handle,
41 UcxBuffer *request, 59 UcxBuffer *request,
42 UcxBuffer *response); 60 UcxBuffer *response);
54 72
55 UcxBuffer* create_allprop_propfind_request(); 73 UcxBuffer* create_allprop_propfind_request();
56 UcxBuffer* create_propfind_request(DavSession *sn, UcxList *properties); 74 UcxBuffer* create_propfind_request(DavSession *sn, UcxList *properties);
57 UcxBuffer* create_basic_propfind_request(); 75 UcxBuffer* create_basic_propfind_request();
58 76
77 PropfindParser* create_propfind_parser(UcxBuffer *response, char *url);
78 int get_propfind_response(PropfindParser *parser, ResponseTag *result);
79
80 int hrefeq(DavSession *sn, char *href1, char *href2);
81 DavResource* response2resource(DavSession *sn, ResponseTag *response, char *parent_path);
82 void add_properties(DavResource *res, ResponseTag *response);
83
59 DavResource* parse_propfind_response(DavSession *sn, DavResource *root, UcxBuffer *response, DavQOp *cond, size_t len); 84 DavResource* parse_propfind_response(DavSession *sn, DavResource *root, UcxBuffer *response, DavQOp *cond, size_t len);
60 int parse_response_tag(DavResource *resource, xmlNode *node, DavQOp *cond, size_t len); 85 int parse_response_tag(DavResource *resource, xmlNode *node, DavQOp *cond, size_t len);
61 void set_davprops(DavResource *res); 86 void set_davprops(DavResource *res);
62 87
63 UcxBuffer* create_proppatch_request(DavResourceData *data); 88 UcxBuffer* create_proppatch_request(DavResourceData *data);

mercurial