diff options
Diffstat (limited to 'filter/rule-context.h')
-rw-r--r-- | filter/rule-context.h | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/filter/rule-context.h b/filter/rule-context.h index 2f54a574f8..25b0c0e4c9 100644 --- a/filter/rule-context.h +++ b/filter/rule-context.h @@ -68,7 +68,7 @@ typedef void (*RCRegisterFunc) (RuleContext *rc, FilterRule *rule, gpointer user struct _RuleContextClass { GObjectClass parent_class; - + /* virtual methods */ int (*load) (RuleContext *rc, const char *system, const char *user); int (*save) (RuleContext *rc, const char *user); @@ -76,6 +76,8 @@ struct _RuleContextClass { GList *(*delete_uri) (RuleContext *rc, const char *uri, GCompareFunc cmp); GList *(*rename_uri) (RuleContext *rc, const char *olduri, const char *newuri, GCompareFunc cmp); + + FilterElement *(*new_element)(RuleContext *rc, const char *name); /* signals */ void (*rule_added) (RuleContext *rc, FilterRule *rule); @@ -103,9 +105,11 @@ struct _rule_set_map { }; GType rule_context_get_type (void); -RuleContext *rule_context_new (void); /* methods */ +RuleContext *rule_context_new (void); + +/* io */ int rule_context_load (RuleContext *rc, const char *system, const char *user); int rule_context_save (RuleContext *rc, const char *user); int rule_context_revert (RuleContext *rc, const char *user); @@ -132,6 +136,9 @@ void rule_context_add_part_set (RuleContext *rc, const char *setname, GType part void rule_context_add_rule_set (RuleContext *rc, const char *setname, GType rule_type, RCRuleFunc append, RCNextRuleFunc next); +/* dynamic element types */ +FilterElement *rule_context_new_element(RuleContext *rc, const char *name); + /* uri's disappear/renamed externally */ GList *rule_context_delete_uri (RuleContext *rc, const char *uri, GCompareFunc cmp); GList *rule_context_rename_uri (RuleContext *rc, const char *olduri, const char *newuri, GCompareFunc cmp); |