gstobject.h   gstobject.h 
skipping to change at line 44 skipping to change at line 44
#define GST_IS_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_OBJECT)) #define GST_IS_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_OBJECT))
#define GST_IS_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), G ST_TYPE_OBJECT)) #define GST_IS_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), G ST_TYPE_OBJECT))
#define GST_OBJECT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), G ST_TYPE_OBJECT, GstObjectClass)) #define GST_OBJECT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), G ST_TYPE_OBJECT, GstObjectClass))
#define GST_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GST_TYPE_OBJECT, GstObject)) #define GST_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GST_TYPE_OBJECT, GstObject))
#define GST_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((k lass), GST_TYPE_OBJECT, GstObjectClass)) #define GST_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((k lass), GST_TYPE_OBJECT, GstObjectClass))
#define GST_OBJECT_CAST(obj) ((GstObject*)(obj)) #define GST_OBJECT_CAST(obj) ((GstObject*)(obj))
#define GST_OBJECT_CLASS_CAST(klass) ((GstObjectClass*)(klass)) #define GST_OBJECT_CLASS_CAST(klass) ((GstObjectClass*)(klass))
/* make sure we don't change the object size but still make it compile /* make sure we don't change the object size but still make it compile
* without libxml */ * without libxml */
#ifdef GST_DISABLE_LOADSAVE #if defined(GST_DISABLE_LOADSAVE) || defined(GST_DISABLE_DEPRECATED)
#define GstXmlNodePtr gpointer #define GstXmlNodePtr gpointer
#else #else
#define GstXmlNodePtr xmlNodePtr #define GstXmlNodePtr xmlNodePtr
#endif #endif
/** /**
* GstObjectFlags: * GstObjectFlags:
* @GST_OBJECT_DISPOSING: the object is been destroyed, don't use it anymor e * @GST_OBJECT_DISPOSING: the object is been destroyed, don't use it anymor e
* @GST_OBJECT_FLOATING: the object has a floating reference count (e.g. i ts * @GST_OBJECT_FLOATING: the object has a floating reference count (e.g. i ts
* not assigned to a bin) * not assigned to a bin)
skipping to change at line 102 skipping to change at line 102
/** /**
* GST_OBJECT_LOCK: * GST_OBJECT_LOCK:
* @obj: a #GstObject to lock * @obj: a #GstObject to lock
* *
* This macro will obtain a lock on the object, making serialization possib le. * This macro will obtain a lock on the object, making serialization possib le.
* It blocks until the lock can be obtained. * It blocks until the lock can be obtained.
*/ */
#define GST_OBJECT_LOCK(obj) g_mutex_lock(GST_OBJECT_GET_ LOCK(obj)) #define GST_OBJECT_LOCK(obj) g_mutex_lock(GST_OBJECT_GET_ LOCK(obj))
/** /**
* GST_OBJECT_TRYLOCK: * GST_OBJECT_TRYLOCK:
* @obj: a #Object. * @obj: a #GstObject.
* *
* This macro will try to obtain a lock on the object, but will return with * This macro will try to obtain a lock on the object, but will return with
* FALSE if it can't get it immediately. * FALSE if it can't get it immediately.
*/ */
#define GST_OBJECT_TRYLOCK(obj) g_mutex_trylock(GST_OBJECT_G ET_LOCK(obj)) #define GST_OBJECT_TRYLOCK(obj) g_mutex_trylock(GST_OBJECT_G ET_LOCK(obj))
/** /**
* GST_OBJECT_UNLOCK: * GST_OBJECT_UNLOCK:
* @obj: a #GstObject to unlock. * @obj: a #GstObject to unlock.
* *
* This macro releases a lock on the object. * This macro releases a lock on the object.
skipping to change at line 186 skipping to change at line 186
#define GST_OBJECT_IS_FLOATING(obj) (GST_OBJECT_FLAG_IS_SET (obj, GST_O BJECT_FLOATING)) #define GST_OBJECT_IS_FLOATING(obj) (GST_OBJECT_FLAG_IS_SET (obj, GST_O BJECT_FLOATING))
typedef struct _GstObject GstObject; typedef struct _GstObject GstObject;
typedef struct _GstObjectClass GstObjectClass; typedef struct _GstObjectClass GstObjectClass;
/** /**
* GstObject: * GstObject:
* @refcount: unused * @refcount: unused
* @lock: object LOCK * @lock: object LOCK
* @name: The name of the object * @name: The name of the object
* @name_prefix: used for debugging * @name_prefix: unused
* @parent: this object's parent, weak ref * @parent: this object's parent, weak ref
* @flags: use GST_OBJECT_IS_XXX macros to access the flags * @flags: use GST_OBJECT_IS_XXX macros to access the flags
* *
* GStreamer base object class. * GStreamer base object class.
*/ */
struct _GstObject { struct _GstObject {
GObject object; GObject object;
/*< public >*/ /*< public >*/
gint refcount; gint refcount; /* unused (FIXME 0.11: remove) */
/*< public >*/ /* with LOCK */ /*< public >*/ /* with LOCK */
GMutex *lock; /* object LOCK */ GMutex *lock; /* object LOCK */
gchar *name; /* object name */ gchar *name; /* object name */
gchar *name_prefix; /* used for debugging */ gchar *name_prefix; /* (un)used for debugging (FIXME 0.11: remove ) */
GstObject *parent; /* this object's parent, weak ref */ GstObject *parent; /* this object's parent, weak ref */
guint32 flags; guint32 flags;
/*< private >*/ /*< private >*/
gpointer _gst_reserved; gpointer _gst_reserved;
}; };
/** /**
* GST_CLASS_GET_LOCK: * GST_CLASS_GET_LOCK:
* @obj: a #GstObjectClass * @obj: a #GstObjectClass
skipping to change at line 239 skipping to change at line 239
*/ */
#define GST_CLASS_TRYLOCK(obj) (g_static_rec_mutex_trylock(GST_CLA SS_GET_LOCK(obj))) #define GST_CLASS_TRYLOCK(obj) (g_static_rec_mutex_trylock(GST_CLA SS_GET_LOCK(obj)))
/** /**
* GST_CLASS_UNLOCK: * GST_CLASS_UNLOCK:
* @obj: a #GstObjectClass * @obj: a #GstObjectClass
* *
* Unlock the class. * Unlock the class.
*/ */
#define GST_CLASS_UNLOCK(obj) (g_static_rec_mutex_unlock(GST_CLAS S_GET_LOCK(obj))) #define GST_CLASS_UNLOCK(obj) (g_static_rec_mutex_unlock(GST_CLAS S_GET_LOCK(obj)))
/* /**
* GstObjectClass: * GstObjectClass:
* * @parent_class: parent
* @path_string_separator: separator used by gst_object_get_path_string()
* @signal_object: is used to signal to the whole class * @signal_object: is used to signal to the whole class
* @lock: class lock to be used with GST_CLASS_GET_LOCK(), GST_CLASS_LOCK()
, GST_CLASS_UNLOCK() and others.
* @parent_set: default signal handler
* @parent_unset: default signal handler
* @object_saved: default signal handler
* @deep_notify: default signal handler
* @save_thyself: xml serialisation * @save_thyself: xml serialisation
* @restore_thyself: xml de-serialisation * @restore_thyself: xml de-serialisation
*
* GStreamer base object class.
*/ */
struct _GstObjectClass { struct _GstObjectClass {
GObjectClass parent_class; GObjectClass parent_class;
gchar *path_string_separator; const gchar *path_string_separator;
GObject *signal_object; GObject *signal_object;
/* FIXME-0.11: remove this, plus the above GST_CLASS_*_LOCK macros */
GStaticRecMutex *lock; GStaticRecMutex *lock;
/* signals */ /* signals */
/* FIXME-0.11: remove, and pass NULL in g_signal_new(), we never used the m */
void (*parent_set) (GstObject * object, GstObject * parent ); void (*parent_set) (GstObject * object, GstObject * parent );
void (*parent_unset) (GstObject * object, GstObject * parent ); void (*parent_unset) (GstObject * object, GstObject * parent );
/* FIXME 0.11: Remove this, it's deprecated */
void (*object_saved) (GstObject * object, GstXmlNodePtr pare nt); void (*object_saved) (GstObject * object, GstXmlNodePtr pare nt);
void (*deep_notify) (GstObject * object, GstObject * orig, GParamSpec * pspec); void (*deep_notify) (GstObject * object, GstObject * orig, GParamSpec * pspec);
/*< public >*/ /*< public >*/
/* virtual methods for subclasses */ /* virtual methods for subclasses */
/* FIXME 0.11: Remove this, it's deprecated */
GstXmlNodePtr (*save_thyself) (GstObject * object, GstXmlNodePtr pare nt); GstXmlNodePtr (*save_thyself) (GstObject * object, GstXmlNodePtr pare nt);
void (*restore_thyself) (GstObject * object, GstXmlNodePtr self ); void (*restore_thyself) (GstObject * object, GstXmlNodePtr self );
/*< private >*/ /*< private >*/
gpointer _gst_reserved[GST_PADDING]; gpointer _gst_reserved[GST_PADDING];
}; };
/* normal GObject stuff */ /* normal GObject stuff */
GType gst_object_get_type (void); GType gst_object_get_type (void);
/* name routines */ /* name routines */
gboolean gst_object_set_name (GstObject *object, const gc har *name); gboolean gst_object_set_name (GstObject *object, const gc har *name);
gchar* gst_object_get_name (GstObject *object); gchar* gst_object_get_name (GstObject *object);
#ifndef GST_DISABLE_DEPRECATED
void gst_object_set_name_prefix (GstObject *object, const gc har *name_prefix); void gst_object_set_name_prefix (GstObject *object, const gc har *name_prefix);
gchar* gst_object_get_name_prefix (GstObject *object); gchar* gst_object_get_name_prefix (GstObject *object);
#endif
/* parentage routines */ /* parentage routines */
gboolean gst_object_set_parent (GstObject *object, GstObjec t *parent); gboolean gst_object_set_parent (GstObject *object, GstObjec t *parent);
GstObject* gst_object_get_parent (GstObject *object); GstObject* gst_object_get_parent (GstObject *object);
void gst_object_unparent (GstObject *object); void gst_object_unparent (GstObject *object);
gboolean gst_object_has_ancestor (GstObject *object, GstObjec t *ancestor); gboolean gst_object_has_ancestor (GstObject *object, GstObjec t *ancestor);
void gst_object_default_deep_notify (GObject *object, Gs tObject *orig, void gst_object_default_deep_notify (GObject *object, Gs tObject *orig,
GParamSpec *pspec, gchar * *excluded_props); GParamSpec *pspec, gchar * *excluded_props);
/* refcounting + life cycle */ /* refcounting + life cycle */
gpointer gst_object_ref (gpointer object); gpointer gst_object_ref (gpointer object);
void gst_object_unref (gpointer object); void gst_object_unref (gpointer object);
void gst_object_ref_sink (gpointer object);
void gst_object_sink (gpointer object); void gst_object_sink (gpointer object);
/* replace object pointer */ /* replace object pointer */
void gst_object_replace (GstObject **oldobj, GstObje ct *newobj); void gst_object_replace (GstObject **oldobj, GstObje ct *newobj);
/* printing out the 'path' of the object */ /* printing out the 'path' of the object */
gchar * gst_object_get_path_string (GstObject *object); gchar * gst_object_get_path_string (GstObject *object);
/* misc utils */ /* misc utils */
gboolean gst_object_check_uniqueness (GList *list, const gchar *n ame); gboolean gst_object_check_uniqueness (GList *list, const gchar *n ame);
/* load/save */ /* load/save */
#ifndef GST_DISABLE_DEPRECATED
#ifndef GST_DISABLE_LOADSAVE #ifndef GST_DISABLE_LOADSAVE
GstXmlNodePtr gst_object_save_thyself (GstObject *object, GstXmlNodePt r parent); GstXmlNodePtr gst_object_save_thyself (GstObject *object, GstXmlNodePt r parent);
void gst_object_restore_thyself (GstObject *object, GstXmlNodePt r self); void gst_object_restore_thyself (GstObject *object, GstXmlNodePt r self);
#else #else
#if defined _GNUC_ && _GNUC_ >= 3 #if defined __GNUC__ && __GNUC__ >= 3
#pragma GCC poison gst_object_save_thyself #pragma GCC poison gst_object_save_thyself
#pragma GCC poison gst_object_restore_thyself #pragma GCC poison gst_object_restore_thyself
#endif #endif
#endif #endif
#endif
/* class signal stuff */ /* class signal stuff */
guint gst_class_signal_connect (GstObjectClass *klass, guint gst_class_signal_connect (GstObjectClass *klass,
const gchar *name, const gchar *name,
gpointer func, gpointer func,
gpointer func_data); gpointer func_data);
#ifndef GST_DISABLE_DEPRECATED
#ifndef GST_DISABLE_LOADSAVE #ifndef GST_DISABLE_LOADSAVE
void gst_class_signal_emit_by_name (GstObject * object, void gst_class_signal_emit_by_name (GstObject * object,
const gchar * name, const gchar * name,
GstXmlNodePtr self); GstXmlNodePtr self);
#else #else
#if defined _GNUC_ && _GNUC_ >= 3 #if defined __GNUC__ && __GNUC__ >= 3
#pragma GCC poison gst_class_signal_emit_by_name #pragma GCC poison gst_class_signal_emit_by_name
#endif #endif
#endif #endif
#endif
G_END_DECLS G_END_DECLS
#endif /* __GST_OBJECT_H__ */ #endif /* __GST_OBJECT_H__ */
 End of changes. 23 change blocks. 
10 lines changed or deleted 31 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/