libidav/webdav.h

changeset 520
da2b0cc44e4f
parent 505
481802342fdf
child 525
26a1d5b9d9d2
equal deleted inserted replaced
519:ac5ac55b1b2e 520:da2b0cc44e4f
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 DavXmlNode DavXmlNode; 61 typedef struct DavXmlNode DavXmlNode;
62 typedef struct DavXmlAttr DavXmlAttr;
62 63
63 typedef size_t(*dav_read_func)(void*, size_t, size_t, void*); 64 typedef size_t(*dav_read_func)(void*, size_t, size_t, void*);
64 typedef size_t(*dav_write_func)(const void*, size_t, size_t, void*); 65 typedef size_t(*dav_write_func)(const void*, size_t, size_t, void*);
65 typedef int(*dav_seek_func)(const void *, long, int); 66 typedef int(*dav_seek_func)(const void *, long, int);
66 67
204 DavXmlNode *prev; 205 DavXmlNode *prev;
205 DavXmlNode *next; 206 DavXmlNode *next;
206 DavXmlNode *children; 207 DavXmlNode *children;
207 DavXmlNode *parent; 208 DavXmlNode *parent;
208 209
209 // TODO: attributes 210 DavXmlAttr *attributes;
210 211
211 char *content; 212 char *content;
212 size_t contentlength; 213 size_t contentlength;
214 };
215
216 struct DavXmlAttr {
217 char *name;
218 char *value;
219 DavXmlAttr *next;
213 }; 220 };
214 221
215 DavContext* dav_context_new(); 222 DavContext* dav_context_new();
216 void dav_context_destroy(DavContext *ctx); 223 void dav_context_destroy(DavContext *ctx);
217 224
331 338
332 DavXmlNode* dav_xml_createnode(const char *ns, const char *name); 339 DavXmlNode* dav_xml_createnode(const char *ns, const char *name);
333 DavXmlNode* dav_xml_createnode_with_text(const char *ns, const char *name, const char *text); 340 DavXmlNode* dav_xml_createnode_with_text(const char *ns, const char *name, const char *text);
334 DavXmlNode* dav_xml_createtextnode(const char *text); 341 DavXmlNode* dav_xml_createtextnode(const char *text);
335 void dav_xml_add_child(DavXmlNode *node, DavXmlNode *child); 342 void dav_xml_add_child(DavXmlNode *node, DavXmlNode *child);
343 void dav_xml_add_attr(DavXmlNode *node, const char *name, const char *value);
336 344
337 DavXmlNode* dav_parse_xml(DavSession *sn, const char *str, size_t len); 345 DavXmlNode* dav_parse_xml(DavSession *sn, const char *str, size_t len);
338 346
339 #ifdef __cplusplus 347 #ifdef __cplusplus
340 } 348 }

mercurial