src/server/webdav/saxhandler.h

changeset 29
e8619defde14
parent 14
b8bf95b39952
child 30
27c7511c0e34
--- a/src/server/webdav/saxhandler.h	Sun May 06 10:09:27 2012 +0200
+++ b/src/server/webdav/saxhandler.h	Wed May 16 12:47:28 2012 +0200
@@ -50,7 +50,7 @@
         const XMLCh* const   uri,
         const XMLCh* const   localname,
         const XMLCh* const   qname);
-
+    
     void startDocument();
 
     void endDocument();
@@ -63,5 +63,39 @@
     DavProperty     *property;
 };
 
+
+class ProppatchHandler : public DefaultHandler {
+public:
+    ProppatchHandler(ProppatchRequest *rq, pool_handle_t *p);
+    virtual ~ProppatchHandler();
+
+    void startElement(
+        const XMLCh* const   uri,
+        const XMLCh* const   localname,
+        const XMLCh* const   qname,
+        const Attributes&    attrs);
+    
+    void endElement(
+        const XMLCh* const   uri,
+        const XMLCh* const   localname,
+        const XMLCh* const   qname);
+
+    void characters(const XMLCh *const chars, const XMLSize_t length);
+    
+    void startDocument();
+
+    void endDocument();
+
+private:
+    ProppatchRequest *davrq;
+    pool_handle_t    *pool;
+
+    bool             davPropTag;
+    XmlElement       *rxprop; /* root of xml property */
+    XmlElement       *cxprop; /* current element */
+    DavProperty      *property;
+    int              updateMode; /* 0 = set, 1 = remove */
+};
+
 #endif	/* SAXHANDLER_H */
 

mercurial