<!-- ##### SECTION Title ##### -->
GstObject

<!-- ##### SECTION Short_Description ##### -->
Basis for the GST object hierarchy.

<!-- ##### SECTION Long_Description ##### -->
<para>
GstObject provides a root for the object hierarchy tree filed in by the
GST library.  It is currently a thin wrapper on top of
<classname>GObject</classname>. It is an abstract class that is not
very usable on its own.
</para>

<para>
GstObject gives us basic refcounting, parenting functionality and locking. 
</para>
<para>
gst_object_set_name() and gst_object_get_name() are used to set/get the name of the 
object.
</para>

<!-- ##### SECTION See_Also ##### -->
<para>

</para>

<!-- ##### ENUM GstObjectFlags ##### -->
<para>

</para>

@GST_DESTROYED: The object is flagged for destruction
@GST_FLOATING: The object is created but has no parent yet to manage it
@GST_OBJECT_FLAG_LAST: subclasses can add additional flags starting from this flag

<!-- ##### STRUCT GstObject ##### -->
<para>

</para>


<!-- ##### MACRO GST_FLAGS ##### -->
<para>
This macro returns the entire set of flags for the object.
</para>

@obj: Object to return flags for.


<!-- ##### MACRO GST_FLAG_IS_SET ##### -->
<para>
This macro checks to see if the given flag is set.
</para>

@obj: GstSrc to check for flag in.
@flag: Flag to check for, must be a single bit in guint32.


<!-- ##### MACRO GST_FLAG_SET ##### -->
<para>
This macro sets the given bits.
</para>

@obj: Object to set flag in.
@flag: Flag to set, can by any number of bits in guint32.


<!-- ##### MACRO GST_FLAG_UNSET ##### -->
<para>
This macro usets the given bits.
</para>

@obj: Object to unset flag in.
@flag: Flag to set, must be a single bit in guint32.


<!-- ##### MACRO GST_LOCK ##### -->
<para>
This macro will obtain a lock on the object, making serialization
possible.
</para>

@obj: Object to lock.


<!-- ##### MACRO GST_TRYLOCK ##### -->
<para>
This macro will try to obtain a lock on the object, but will return with
FALSE if it can't get it immediately.
</para>

@obj: Object to try to get a lock on.


<!-- ##### MACRO GST_UNLOCK ##### -->
<para>
This macro releases a lock on the object.
</para>

@obj: Object to unlock.


<!-- ##### MACRO GST_GET_LOCK ##### -->
<para>
Acquire a reference to the mutex of this object.
</para>

@obj: Object to get the mutex of.


<!-- ##### MACRO GST_OBJECT_PARENT ##### -->
<para>
Get the parent of this object
</para>

@obj: Object to get the parent of.


<!-- ##### MACRO GST_OBJECT_NAME ##### -->
<para>
Get the name of this object
</para>

@obj: Object to get the name of.


<!-- ##### MACRO GST_OBJECT_FLOATING ##### -->
<para>
Check if the object is floating.
</para>

@obj: The Object to check


<!-- ##### MACRO GST_OBJECT_DESTROYED ##### -->
<para>
Check if the object has been destroyed.
</para>

@obj: The Object to check


<!-- ##### FUNCTION gst_object_check_uniqueness ##### -->
<para>

</para>

@list: 
@name: 
@Returns: 


<!-- ##### FUNCTION gst_object_set_parent ##### -->
<para>

</para>

@object: 
@parent: 


<!-- ##### FUNCTION gst_object_get_parent ##### -->
<para>

</para>

@object: 
@Returns: 


<!-- ##### FUNCTION gst_object_set_name ##### -->
<para>

</para>

@object: 
@name: 


<!-- ##### FUNCTION gst_object_get_name ##### -->
<para>

</para>

@object: 
@Returns: 


<!-- ##### FUNCTION gst_object_unparent ##### -->
<para>

</para>

@object: 


<!-- ##### FUNCTION gst_object_ref ##### -->
<para>

</para>

@object: the object
@Returns: 


<!-- ##### FUNCTION gst_object_unref ##### -->
<para>

</para>

@object: the object


<!-- ##### FUNCTION gst_object_sink ##### -->
<para>

</para>

@object: the object


<!-- ##### FUNCTION gst_object_destroy ##### -->
<para>

</para>

@object: the object


<!-- ##### FUNCTION gst_object_save_thyself ##### -->
<para>

</para>

@object: 
@parent: 
@Returns: 


<!-- ##### FUNCTION gst_object_restore_thyself ##### -->
<para>

</para>

@object: 
@self: 
<!-- # Unused Parameters # -->
@parent: 


<!-- ##### FUNCTION gst_object_get_path_string ##### -->
<para>

</para>

@object: 
@Returns: 


<!-- ##### FUNCTION gst_class_signal_emit_by_name ##### -->
<para>

</para>

@object: 
@name: 
@self: 


<!-- ##### FUNCTION gst_class_signal_connect ##### -->
<para>

</para>

@klass: 
@name: 
@func: 
@func_data: 
@Returns: 


<!-- ##### SIGNAL GstObject::object-saved ##### -->
<para>
Is trigered whenever a new object is saved to XML. You can connect to
this signal to insert custom XML tags into the core XML.
</para>

@gstobject: the object which received the signal.
@arg1: the xmlNodePtr of the parent node

<!-- ##### SIGNAL GstObject::parent-set ##### -->
<para>

</para>

@gstobject: the object which received the signal.
@arg1: the new parent

<!-- ##### SIGNAL GstObject::parent-unset ##### -->
<para>

</para>

@gstobject: the object which received the signal.
@arg1: 

<!-- ##### ARG GstObject:name ##### -->
<para>
The name of the object
</para>

