65 DAV_CONFLICT |
65 DAV_CONFLICT |
66 }; |
66 }; |
67 |
67 |
68 typedef enum DavError DavError; |
68 typedef enum DavError DavError; |
69 |
69 |
70 #define DAV_SESSION_ENCRYPT_FILE 0x0001 |
70 #define DAV_SESSION_ENCRYPT_CONTENT 0x0001 |
71 #define DAV_SESSION_ENCRYPT_NAME 0x0002 |
71 #define DAV_SESSION_ENCRYPT_NAME 0x0002 |
72 #define DAV_SESSION_DECRYPT_PATH 0x0004 |
72 #define DAV_SESSION_DECRYPT_CONTENT 0x0004 |
73 |
73 #define DAV_SESSION_DECRYPT_NAME 0x0008 |
|
74 |
|
75 #define DAV_SESSION_CONTENT_ENCRYPTION 0x000a |
|
76 #define DAV_SESSION_FULL_ENCRYPTION 0x000f |
|
77 |
|
78 |
|
79 #define DAV_NS "http://www.uap-core.de/" |
74 |
80 |
75 struct DavNamespace { |
81 struct DavNamespace { |
76 char *prefix; |
82 char *prefix; |
77 char *name; |
83 char *name; |
78 }; |
84 }; |
151 DavContext *context, |
158 DavContext *context, |
152 char *base_url, |
159 char *base_url, |
153 char *user, |
160 char *user, |
154 char *password); |
161 char *password); |
155 void dav_session_set_auth(DavSession *sn, char *user, char *password); |
162 void dav_session_set_auth(DavSession *sn, char *user, char *password); |
156 |
163 void dav_session_set_flags(DavSession *sn, uint32_t flags); |
157 void session_set_error(DavSession *sn, CURLcode c, int status); |
164 uint32_t dav_session_get_flags(DavSession *sn); |
|
165 void dav_session_enable_encryption(DavSession *sn, DavKey *key, int flags); |
|
166 |
158 void dav_session_destroy(DavSession *sn); |
167 void dav_session_destroy(DavSession *sn); |
159 |
168 |
160 void* dav_session_malloc(DavSession *sn, size_t size); |
169 void* dav_session_malloc(DavSession *sn, size_t size); |
161 void* dav_session_calloc(DavSession *sn, size_t nelm, size_t size); |
170 void* dav_session_calloc(DavSession *sn, size_t nelm, size_t size); |
162 void* dav_session_realloc(DavSession *sn, void *ptr, size_t size); |
171 void* dav_session_realloc(DavSession *sn, void *ptr, size_t size); |
163 void dav_session_free(DavSession *sn, void *ptr); |
172 void dav_session_free(DavSession *sn, void *ptr); |
|
173 char* dav_session_strdup(DavSession *sn, char *str); |
164 |
174 |
165 |
175 |
166 DavResource* dav_get(DavSession *sn, char *path, char *properties); |
176 DavResource* dav_get(DavSession *sn, char *path, char *properties); |
167 |
177 |
168 DavResource* dav_query_get(DavSession *sn, DavGetQuery *query); |
178 DavResource* dav_query_get(DavSession *sn, DavGetQuery *query); |
182 |
192 |
183 DavResource* dav_resource_new(DavSession *sn, char *path); |
193 DavResource* dav_resource_new(DavSession *sn, char *path); |
184 DavResource* dav_resource_new_child(DavSession *sn, DavResource *parent, char *name); |
194 DavResource* dav_resource_new_child(DavSession *sn, DavResource *parent, char *name); |
185 DavResource* dav_resource_new_href(DavSession *sn, char *href); |
195 DavResource* dav_resource_new_href(DavSession *sn, char *href); |
186 |
196 |
|
197 void dav_resource_free(DavResource *res); |
|
198 void dav_resource_free_all(DavResource *res); |
|
199 |
|
200 char* dav_resource_get_href(DavResource *resource); |
|
201 |
187 DavResource* dav_create_child(DavResource *parent, char *name); |
202 DavResource* dav_create_child(DavResource *parent, char *name); |
188 int dav_delete(DavResource *res); |
203 int dav_delete(DavResource *res); |
189 int dav_create(DavResource *res); |
204 int dav_create(DavResource *res); |
190 int dav_exists(DavResource *res); |
205 int dav_exists(DavResource *res); |
191 |
206 |
201 |
216 |
202 int dav_load(DavResource *res); |
217 int dav_load(DavResource *res); |
203 int dav_store(DavResource *res); |
218 int dav_store(DavResource *res); |
204 int dav_get_content(DavResource *res, void *stream, dav_write_func write_func); |
219 int dav_get_content(DavResource *res, void *stream, dav_write_func write_func); |
205 |
220 |
|
221 // private |
|
222 int dav_propfind(DavSession *sn, DavResource *root, UcxBuffer *rqbuf, DavQOp *cond, size_t len); |
|
223 |
206 #ifdef __cplusplus |
224 #ifdef __cplusplus |
207 } |
225 } |
208 #endif |
226 #endif |
209 |
227 |
210 #endif /* WEBDAV_H */ |
228 #endif /* WEBDAV_H */ |