GObject The base object type. All the fields in the GObject structure are private to the #GObject implementation and should never be accessed directly. @g_type_instance: @object: @property_id: @value: @pspec: @trailer: @object: @property_id: @value: @pspec: @trailer: @object: Return a boolean value of %FALSE or %TRUE indicating whether the passed in type id is a %G_TYPE_OBJECT or derived from it. @type: Type id to check for is a %G_TYPE_OBJECT relationship. @Returns: %FALSE or %TRUE, indicating whether @type is a %G_TYPE_OBJECT. Cast a #GObject or derived pointer into a (GObject*) pointer. Depending on the current debugging level, this function may invoke certain runtime checks to identify invalid casts. @object: Object which is subject to casting. Check whether a valid #GTypeInstance pointer is of type %G_TYPE_OBJECT. @object: Instance to check for being a %G_TYPE_OBJECT. @class: @class: @object: Return the type id of an object. @object: Object to return the type id for. @Returns: Type id of @object. @object: @class: @class: @oclass: @property_id: @pspec: @oclass: @property_name: @Returns: @oclass: @n_properties: @Returns: @object_type: @first_property_name: @Varargs: @Returns: @first_param_name: @object_type: @n_parameters: @parameters: @Returns: @name: @value: @object: @Returns: @object: @data: @where_the_object_was: @object: @notify: @data: @object: @notify: @data: Adds a weak reference from weak_pointer to @object to indicate that the pointer located at @weak_pointer_location is only valid during the lifetime of @object. When the @object is finalized, @weak_pointer will be set to %NULL. @object: The object that should be weak referenced. @weak_pointer_location: The memory address of a pointer. Removes a weak reference from @object that was previously added using g_object_add_weak_pointer(). The @weak_pointer_location has to match the one used with g_object_add_weak_pointer(). @object: The object that is weak referenced. @weak_pointer_location: The memory address of a pointer. @object: @signal_spec: @Varargs: @Returns: @object: @signal_spec: @Varargs: @Returns: @object: @first_property_name: @Varargs: @Returns: @object: @first_property_name: @Varargs: @object: @property_name: @object: @object: @object: @key: @Returns: @object: @key: @data: @object: @key: @data: @destroy: @object: @key: @Returns: This sets an opaque, named pointer on an object. The name is specified through a #GQuark (retrived e.g. via g_quark_from_static_string()), and the pointer can be gotten back from the @object with g_object_get_qdata() until the @object is finalized. Setting a previously set user data pointer, overrides (frees) the old pointer set, using #NULL as pointer essentially removes the data stored. @object: The GObject to set store a user data pointer @quark: A #GQuark, naming the user data pointer @data: An opaque user data pointer This function gets back user data pointers stored via g_object_set_qdata(). @object: The GObject to get a stored user data pointer from @quark: A #GQuark, naming the user data pointer @Returns: The user data pointer set, or %NULL This function works like g_object_set_qdata(), but in addition, a void (*destroy) (gpointer) function may be specified which is called with @data as argument when the @object is finalized, or the data is being overwritten by a call to g_object_set_qdata() with the same @quark. @object: The GObject to set store a user data pointer @quark: A #GQuark, naming the user data pointer @data: An opaque user data pointer @destroy: Function to invoke with @data as argument, when @data needs to be freed This function gets back user data pointers stored via g_object_set_qdata() and removes the @data from object without invoking it's destroy() function (if any was set). Usually, calling this function is only required to update user data pointers with a destroy notifier, for example: void object_add_to_user_list (GObject *object, const gchar *new_string) { /* the quark, naming the object data */ GQuark quark_string_list = g_quark_from_static_string ("my-string-list"); /* retrive the old string list */ GList *list = g_object_steal_qdata (object, quark_string_list); /* prepend new string */ list = g_list_prepend (list, g_strdup (new_string)); /* this changed 'list', so we need to set it again */ g_object_set_qdata_full (object, quark_string_list, list, free_string_list); } static void free_string_list (gpointer data) { GList *node, *list = data; for (node = list; node; node = node->next) g_free (node->data); g_list_free (list); } Using g_object_get_qdata() in teh above example, instead of g_object_steal_qdata() would have left the destroy function set, and thus the partial string list would have been freed upon g_object_set_qdata_full(). @object: The GObject to get a stored user data pointer from @quark: A #GQuark, naming the user data pointer @Returns: The user data pointer set, or %NULL @object: @property_name: @value: @object: @property_name: @value: @object_type: @first_property_name: @var_args: @Returns: @object: @first_property_name: @var_args: @object: @first_property_name: @var_args: This function essentially limits the life time of the @closure to the life time of the object. That is, when the object is finalized, the @closure is invalidated by calling g_closure_invalidate() on it, in order to prevent invocations of the closure with a finalized (non existing) object. Also, g_object_ref() and g_object_unref() are added as marshal guards to the @closure, to ensure that an extra reference count is held on @object during invocation of the @closure. Usually, this function will be called on closures that use this @object as closure data. @object: GObject restricting lifetime of @closure @closure: GClosure to watch @object: @object: @pname: @property_id: @pspec: @object: @property_id: @pspec: