69 */ |
69 */ |
70 struct MSResponse { |
70 struct MSResponse { |
71 WebdavResource resource; |
71 WebdavResource resource; |
72 Multistatus *multistatus; |
72 Multistatus *multistatus; |
73 |
73 |
|
74 /* |
|
75 * Contains all properties that were added to the response |
|
76 * key: <href> null-byte <name> |
|
77 * value: WebdavProperty* |
|
78 */ |
74 UcxMap *properties; |
79 UcxMap *properties; |
75 |
80 |
|
81 /* |
|
82 * All properties with status != 200 |
|
83 */ |
76 PropertyErrorList *errors; |
84 PropertyErrorList *errors; |
77 |
85 |
|
86 /* |
|
87 * All properties with status == 200 |
|
88 */ |
78 PropertyOkList *plist_begin; |
89 PropertyOkList *plist_begin; |
79 PropertyOkList *plist_end; |
90 PropertyOkList *plist_end; |
80 |
91 |
81 MSResponse *next; |
92 MSResponse *next; |
82 WSBool closing; |
93 WSBool closing; |
83 }; |
94 }; |
84 |
95 |
85 struct PropertyOkList { |
96 struct PropertyOkList { |
86 WebdavProperty *property; |
97 WebdavProperty *property; |
87 WebdavNSList *nsdef; |
98 WebdavNSList *nsdef; |
88 PropertyOkList *next; |
99 PropertyOkList *next; |
89 }; |
100 }; |
90 |
101 |
91 struct PropertyErrorList { |
102 struct PropertyErrorList { |
|
103 /* |
|
104 * next list for different status code |
|
105 */ |
92 PropertyErrorList *next; |
106 PropertyErrorList *next; |
|
107 |
|
108 /* |
|
109 * property list for all properties with this status code |
|
110 */ |
93 WebdavPList *begin; |
111 WebdavPList *begin; |
|
112 |
|
113 /* |
|
114 * tail of the property list |
|
115 */ |
94 WebdavPList *end; |
116 WebdavPList *end; |
|
117 |
|
118 /* |
|
119 * property response status code |
|
120 */ |
95 int status; |
121 int status; |
96 }; |
122 }; |
97 |
123 |
98 Multistatus* multistatus_response(Session *sn, Request *rq); |
124 Multistatus* multistatus_response(Session *sn, Request *rq); |
99 |
125 |