27 MATCHING_NOT_FORWARDED,
40 MATCHING_NOT_TO_AND_NOT_CC,
44 MATCHING_NOT_NEWSGROUPS,
46 MATCHING_NOT_INREPLYTO,
48 MATCHING_NOT_REFERENCES,
49 MATCHING_SCORE_GREATER,
58 MATCHING_HEADERS_PART,
59 MATCHING_NOT_HEADERS_PART,
61 MATCHING_NOT_BODY_PART,
73 MATCHING_ACTION_DELETE,
75 MATCHING_ACTION_MARK_AS_READ,
76 MATCHING_ACTION_UNMARK,
77 MATCHING_ACTION_MARK_AS_UNREAD,
78 MATCHING_ACTION_FORWARD,
79 MATCHING_ACTION_FORWARD_AS_ATTACHMENT,
81 /* MATCHING_ACTION_EXECUTE, */
101 typedef struct _MatcherProp MatcherProp;
103 struct _MatcherList {
108 typedef struct _MatcherList MatcherList;
110 gchar * get_matchparser_tab_str(gint id);
111 MatcherProp * matcherprop_new(gint criteria, gchar * header,
112 gint matchtype, gchar * expr,
114 void matcherprop_free(MatcherProp * prop);
116 MatcherProp * matcherprop_parse(gchar ** str);
119 gboolean matcherprop_match(MatcherProp * prop, MsgInfo * info);
121 MatcherList * matcherlist_new(GSList * matchers, gboolean bool_and);
122 void matcherlist_free(MatcherList * cond);
124 MatcherList * matcherlist_parse(gchar ** str);
127 gboolean matcherlist_match(MatcherList * cond, MsgInfo * info);
130 gint matcher_parse_keyword(gchar ** str);
131 gint matcher_parse_number(gchar ** str);
132 gboolean matcher_parse_boolean_op(gchar ** str);
133 gchar * matcher_parse_regexp(gchar ** str);
134 gchar * matcher_parse_str(gchar ** str);
136 gchar * matcherprop_to_string(MatcherProp * matcher);
137 gchar * matcherlist_to_string(MatcherList * matchers);
138 gchar * matching_build_command(gchar * cmd, MsgInfo * info);