tagsetter: use G_DEFINE_INTERFACE_* macro
authorAlexander Saprykin <xelfium@gmail.com>
Fri, 6 Apr 2012 14:00:33 +0000 (18:00 +0400)
committerTim-Philipp Müller <tim@centricular.net>
Sun, 24 Jun 2012 23:31:01 +0000 (00:31 +0100)
https://bugzilla.gnome.org/show_bug.cgi?id=673641

gst/gsttagsetter.c

index b538c59..f7080f3 100644 (file)
@@ -89,35 +89,14 @@ typedef struct
 #define GST_TAG_DATA_LOCK(data) g_mutex_lock(&data->lock)
 #define GST_TAG_DATA_UNLOCK(data) g_mutex_unlock(&data->lock)
 
-GType
-gst_tag_setter_get_type (void)
-{
-  static volatile gsize tag_setter_type = 0;
-
-  if (g_once_init_enter (&tag_setter_type)) {
-    GType _type;
-    static const GTypeInfo tag_setter_info = {
-      sizeof (GstTagSetterInterface),   /* class_size */
-      NULL,                     /* base_init */
-      NULL,                     /* base_finalize */
-      NULL,
-      NULL,                     /* class_finalize */
-      NULL,                     /* class_data */
-      0,
-      0,
-      NULL
-    };
-
-    _type = g_type_register_static (G_TYPE_INTERFACE, "GstTagSetter",
-        &tag_setter_info, 0);
-
-    g_type_interface_add_prerequisite (_type, GST_TYPE_ELEMENT);
-
-    gst_tag_key = g_quark_from_static_string ("GST_TAG_SETTER");
-    g_once_init_leave (&tag_setter_type, _type);
-  }
+G_DEFINE_INTERFACE_WITH_CODE (GstTagSetter, gst_tag_setter, GST_TYPE_ELEMENT,
+    gst_tag_key = g_quark_from_static_string ("gst-tag-setter-data");
+    );
 
-  return tag_setter_type;
+static void
+gst_tag_setter_default_init (GstTagSetterInterface * klass)
+{
+  /* nothing to do here, it's a dummy interface */
 }
 
 static void