diff --git a/gst/gstinterface.c b/gst/gstinterface.c index fe099e9a7d..a6bb684c90 100644 --- a/gst/gstinterface.c +++ b/gst/gstinterface.c @@ -28,19 +28,21 @@ #include "gstinterface.h" #include "gstlog.h" -static void gst_interface_class_init (GstInterfaceClass *ifklass); -static gboolean gst_interface_supported_default (GstInterface *iface, - GType iface_type); +static void +gst_implements_interface_class_init (GstImplementsInterfaceClass *ifklass); +static gboolean +gst_implements_interface_supported_default (GstImplementsInterface *iface, + GType iface_type); GType -gst_interface_get_type (void) +gst_implements_interface_get_type (void) { static GType gst_interface_type = 0; if (!gst_interface_type) { static const GTypeInfo gst_interface_info = { - sizeof (GstInterfaceClass), - (GBaseInitFunc) gst_interface_class_init, + sizeof (GstImplementsInterfaceClass), + (GBaseInitFunc) gst_implements_interface_class_init, NULL, NULL, NULL, @@ -52,7 +54,7 @@ gst_interface_get_type (void) }; gst_interface_type = g_type_register_static (G_TYPE_INTERFACE, - "GstInterface", + "GstImplementsInterface", &gst_interface_info, 0); g_type_interface_add_prerequisite (gst_interface_type, @@ -63,14 +65,14 @@ gst_interface_get_type (void) } static void -gst_interface_class_init (GstInterfaceClass *klass) +gst_implements_interface_class_init (GstImplementsInterfaceClass *klass) { - klass->supported = gst_interface_supported_default; + klass->supported = gst_implements_interface_supported_default; } static gboolean -gst_interface_supported_default (GstInterface *interface, - GType iface_type) +gst_implements_interface_supported_default (GstImplementsInterface *interface, + GType iface_type) { /* Well, if someone didn't set the virtual function, * then something is clearly wrong. So big no-no here */ @@ -93,12 +95,12 @@ gst_element_implements_interface (GstElement *element, { if (G_TYPE_CHECK_INSTANCE_TYPE (G_OBJECT (element), iface_type)) { - GstInterface *iface; - GstInterfaceClass *ifclass; + GstImplementsInterface *iface; + GstImplementsInterfaceClass *ifclass; iface = G_TYPE_CHECK_INSTANCE_CAST (G_OBJECT (element), - iface_type, GstInterface); - ifclass = GST_INTERFACE_GET_CLASS (iface); + iface_type, GstImplementsInterface); + ifclass = GST_IMPLEMENTS_INTERFACE_GET_CLASS (iface); if (ifclass->supported != NULL && ifclass->supported (iface, iface_type) == TRUE) { @@ -110,7 +112,7 @@ gst_element_implements_interface (GstElement *element, } /** - * gst_interface_cast: + * gst_implements_interface_cast: * @from: the object (any sort) from which to cast to the interface * @type: the interface type to cast to * @@ -118,15 +120,15 @@ gst_element_implements_interface (GstElement *element, * interface is supported for this specific instance. */ -GstInterface * -gst_interface_cast (gpointer from, - GType iface_type) +gpointer +gst_implements_interface_cast (gpointer from, + GType iface_type) { - GstInterface *iface; + GstImplementsInterface *iface; /* check cast, give warning+fail if it's invalid */ if (!(iface = G_TYPE_CHECK_INSTANCE_CAST (from, iface_type, - GstInterface))) { + GstImplementsInterface))) { return NULL; } @@ -142,7 +144,7 @@ gst_interface_cast (gpointer from, } /** - * gst_interface_cast: + * gst_implements_interface_cast: * @from: the object (any sort) from which to check from for the interface * @type: the interface type to check for * @@ -151,17 +153,17 @@ gst_interface_cast (gpointer from, */ gboolean -gst_interface_check (gpointer from, - GType type) +gst_implements_interface_check (gpointer from, + GType type) { - GstInterface *iface; + GstImplementsInterface *iface; /* check cast, return FALSE if it fails, don't give a warning... */ if (!G_TYPE_CHECK_INSTANCE_TYPE (from, type)) { return FALSE; } - iface = G_TYPE_CHECK_INSTANCE_CAST (from, type, GstInterface); + iface = G_TYPE_CHECK_INSTANCE_CAST (from, type, GstImplementsInterface); /* now, if we're an element (or derivative), is this thing * actually implemented for real? */ diff --git a/gst/gstinterface.h b/gst/gstinterface.h index bd11637668..2d1bc71205 100644 --- a/gst/gstinterface.h +++ b/gst/gstinterface.h @@ -20,57 +20,60 @@ * Boston, MA 02111-1307, USA. */ -#ifndef __GST_INTERFACE_H__ -#define __GST_INTERFACE_H__ +#ifndef __GST_IMPLEMENTS_INTERFACE_H__ +#define __GST_IMPLEMENTS_INTERFACE_H__ #include <gst/gstelement.h> G_BEGIN_DECLS -#define GST_TYPE_INTERFACE \ - (gst_interface_get_type ()) -#define GST_INTERFACE(obj) \ - (GST_INTERFACE_CHECK_INSTANCE_CAST ((obj), GST_TYPE_INTERFACE, GstInterface)) -#define GST_INTERFACE_CLASS(klass) \ - (G_TYPE_CHECK_CLASS_CAST ((klass), GST_TYPE_INTERFACE, GstInterfaceClass)) -#define GST_IS_INTERFACE(obj) \ - (GST_INTERFACE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_INTERFACE)) -#define GST_IS_INTERFACE_CLASS(klass) \ - (G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_INTERFACE)) -#define GST_INTERFACE_GET_CLASS(inst) \ - (G_TYPE_INSTANCE_GET_INTERFACE ((inst), GST_TYPE_INTERFACE, GstInterfaceClass)) +#define GST_TYPE_IMPLEMENTS_INTERFACE \ + (gst_implements_interface_get_type ()) +#define GST_IMPLEMENTS_INTERFACE(obj) \ + (GST_INTERFACE_CHECK_INSTANCE_CAST ((obj), GST_TYPE_IMPLEMENTS_INTERFACE, \ + GstImplementsInterface)) +#define GST_IMPLEMENTS_INTERFACE_CLASS(klass) \ + (G_TYPE_CHECK_CLASS_CAST ((klass), GST_TYPE_IMPLEMENTS_INTERFACE, \ + GstImplementsInterfaceClass)) +#define GST_IS_IMPLEMENTS_INTERFACE(obj) \ + (GST_INTERFACE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_IMPLEMENTS_INTERFACE)) +#define GST_IS_IMPLEMENTS_INTERFACE_CLASS(klass) \ + (G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_IMPLEMENTS_INTERFACE)) +#define GST_IMPLEMENTS_INTERFACE_GET_CLASS(inst) \ + (G_TYPE_INSTANCE_GET_INTERFACE ((inst), GST_TYPE_IMPLEMENTS_INTERFACE, \ + GstImplementsInterfaceClass)) -typedef struct _GstInterface GstInterface; +typedef struct _GstImplementsInterface GstImplementsInterface; /* This small extra virtual function is here to provide an * interface functionality on a per-instance basis rather * than a per-class basis, which is the case for glib. */ -typedef struct _GstInterfaceClass { +typedef struct _GstImplementsInterfaceClass { GTypeInterface parent; /* virtual functions */ - gboolean (* supported) (GstInterface *iface, - GType iface_type); + gboolean (* supported) (GstImplementsInterface *iface, + GType iface_type); GST_CLASS_PADDING -} GstInterfaceClass; +} GstImplementsInterfaceClass; -#define GST_INTERFACE_CHECK_INSTANCE_CAST(obj, type, cast_t) \ - ((cast_t *) gst_interface_cast ((obj), (type))) -#define GST_INTERFACE_CHECK_INSTANCE_TYPE(obj, type) \ - (gst_interface_check ((obj), (type))) +#define GST_IMPLEMENTS_INTERFACE_CHECK_INSTANCE_CAST(obj, type, cast_t) \ + ((cast_t *) gst_implements_interface_cast ((obj), (type))) +#define GST_IMPLEMENTS_INTERFACE_CHECK_INSTANCE_TYPE(obj, type) \ + (gst_implements_interface_check ((obj), (type))) -GType gst_interface_get_type (void); +GType gst_implements_interface_get_type (void); /* wrapper functions to check for functionality implementation */ -gboolean gst_element_implements_interface(GstElement *element, - GType iface_type); -GstInterface * gst_interface_cast (gpointer from, - GType type); -gboolean gst_interface_check (gpointer from, - GType type); +gboolean gst_element_implements_interface (GstElement *element, + GType iface_type); +gpointer gst_implements_interface_cast (gpointer from, + GType type); +gboolean gst_implements_interface_check (gpointer from, + GType type); G_END_DECLS -#endif /* __GST_INTERFACE_H__ */ +#endif /* __GST_IMPLEMENTS_INTERFACE_H__ */