aboutsummaryrefslogtreecommitdiffstats
path: root/filter/e-filter-option.c
diff options
context:
space:
mode:
Diffstat (limited to 'filter/e-filter-option.c')
-rw-r--r--filter/e-filter-option.c48
1 files changed, 13 insertions, 35 deletions
diff --git a/filter/e-filter-option.c b/filter/e-filter-option.c
index a9e99e06ff..c0ce5b778f 100644
--- a/filter/e-filter-option.c
+++ b/filter/e-filter-option.c
@@ -36,7 +36,10 @@
#include "e-filter-option.h"
#include "e-filter-part.h"
-static gpointer parent_class;
+G_DEFINE_TYPE (
+ EFilterOption,
+ e_filter_option,
+ E_TYPE_FILTER_ELEMENT)
static void
free_option (struct _filter_option *opt)
@@ -108,7 +111,7 @@ filter_option_finalize (GObject *object)
g_free (option->dynamic_func);
/* Chain up to parent's finalize() method. */
- G_OBJECT_CLASS (parent_class)->finalize (object);
+ G_OBJECT_CLASS (e_filter_option_parent_class)->finalize (object);
}
static gint
@@ -119,7 +122,8 @@ filter_option_eq (EFilterElement *element_a,
EFilterOption *option_b = E_FILTER_OPTION (element_b);
/* Chain up to parent's eq() method. */
- if (!E_FILTER_ELEMENT_CLASS (parent_class)->eq (element_a, element_b))
+ if (!E_FILTER_ELEMENT_CLASS (e_filter_option_parent_class)->
+ eq (element_a, element_b))
return FALSE;
if (option_a->current == NULL && option_b->current == NULL)
@@ -139,7 +143,8 @@ filter_option_xml_create (EFilterElement *element,
xmlNodePtr n, work;
/* Chain up to parent's xml_create() method. */
- E_FILTER_ELEMENT_CLASS (parent_class)->xml_create (element, node);
+ E_FILTER_ELEMENT_CLASS (e_filter_option_parent_class)->
+ xml_create (element, node);
n = node->children;
while (n) {
@@ -269,7 +274,8 @@ filter_option_clone (EFilterElement *element)
GList *link;
/* Chain up to parent's clone() method. */
- clone = E_FILTER_ELEMENT_CLASS (parent_class)->clone (element);
+ clone = E_FILTER_ELEMENT_CLASS (e_filter_option_parent_class)->
+ clone (element);
clone_option = E_FILTER_OPTION (clone);
@@ -393,13 +399,11 @@ filter_option_format_sexp (EFilterElement *element,
}
static void
-filter_option_class_init (EFilterOptionClass *class)
+e_filter_option_class_init (EFilterOptionClass *class)
{
GObjectClass *object_class;
EFilterElementClass *filter_element_class;
- parent_class = g_type_class_peek_parent (class);
-
object_class = G_OBJECT_CLASS (class);
object_class->finalize = filter_option_finalize;
@@ -415,38 +419,12 @@ filter_option_class_init (EFilterOptionClass *class)
}
static void
-filter_option_init (EFilterOption *option)
+e_filter_option_init (EFilterOption *option)
{
option->type = "option";
option->dynamic_func = NULL;
}
-GType
-e_filter_option_get_type (void)
-{
- static GType type = 0;
-
- if (G_UNLIKELY (type == 0)) {
- static const GTypeInfo type_info = {
- sizeof (EFilterOptionClass),
- (GBaseInitFunc) NULL,
- (GBaseFinalizeFunc) NULL,
- (GClassInitFunc) filter_option_class_init,
- (GClassFinalizeFunc) NULL,
- NULL, /* class_data */
- sizeof (EFilterOption),
- 0, /* n_preallocs */
- (GInstanceInitFunc) filter_option_init,
- NULL /* value_table */
- };
-
- type = g_type_register_static (
- E_TYPE_FILTER_ELEMENT, "EFilterOption", &type_info, 0);
- }
-
- return type;
-}
-
/**
* filter_option_new:
*