dav/sync.h

changeset 390
26998dc980f9
parent 389
fe855ce911f9
child 391
10305c5b0a16
--- a/dav/sync.h	Wed May 30 12:10:58 2018 +0200
+++ b/dav/sync.h	Wed May 30 16:06:03 2018 +0200
@@ -111,9 +111,24 @@
 int cmd_trash_info(CmdArgs *args);
 int cmd_empty_trash(CmdArgs *args);
 
-typedef struct {
+/**
+ * filter ::= tag_list | (operator , ("(" , filter , ")")*)
+ * tag_list ::= tag , ("," tag)*
+ * operator ::= "&" | "|" | "1" | "0"
+ */
+typedef struct SyncTagFilter SyncTagFilter;
+
+#define DAV_SYNC_TAGFILTER_AND     1
+#define DAV_SYNC_TAGFILTER_OR      2
+#define DAV_SYNC_TAGFILTER_ONE     3
+#define DAV_SYNC_TAGFILTER_NONE    4
+
+struct SyncTagFilter {
+    int mode;
     UcxList* tags;
-} SyncTagFilter;
+    size_t subfilter_count;
+    SyncTagFilter* subfilters;
+};
 
 int cmd_add_tag(CmdArgs *args);
 int cmd_remove_tag(CmdArgs *args);

mercurial