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.h11
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);