libidav/davqlexec.h

changeset 128
649eb328674a
parent 126
b156cae29e65
child 134
4bccc18820e8
--- a/libidav/davqlexec.h	Tue Jun 02 10:07:20 2015 +0200
+++ b/libidav/davqlexec.h	Tue Jun 02 20:57:23 2015 +0200
@@ -40,6 +40,7 @@
 
 typedef struct DavQLCmd      DavQLCmd;
 typedef struct DavQLStackObj DavQLStackObj;
+typedef struct DavQLRes      DavQLRes;
 
 typedef void*(*davql_func)(); // TODO: interface?
 
@@ -112,16 +113,21 @@
         char    *string;
     } data;
 };
+
+struct DavQLRes {
+    DavResource *resource;
+    int depth;
+};
     
-DavQLResult* dav_statement_exec(DavSession *sn, DavQLStatement *st, ...);
-DavQLResult* dav_statement_execv(DavSession *sn, DavQLStatement *st, va_list ap);
+DavResult* dav_statement_exec(DavSession *sn, DavQLStatement *st, ...);
+DavResult* dav_statement_execv(DavSession *sn, DavQLStatement *st, va_list ap);
 
 UcxBuffer* dav_path_string(sstr_t src, va_list ap, davqlerror_t *error);
 sstr_t dav_format_string(UcxAllocator *a, sstr_t fstr, va_list ap, davqlerror_t *error);
 
-void dav_exec_get(DavSession *sn, DavQLStatement *st, char* path, va_list ap);
+DavResult dav_exec_select(DavSession *sn, DavQLStatement *st, char* path, va_list ap);
 
-UcxBuffer* dav_compile_expr(UcxAllocator *a, DavQLExpression *lexpr, va_list ap);
+UcxBuffer* dav_compile_expr(DavContext *ctx, UcxAllocator *a, DavQLExpression *lexpr, va_list ap);
 
 int dav_exec_expr(UcxBuffer *bcode, DavResource *res, DavQLStackObj *result);
 

mercurial