libidav/webdav.h

changeset 609
dc3d70848c7c
parent 607
5dc7fe41e8f8
child 728
35a421f441d5
equal deleted inserted replaced
608:3e4c0285a868 609:dc3d70848c7c
56 typedef struct DavResult DavResult; 56 typedef struct DavResult DavResult;
57 typedef struct DavNamespace DavNamespace; 57 typedef struct DavNamespace DavNamespace;
58 typedef struct DavProperty DavProperty; 58 typedef struct DavProperty DavProperty;
59 typedef struct DavPropName DavPropName; 59 typedef struct DavPropName DavPropName;
60 typedef struct DavKey DavKey; 60 typedef struct DavKey DavKey;
61 typedef struct DavNSInfo DavNSInfo;
61 typedef struct DavXmlNode DavXmlNode; 62 typedef struct DavXmlNode DavXmlNode;
62 typedef struct DavXmlAttr DavXmlAttr; 63 typedef struct DavXmlAttr DavXmlAttr;
63 64
64 typedef size_t(*dav_read_func)(void*, size_t, size_t, void*); 65 typedef size_t(*dav_read_func)(void*, size_t, size_t, void*);
65 typedef size_t(*dav_write_func)(const void*, size_t, size_t, void*); 66 typedef size_t(*dav_write_func)(const void*, size_t, size_t, void*);
160 void *progress_userdata; 161 void *progress_userdata;
161 }; 162 };
162 163
163 struct DavContext { 164 struct DavContext {
164 UcxMap *namespaces; 165 UcxMap *namespaces;
166 UcxMap *namespaceinfo;
165 UcxMap *keys; 167 UcxMap *keys;
166 UcxList *sessions; 168 UcxList *sessions;
167 DavProxy *http_proxy; 169 DavProxy *http_proxy;
168 DavProxy *https_proxy; 170 DavProxy *https_proxy;
169 }; 171 };
199 int type; 201 int type;
200 void *data; 202 void *data;
201 size_t length; 203 size_t length;
202 }; 204 };
203 205
206 struct DavNSInfo {
207 char *prefix;
208 DavBool encrypt;
209 };
210
204 struct DavXmlNode { 211 struct DavXmlNode {
205 DavXmlNodeType type; 212 DavXmlNodeType type;
206 213
207 char *namespace; 214 char *namespace;
208 char *name; 215 char *name;
230 void dav_context_add_key(DavContext *context, DavKey *key); 237 void dav_context_add_key(DavContext *context, DavKey *key);
231 DavKey* dav_context_get_key(DavContext *context, char *name); 238 DavKey* dav_context_get_key(DavContext *context, char *name);
232 239
233 int dav_add_namespace(DavContext *context, const char *prefix, const char *ns); 240 int dav_add_namespace(DavContext *context, const char *prefix, const char *ns);
234 DavNamespace* dav_get_namespace(DavContext *context, const char *prefix); 241 DavNamespace* dav_get_namespace(DavContext *context, const char *prefix);
242
243 int dav_enable_namespace_encryption(DavContext *context, const char *ns, DavBool encrypt);
244 int dav_namespace_is_encrypted(DavContext *context, const char *ns);
235 245
236 DavSession* dav_session_new(DavContext *context, char *base_url); 246 DavSession* dav_session_new(DavContext *context, char *base_url);
237 DavSession* dav_session_new_auth( 247 DavSession* dav_session_new_auth(
238 DavContext *context, 248 DavContext *context,
239 char *base_url, 249 char *base_url,
299 int dav_lock_t(DavResource *res, time_t timeout); 309 int dav_lock_t(DavResource *res, time_t timeout);
300 int dav_unlock(DavResource *res); 310 int dav_unlock(DavResource *res);
301 311
302 DavXmlNode* dav_get_property(DavResource *res, char *name); 312 DavXmlNode* dav_get_property(DavResource *res, char *name);
303 DavXmlNode* dav_get_property_ns(DavResource *res, const char *ns, const char *name); 313 DavXmlNode* dav_get_property_ns(DavResource *res, const char *ns, const char *name);
314 DavXmlNode* dav_get_encrypted_property_ns(DavResource *res, const char *ns, const char *name);
304 char* dav_get_string_property(DavResource *res, char *name); 315 char* dav_get_string_property(DavResource *res, char *name);
305 char* dav_get_string_property_ns(DavResource *res, char *ns, char *name); 316 char* dav_get_string_property_ns(DavResource *res, char *ns, char *name);
306 void dav_set_string_property(DavResource *res, char *name, char *value); 317 void dav_set_string_property(DavResource *res, char *name, char *value);
307 void dav_set_string_property_ns(DavResource *res, char *ns, char *name, char *value); 318 void dav_set_string_property_ns(DavResource *res, char *ns, char *name, char *value);
308 void dav_set_property(DavResource *res, char *name, DavXmlNode *value); 319 void dav_set_property(DavResource *res, char *name, DavXmlNode *value);

mercurial