aboutsummaryrefslogtreecommitdiffstats
path: root/filter/rule-context.h
diff options
context:
space:
mode:
Diffstat (limited to 'filter/rule-context.h')
-rw-r--r--filter/rule-context.h9
1 files changed, 7 insertions, 2 deletions
diff --git a/filter/rule-context.h b/filter/rule-context.h
index 06d32e0be3..27078adbcf 100644
--- a/filter/rule-context.h
+++ b/filter/rule-context.h
@@ -52,11 +52,14 @@ struct _RuleContext {
GList *rule_set_list;
};
+typedef void (*RCRegisterFunc)(RuleContext *f, FilterRule *rule, gpointer data);
+
struct _RuleContextClass {
GtkObjectClass parent_class;
/* virtual methods */
- int (*load)(RuleContext *f, const char *system, const char *user);
+ int (*load)(RuleContext *f, const char *system, const char *user,
+ RCRegisterFunc on_demand_cb, gpointer user_data);
int (*save)(RuleContext *f, const char *user);
/* signals */
@@ -85,7 +88,8 @@ guint rule_context_get_type (void);
RuleContext *rule_context_new (void);
/* methods */
-int rule_context_load(RuleContext *f, const char *system, const char *user);
+int rule_context_load(RuleContext *f, const char *system, const char *user,
+ RCRegisterFunc on_demand_cb, gpointer user_data);
int rule_context_save(RuleContext *f, const char *user);
void rule_context_add_part(RuleContext *f, FilterPart *new);
@@ -102,6 +106,7 @@ void rule_context_remove_rule(RuleContext *f, FilterRule *rule);
/* get/set the rank (position) of a rule */
void rule_context_rank_rule(RuleContext *f, FilterRule *rule, int rank);
int rule_context_get_rank_rule(RuleContext *f, FilterRule *rule);
+int rule_context_get_rank_rule_with_source(RuleContext *f, FilterRule *rule, enum _filter_source_t source);
void rule_context_delete_rule(RuleContext *f, FilterRule *rule);