src/server/webdav/saxhandler.h

changeset 30
27c7511c0e34
parent 29
e8619defde14
child 44
3da1f7b6847f
equal deleted inserted replaced
29:e8619defde14 30:27c7511c0e34
32 #include "davparser.h" 32 #include "davparser.h"
33 33
34 #include <xercesc/sax2/DefaultHandler.hpp> 34 #include <xercesc/sax2/DefaultHandler.hpp>
35 35
36 using namespace xercesc; 36 using namespace xercesc;
37
38 /* stack */
39 #define XSTACK_PUSH(elm) xstack_push(&xmlStack, elm)
40 #define XSTACK_POP() xstack_pop(&xmlStack)
41 #define XSTACK_CUR() (xmlStack) ? (XmlElement*)xmlStack->data : NULL;
42 void xstack_push(UcxDlist **stack, XmlElement *elm);
43 XmlElement* xstack_pop(UcxDlist **stack);
37 44
38 class PropfindHandler : public DefaultHandler { 45 class PropfindHandler : public DefaultHandler {
39 public: 46 public:
40 PropfindHandler(PropfindRequest *rq, pool_handle_t *p); 47 PropfindHandler(PropfindRequest *rq, pool_handle_t *p);
41 virtual ~PropfindHandler(); 48 virtual ~PropfindHandler();
89 private: 96 private:
90 ProppatchRequest *davrq; 97 ProppatchRequest *davrq;
91 pool_handle_t *pool; 98 pool_handle_t *pool;
92 99
93 bool davPropTag; 100 bool davPropTag;
94 XmlElement *rxprop; /* root of xml property */ 101 XmlElement *rootElement;
95 XmlElement *cxprop; /* current element */ 102 XmlElement *newElement;
96 DavProperty *property; 103 UcxDlist *xmlStack;
97 int updateMode; /* 0 = set, 1 = remove */ 104
105 //DavProperty *property;
106 int updateMode; /* 0 = set, 1 = remove, -1 = undefined */
98 }; 107 };
99 108
100 #endif /* SAXHANDLER_H */ 109 #endif /* SAXHANDLER_H */
101 110

mercurial