libidav/methods.h

changeset 747
efbd59642577
parent 609
dc3d70848c7c
equal deleted inserted replaced
746:a569148841ff 747:efbd59642577
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> 35 #include <cx/list.h>
36 36
37 #ifdef __cplusplus 37 #ifdef __cplusplus
38 extern "C" { 38 extern "C" {
39 #endif 39 #endif
40 40
46 xmlDoc *document; 46 xmlDoc *document;
47 xmlNode *current; 47 xmlNode *current;
48 }; 48 };
49 49
50 struct ResponseTag { 50 struct ResponseTag {
51 char *href; 51 const char *href;
52 int iscollection; 52 int iscollection;
53 UcxList *properties; 53 CxList *properties;
54 char *crypto_name; 54 const char *crypto_name;
55 char *crypto_key; 55 const char *crypto_key;
56 }; 56 };
57 57
58 struct LockDiscovery { 58 struct LockDiscovery {
59 char *timeout; 59 char *timeout;
60 char *locktoken; 60 char *locktoken;
61 }; 61 };
62 62
63 int dav_buffer_seek(UcxBuffer *b, curl_off_t offset, int origin); 63 int dav_buffer_seek(CxBuffer *b, curl_off_t offset, int origin);
64 64
65 CURLcode do_propfind_request( 65 CURLcode do_propfind_request(
66 DavSession *sn, 66 DavSession *sn,
67 UcxBuffer *request, 67 CxBuffer *request,
68 UcxBuffer *response); 68 CxBuffer *response);
69 69
70 CURLcode do_proppatch_request( 70 CURLcode do_proppatch_request(
71 DavSession *sn, 71 DavSession *sn,
72 char *lock, 72 char *lock,
73 UcxBuffer *request, 73 CxBuffer *request,
74 UcxBuffer *response); 74 CxBuffer *response);
75 75
76 CURLcode do_put_request( 76 CURLcode do_put_request(
77 DavSession *sn, 77 DavSession *sn,
78 char *lock, 78 char *lock,
79 DavBool create, 79 DavBool create,
80 void *data, 80 void *data,
81 dav_read_func read_func, 81 dav_read_func read_func,
82 dav_seek_func seek_func, 82 dav_seek_func seek_func,
83 size_t length); 83 size_t length);
84 84
85 UcxBuffer* create_allprop_propfind_request(void); 85 CxBuffer* create_allprop_propfind_request(void);
86 UcxBuffer* create_cryptoprop_propfind_request(void); 86 CxBuffer* create_cryptoprop_propfind_request(void);
87 UcxBuffer* create_propfind_request(DavSession *sn, UcxList *properties, char *rootelm, DavBool nocrypt); 87 CxBuffer* create_propfind_request(DavSession *sn, CxList *properties, char *rootelm, DavBool nocrypt);
88 UcxBuffer* create_basic_propfind_request(void); 88 CxBuffer* create_basic_propfind_request(void);
89 89
90 PropfindParser* create_propfind_parser(UcxBuffer *response, char *url); 90 PropfindParser* create_propfind_parser(CxBuffer *response, char *url);
91 void destroy_propfind_parser(PropfindParser *parser); 91 void destroy_propfind_parser(PropfindParser *parser);
92 int get_propfind_response(PropfindParser *parser, ResponseTag *result); 92 int get_propfind_response(PropfindParser *parser, ResponseTag *result);
93 void cleanup_response(ResponseTag *result); 93 void cleanup_response(ResponseTag *result);
94 94
95 int hrefeq(DavSession *sn, char *href1, char *href2); 95 int hrefeq(DavSession *sn, const char *href1, const char *href2);
96 DavResource* response2resource(DavSession *sn, ResponseTag *response, char *parent_path); 96 DavResource* response2resource(DavSession *sn, ResponseTag *response, char *parent_path);
97 void add_properties(DavResource *res, ResponseTag *response); 97 void add_properties(DavResource *res, ResponseTag *response);
98 98
99 DavResource* parse_propfind_response(DavSession *sn, DavResource *root, UcxBuffer *response); 99 DavResource* parse_propfind_response(DavSession *sn, DavResource *root, CxBuffer *response);
100 int parse_response_tag(DavResource *resource, xmlNode *node); 100 int parse_response_tag(DavResource *resource, xmlNode *node);
101 void set_davprops(DavResource *res); 101 void set_davprops(DavResource *res);
102 102
103 /* 103 /*
104 * parses the content of a resourcetype element 104 * parses the content of a resourcetype element
105 * returns 1 if the resourcetype is a collection, 0 otherwise 105 * returns 1 if the resourcetype is a collection, 0 otherwise
106 */ 106 */
107 int parse_resource_type(xmlNode *node); 107 int parse_resource_type(xmlNode *node);
108 108
109 UcxBuffer* create_proppatch_request(DavResourceData *data); 109 CxBuffer* create_proppatch_request(DavResourceData *data);
110 UcxBuffer* create_crypto_proppatch_request(DavSession *sn, DavKey *key, const char *name, const char *hash); 110 CxBuffer* create_crypto_proppatch_request(DavSession *sn, DavKey *key, const char *name, const char *hash);
111 111
112 CURLcode do_delete_request(DavSession *sn, char *lock, UcxBuffer *response); 112 CURLcode do_delete_request(DavSession *sn, char *lock, CxBuffer *response);
113 113
114 CURLcode do_mkcol_request(DavSession *sn, char *lock); 114 CURLcode do_mkcol_request(DavSession *sn, char *lock);
115 115
116 CURLcode do_head_request(DavSession *sn); 116 CURLcode do_head_request(DavSession *sn);
117 117
118 CURLcode do_copy_move_request(DavSession *sn, char *dest, char *lock, DavBool copy, DavBool override); 118 CURLcode do_copy_move_request(DavSession *sn, char *dest, char *lock, DavBool copy, DavBool override);
119 119
120 UcxBuffer* create_lock_request(void); 120 CxBuffer* create_lock_request(void);
121 int parse_lock_response(DavSession *sn, UcxBuffer *response, LockDiscovery *lock); 121 int parse_lock_response(DavSession *sn, CxBuffer *response, LockDiscovery *lock);
122 CURLcode do_lock_request(DavSession *sn, UcxBuffer *request, UcxBuffer *response, time_t timeout); 122 CURLcode do_lock_request(DavSession *sn, CxBuffer *request, CxBuffer *response, time_t timeout);
123 CURLcode do_unlock_request(DavSession *sn, char *locktoken); 123 CURLcode do_unlock_request(DavSession *sn, char *locktoken);
124 124
125 CURLcode do_simple_request(DavSession *sn, char *method, char *locktoken); 125 CURLcode do_simple_request(DavSession *sn, char *method, char *locktoken);
126 126
127 CURLcode do_report_request(DavSession *sn, UcxBuffer *request, UcxBuffer *response); 127 CURLcode do_report_request(DavSession *sn, CxBuffer *request, CxBuffer *response);
128 128
129 #ifdef __cplusplus 129 #ifdef __cplusplus
130 } 130 }
131 #endif 131 #endif
132 132

mercurial