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 |