--- a/dav/tags.h Sun Jun 10 13:24:30 2018 +0200 +++ b/dav/tags.h Mon Jun 11 19:31:03 2018 +0200 @@ -47,6 +47,9 @@ #define DAV_SYNC_TAGFILTER_ONE 3 #define DAV_SYNC_TAGFILTER_NONE 4 +#define DAV_SYNC_TAGFILTER_SCOPE_RESOURCE 1 +#define DAV_SYNC_TAGFILTER_SCOPE_COLLECTION 2 + typedef struct DavTag { char *name; char *color; @@ -60,6 +63,7 @@ typedef struct SyncTagFilter SyncTagFilter; struct SyncTagFilter { + int scope; int mode; UcxList* tags; size_t subfilter_count; @@ -85,7 +89,7 @@ /* ----------- ----------- tag filter ---------------------- */ -SyncTagFilter* parse_tagfilter_string(const char* filterstring); +SyncTagFilter* parse_tagfilter_string(const char* filterstring, int scope); void free_tagfilter(SyncTagFilter* filter); int matches_tagfilter(UcxList *dav_tags, SyncTagFilter *tagfilter);