X-Git-Url: http://www.project-moonshot.org/gitweb/?a=blobdiff_plain;f=include%2Ftr_filter.h;h=0ca2f3730f1d7a012221858095510bdc073c6e3a;hb=cb969dbf6afbbd1e2d99c615c664348a2d3295c5;hp=d5e2b867456942288850358e611d4bcad47cea4d;hpb=135f5ab1d309fe168cc2e1742845ffdf0a7186c3;p=trust_router.git diff --git a/include/tr_filter.h b/include/tr_filter.h index d5e2b86..0ca2f37 100644 --- a/include/tr_filter.h +++ b/include/tr_filter.h @@ -39,6 +39,7 @@ #include #include +#include #include #include #include @@ -87,14 +88,9 @@ typedef struct tr_fline_iter { typedef struct tr_filter { TR_FILTER_TYPE type; - GPtrArray *lines; + TR_LIST *lines; } TR_FILTER; -typedef struct tr_filter_iter { - TR_FILTER *filter; - guint ii; -} TR_FILTER_ITER; - typedef struct tr_filter_set TR_FILTER_SET; struct tr_filter_set { TR_FILTER *this; @@ -135,10 +131,13 @@ TR_NAME *tr_fspec_add_match(TR_FSPEC *fspec, TR_NAME *match); int tr_fspec_matches(TR_FSPEC *fspec, TR_FILTER_TYPE ftype, TR_FILTER_TARGET *target); -TR_FILTER_ITER *tr_filter_iter_new(TALLOC_CTX *mem_ctx); -void tr_filter_iter_free(TR_FILTER_ITER *iter); -TR_FLINE *tr_filter_iter_first(TR_FILTER_ITER *iter, TR_FILTER *filter); -TR_FLINE *tr_filter_iter_next(TR_FILTER_ITER *iter); +/* Iterator for TR_FILTER.lines */ +typedef TR_LIST_ITER TR_FILTER_ITER; +#define tr_filter_iter_new(CTX) (tr_list_iter_new(CTX)) +#define tr_filter_iter_free(ITER) (tr_list_iter_free(ITER)) +#define tr_filter_iter_first(ITER, FILT) (tr_list_iter_first((ITER), (FILT)->lines)) +#define tr_filter_iter_next(ITER) (tr_list_iter_next(ITER)) +#define tr_filter_add_line(FILT, LINE) ((TR_FLINE *) tr_list_add((FILT)->lines, (LINE))) TR_FLINE_ITER *tr_fline_iter_new(TALLOC_CTX *mem_ctx); void tr_fline_iter_free(TR_FLINE_ITER *iter);