static EFilterRule * filter_editor_create_rule (ERuleEditor *rule_editor) { EFilterRule *rule; EFilterPart *part; /* create a rule with 1 part & 1 action in it */ rule = (EFilterRule *) em_filter_rule_new (); part = e_rule_context_next_part (rule_editor->context, NULL); e_filter_rule_add_part (rule, e_filter_part_clone (part)); part = em_filter_context_next_action ( (EMFilterContext *) rule_editor->context, NULL); em_filter_rule_add_action ( (EMFilterRule *) rule, e_filter_part_clone (part)); return rule; }
EFilterRule * filter_rule_from_message (EMFilterContext *context, CamelMimeMessage *msg, gint flags) { EFilterRule *rule; EFilterPart *part; g_return_val_if_fail (EM_IS_FILTER_CONTEXT (context), NULL); g_return_val_if_fail (CAMEL_IS_MIME_MESSAGE (msg), NULL); rule = em_filter_rule_new (); rule_from_message (rule, E_RULE_CONTEXT (context), msg, flags); part = em_filter_context_next_action (context, NULL); em_filter_rule_add_action ( EM_FILTER_RULE (rule), e_filter_part_clone (part)); return rule; }