[gst-devel] Fwd: Re: no more GTK_CHECK_CAST in newly written code?
Keizi at mail.co.kr
Tue Apr 30 02:18:05 CEST 2002
On 2002.04.30 17:44 Sven Neumann wrote:
> Kang Jeong-Hee <Keizi at mail.co.kr> writes:
> > I've found gtktypeutils.h define GTK_CHECK_CAST with comment of
> > /* glib macro wrappers (compatibility) */.
> > is that meaning I'd better not to use SOME_CHECK_CAST, but to use directly G_TYPE_CHECK_INSTANCE_CAST?
> > for example, GStreamer do not use GST_CHECK_CAST, refer directly to G_TYPE_...
> > """
> > #define GST_OBJECT_CAST(obj) ((GstObject*)(obj))
> > #define GST_OBJECT_CLASS_CAST(klass) ((GstObjectClass*)(klass))
> > #ifdef GST_TYPE_PARANOID
> > # define GST_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GST_TYPE_OBJECT, GstObject))
> > # define GST_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GST_TYPE_OBJECT, GstObjectClass))
> > #else
> > # define GST_OBJECT GST_OBJECT_CAST
> > # define GST_OBJECT_CLASS GST_OBJECT_CLASS_CAST
> > #endif
> > """
> > that form of definition is new GTK+-2.x stlye?
> Some of the macros changed their name since the object system is now
> independent from GTK+ and lives in GObject which is part of GLib.
> However this looks pretty much GStreamer-specific. Normally you'd
> write something like this:
> #define GIMP_TYPE_IMAGE (gimp_image_get_type ())
> #define GIMP_IMAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GIMP_TYPE_IMAGE, GimpImage))
> #define GIMP_IMAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GIMP_TYPE_IMAGE, GimpImageClass))
> #define GIMP_IS_IMAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GIMP_TYPE_IMAGE))
> #define GIMP_IS_IMAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GIMP_TYPE_IMAGE))
> #define GIMP_IMAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GIMP_TYPE_IMAGE, GimpImageClass))
> I don't think it makes sense to introduce things like GST_TYPE_PARANOID
> to switch expensive type-checking casts on and off since the same effect
> can be achieved by using G_DISABLE_CHECKS as provided by Glib.
I think this is good point. what about this gst team?
(frankly I don't understand what is G_DISABLE_CHECKS this moment ;)
> Salut, Sven
> gtk-list mailing list
> gtk-list at gnome.org
More information about the gstreamer-devel