--- a/dav/webdav.h Thu Aug 15 11:23:25 2013 +0200 +++ b/dav/webdav.h Fri Aug 16 12:41:30 2013 +0200 @@ -57,7 +57,9 @@ DAV_ERROR, DAV_NOT_FOUND, DAV_UNAUTHORIZED, - DAV_FORBIDDEN + DAV_FORBIDDEN, + DAV_METHOD_NOT_ALLOWED, + DAV_CONFLICT }; typedef enum DavError DavError; @@ -94,7 +96,8 @@ }; struct DavContext { - UcxMap *namespaces; + UcxMap *namespaces; + UcxList *sessions; }; struct dav_content_data { @@ -133,6 +136,7 @@ }; DavContext* dav_context_new(); +void dav_context_destroy(DavContext *ctx); int dav_add_namespace(DavContext *context, char *prefix, char *ns); DavNamespace* dav_get_namespace(DavContext *context, char *prefix); @@ -142,6 +146,8 @@ void session_set_error(DavSession *sn, CURLcode c, int status); +void dav_session_destroy(DavSession *sn); + DavResource* dav_get(DavSession *sn, char *path, char *properties); UcxList* parse_properties_string(DavContext *context, sstr_t str); @@ -171,6 +177,7 @@ int dav_get_content(DavResource *res, void *stream, dav_write_func write_func); int dav_delete(DavResource *res); +int dav_create(DavResource *res); #ifdef __cplusplus }