67 typedef struct { |
67 typedef struct { |
68 sstr_t properties; |
68 sstr_t properties; |
69 sstr_t from; |
69 sstr_t from; |
70 DavQOp *condition; |
70 DavQOp *condition; |
71 size_t condlen; |
71 size_t condlen; |
|
72 int depth; |
72 } DavGetQuery; |
73 } DavGetQuery; |
73 |
74 |
74 DavQuery dav_ql_parse(char *query, va_list ap); |
75 DavQuery dav_ql_parse(char *query, va_list ap); |
75 DavGetQuery* dav_ql_parse_get(sstr_t q, va_list ap); |
76 DavGetQuery* dav_ql_parse_get(sstr_t q, va_list ap); |
76 void free_get_query(DavGetQuery *q); |
77 void free_get_query(DavGetQuery *q); |
77 |
78 |
78 int parse_path_query(sstr_t query, char **path, int *depth); |
79 int parse_path_query(sstr_t query, char **path, int *depth); |
79 |
80 |
|
81 int dav_parse_with(sstr_t with, int *depth, va_list ap); |
80 int dav_parse_condition(UcxList **ops, sstr_t cond, va_list ap); |
82 int dav_parse_condition(UcxList **ops, sstr_t cond, va_list ap); |
81 sstr_t condition_parser_next_token(sstr_t *str); |
83 sstr_t condition_parser_next_token(sstr_t *str); |
82 int condition_operator_type(sstr_t token, int64_t *type); |
84 int condition_operator_type(sstr_t token, int64_t *type); |
83 |
85 |
84 int condition_eval(DavResource *res, DavQOp *cond, size_t len); |
86 int condition_eval(DavResource *res, DavQOp *cond, size_t len); |