libidav/webdav.h

changeset 520
da2b0cc44e4f
parent 505
481802342fdf
child 525
26a1d5b9d9d2
--- a/libidav/webdav.h	Tue Mar 12 09:35:04 2019 +0100
+++ b/libidav/webdav.h	Wed Mar 13 12:52:24 2019 +0100
@@ -59,6 +59,7 @@
 typedef struct DavPropName   DavPropName;
 typedef struct DavKey        DavKey;
 typedef struct DavXmlNode    DavXmlNode;
+typedef struct DavXmlAttr    DavXmlAttr;
 
 typedef size_t(*dav_read_func)(void*, size_t, size_t, void*);
 typedef size_t(*dav_write_func)(const void*, size_t, size_t, void*);
@@ -206,12 +207,18 @@
     DavXmlNode     *children;
     DavXmlNode     *parent;
     
-    // TODO: attributes
+    DavXmlAttr     *attributes;
     
     char           *content;
     size_t         contentlength;
 };
 
+struct DavXmlAttr {
+    char *name;
+    char *value;
+    DavXmlAttr *next;
+};
+
 DavContext* dav_context_new();
 void dav_context_destroy(DavContext *ctx);
 
@@ -333,6 +340,7 @@
 DavXmlNode* dav_xml_createnode_with_text(const char *ns, const char *name, const char *text);
 DavXmlNode* dav_xml_createtextnode(const char *text);
 void dav_xml_add_child(DavXmlNode *node, DavXmlNode *child);
+void dav_xml_add_attr(DavXmlNode *node, const char *name, const char *value);
 
 DavXmlNode* dav_parse_xml(DavSession *sn, const char *str, size_t len);
 

mercurial