46 typedef struct DavSession DavSession; |
46 typedef struct DavSession DavSession; |
47 typedef struct DavResource DavResource; |
47 typedef struct DavResource DavResource; |
48 typedef struct DavRequest DavRequest; |
48 typedef struct DavRequest DavRequest; |
49 typedef struct DavNamespace DavNamespace; |
49 typedef struct DavNamespace DavNamespace; |
50 typedef struct DavProperty DavProperty; |
50 typedef struct DavProperty DavProperty; |
|
51 typedef struct DavKey DavKey; |
51 |
52 |
52 #include "davql.h" |
53 #include "davql.h" |
53 |
54 |
54 typedef size_t(*dav_read_func)(void*, size_t, size_t, void*); |
55 typedef size_t(*dav_read_func)(void*, size_t, size_t, void*); |
55 typedef size_t(*dav_write_func)(const void*, size_t, size_t, void*); |
56 typedef size_t(*dav_write_func)(const void*, size_t, size_t, void*); |
117 DavNamespace *ns; |
124 DavNamespace *ns; |
118 char *name; |
125 char *name; |
119 char *value; |
126 char *value; |
120 }; |
127 }; |
121 |
128 |
|
129 #define DAV_KEY_AES128 0 |
|
130 #define DAV_KEY_AES256 1 |
|
131 #define DAV_KEY_PASSWORD 2 |
|
132 |
|
133 struct DavKey { |
|
134 char *name; |
|
135 int type; |
|
136 void *data; |
|
137 size_t length; |
|
138 }; |
|
139 |
122 DavContext* dav_context_new(); |
140 DavContext* dav_context_new(); |
123 void dav_context_destroy(DavContext *ctx); |
141 void dav_context_destroy(DavContext *ctx); |
|
142 |
|
143 void dav_context_add_key(DavContext *context, DavKey *key); |
|
144 DavKey* dav_context_get_key(DavContext *context, char *name); |
|
145 |
124 int dav_add_namespace(DavContext *context, char *prefix, char *ns); |
146 int dav_add_namespace(DavContext *context, char *prefix, char *ns); |
125 DavNamespace* dav_get_namespace(DavContext *context, char *prefix); |
147 DavNamespace* dav_get_namespace(DavContext *context, char *prefix); |
126 |
148 |
127 DavSession* dav_session_new(DavContext *context, char *base_url); |
149 DavSession* dav_session_new(DavContext *context, char *base_url); |
128 DavSession* dav_session_new_auth( |
150 DavSession* dav_session_new_auth( |
140 void* dav_session_realloc(DavSession *sn, void *ptr, size_t size); |
162 void* dav_session_realloc(DavSession *sn, void *ptr, size_t size); |
141 void dav_session_free(DavSession *sn, void *ptr); |
163 void dav_session_free(DavSession *sn, void *ptr); |
142 |
164 |
143 |
165 |
144 DavResource* dav_get(DavSession *sn, char *path, char *properties); |
166 DavResource* dav_get(DavSession *sn, char *path, char *properties); |
145 DavResource* dav_get2(DavSession *sn, DavGetQuery *query); |
167 |
|
168 DavResource* dav_query_get(DavSession *sn, DavGetQuery *query); |
146 |
169 |
147 UcxList* parse_properties_string(DavContext *context, sstr_t str); |
170 UcxList* parse_properties_string(DavContext *context, sstr_t str); |
148 |
171 |
149 DavResource* dav_query(DavSession *sn, char *query, ...); |
172 DavResource* dav_query(DavSession *sn, char *query, ...); |
150 |
173 |