gobject.h File Reference

__G_OBJECT_H__

G_TYPE_IS_OBJECT

G_TYPE_IS_OBJECT: : Type id to check

Check if the passed in type id is a G_TYPE_OBJECT or derived from it.

Returns: FALSE or TRUE, indicating whether is a G_TYPE_OBJECT.

G_OBJECT

G_OBJECT: : Object which is subject to casting.

Casts 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.

G_OBJECT_CLASS

G_IS_OBJECT

G_IS_OBJECT: : Instance to check for being a G_TYPE_OBJECT.

Checks whether a valid GTypeInstance pointer is of type G_TYPE_OBJECT.

G_IS_OBJECT_CLASS

G_OBJECT_GET_CLASS

G_OBJECT_GET_CLASS: : a GObject instance.

Get the class structure associated to a GObject instance.

Returns: pointer to object class structure.

G_OBJECT_TYPE

G_OBJECT_TYPE: : Object to return the type id for.

Get the type id of an object.

Returns: Type id of .

G_OBJECT_TYPE_NAME

G_OBJECT_TYPE_NAME: : Object to return the type name for.

Get the name of an object's type.

Returns: Type name of . The string is owned by the type system and should not be freed.

G_OBJECT_CLASS_TYPE

G_OBJECT_CLASS_NAME

G_VALUE_HOLDS_OBJECT

G_VALUE_HOLDS_OBJECT: : a valid GValue structure

Checks whether the given GValue can hold values derived from type G_TYPE_OBJECT.

Returns: TRUE on success.

G_TYPE_INITIALLY_UNOWNED

G_TYPE_INITIALLY_UNOWNED:

The type for GInitiallyUnowned.

G_INITIALLY_UNOWNED

G_INITIALLY_UNOWNED: : Object which is subject to casting.

Casts a GInitiallyUnowned or derived pointer into a (GInitiallyUnowned*) pointer. Depending on the current debugging level, this function may invoke certain runtime checks to identify invalid casts.

G_INITIALLY_UNOWNED_CLASS

G_IS_INITIALLY_UNOWNED

G_IS_INITIALLY_UNOWNED: : Instance to check for being a G_TYPE_INITIALLY_UNOWNED.

Checks whether a valid GTypeInstance pointer is of type G_TYPE_INITIALLY_UNOWNED.

G_IS_INITIALLY_UNOWNED_CLASS

G_INITIALLY_UNOWNED_GET_CLASS

G_INITIALLY_UNOWNED_GET_CLASS: : a GInitiallyUnowned instance.

Get the class structure associated to a GInitiallyUnowned instance.

Returns: pointer to object class structure.

Typedef GObject

typedef struct _GObjectGObject

Typedef GObjectClass

typedef struct _GObjectClassGObjectClass

Typedef GInitiallyUnowned

typedef struct _GObjectGInitiallyUnowned

Typedef GInitiallyUnownedClass

typedef struct _GObjectClassGInitiallyUnownedClass

Typedef GObjectConstructParam

typedef struct _GObjectConstructParamGObjectConstructParam

Typedef GObjectGetPropertyFunc

typedef void(*GObjectGetPropertyFunc

GObjectGetPropertyFunc: : a GObject : the numeric id under which the property was registered with g_object_class_install_property(). : a GValue to return the property value in : the GParamSpec describing the property

The type of the function of GObjectClass.

Typedef GObjectSetPropertyFunc

typedef void(*GObjectSetPropertyFunc

GObjectSetPropertyFunc: : a GObject : the numeric id under which the property was registered with g_object_class_install_property(). : the new value for the property : the GParamSpec describing the property

The type of the function of GObjectClass.

Typedef GObjectFinalizeFunc

typedef void(*GObjectFinalizeFunc

GObjectFinalizeFunc: : the GObject being finalized

The type of the function of GObjectClass.

Typedef GWeakNotify

typedef void(*GWeakNotify

GWeakNotify: : data that was provided when the weak reference was established : the object being finalized

A GWeakNotify function can be added to an object as a callback that gets triggered when the object is finalized. Since the object is already being finalized when the GWeakNotify is called, there's not much you could do with the object, apart from e.g. using its adress as hash-index or the like.

g_initially_unowned_get_type ( void )

IMPORT_C GTypeg_initially_unowned_get_type(void)

GInitiallyUnowned:

All the fields in the <structname>GInitiallyUnowned</structname> structure are private to the GInitiallyUnowned implementation and should never be accessed directly. GInitiallyUnownedClass:

The class structure for the <structname>GInitiallyUnowned</structname> type.

g_object_class_install_property ( GObjectClass *, guint, GParamSpec * )

IMPORT_C voidg_object_class_install_property(GObjectClass *oclass,
guintproperty_id,
GParamSpec *pspec
)

g_object_class_install_property: : a GObjectClass : the id for the new property : the GParamSpec for the new property

Installs a new property. This is usually done in the class initializer.

Note that it is possible to redefine a property in a derived class, by installing a property with the same name. This can be useful at times, e.g. to change the range of allowed values or the default value.

g_object_class_find_property ( GObjectClass *, const gchar * )

IMPORT_C GParamSpec *g_object_class_find_property(GObjectClass *oclass,
const gchar *property_name
)

g_object_class_find_property: : a GObjectClass : the name of the property to look up

Looks up the GParamSpec for a property of a class.

Returns: the GParamSpec for the property, or NULL if the class doesn't have a property of that name

g_object_class_list_properties ( GObjectClass *, guint * )

IMPORT_C GParamSpec **g_object_class_list_properties(GObjectClass *oclass,
guint *n_properties
)

g_object_class_list_properties: : a GObjectClass : return location for the length of the returned array

Get an array of GParamSpec* for all properties of a class.

Returns: an array of GParamSpec* which should be freed after use

g_object_class_override_property ( GObjectClass *, guint, const gchar * )

IMPORT_C voidg_object_class_override_property(GObjectClass *oclass,
guintproperty_id,
const gchar *name
)

g_object_interface_install_property ( gpointer, GParamSpec * )

IMPORT_C voidg_object_interface_install_property(gpointerg_iface,
GParamSpec *pspec
)

g_object_interface_install_property: : any interface vtable for the interface, or the default vtable for the interface. : the GParamSpec for the new property

Add a property to an interface; this is only useful for interfaces that are added to GObject-derived types. Adding a property to an interface forces all objects classes with that interface to have a compatible property. The compatible property could be a newly created GParamSpec, but normally g_object_class_override_property() will be used so that the object class only needs to provide an implementation and inherits the property description, default value, bounds, and so forth from the interface property.

This function is meant to be called from the interface's default vtable initialization function (the member of GTypeInfo.) It must not be called after after has been called for any object types implementing this interface.

Since: 2.4

g_object_interface_find_property ( gpointer, const gchar * )

IMPORT_C GParamSpec *g_object_interface_find_property(gpointerg_iface,
const gchar *property_name
)

g_object_interface_find_property: : any interface vtable for the interface, or the default vtable for the interface : name of a property to lookup.

Find the GParamSpec with the given name for an interface. Generally, the interface vtable passed in as will be the default vtable from g_type_default_interface_ref(), or, if you know the interface has already been loaded, g_type_default_interface_peek().

Since: 2.4

Returns: the GParamSpec for the property of the interface with the name , or NULL if no such property exists.

g_object_interface_list_properties ( gpointer, guint * )

IMPORT_C GParamSpec **g_object_interface_list_properties(gpointerg_iface,
guint *n_properties_p
)

g_object_interface_list_properties: : any interface vtable for the interface, or the default vtable for the interface : location to store number of properties returned.

Lists the properties of an interface.Generally, the interface vtable passed in as will be the default vtable from g_type_default_interface_ref(), or, if you know the interface has already been loaded, g_type_default_interface_peek().

Since: 2.4

Returns: a pointer to an array of pointers to GParamSpec structures. The paramspecs are owned by GLib, but the array should be freed with g_free() when you are done with it.

g_object_get_type ( void )

IMPORT_C GTypeg_object_get_type(void)

g_object_new ( GType, const gchar *, ... )

IMPORT_C gpointerg_object_new(GTypeobject_type,
const gchar *first_property_name,
...
)

g_object_new: : the type id of the GObject subtype to instantiate : the name of the first property @...: the value of the first property, followed optionally by more name/value pairs, followed by NULL

Creates a new instance of a GObject subtype and sets its properties.

Construction parameters (see G_PARAM_CONSTRUCT, G_PARAM_CONSTRUCT_ONLY) which are not explicitly specified are set to their default values.

Returns: a new instance of

g_object_newv ( GType, guint, GParameter * )

IMPORT_C gpointerg_object_newv(GTypeobject_type,
guintn_parameters,
GParameter *parameters
)

g_object_newv: : the type id of the GObject subtype to instantiate : the length of the array : an array of GParameter

Creates a new instance of a GObject subtype and sets its properties.

Construction parameters (see G_PARAM_CONSTRUCT, G_PARAM_CONSTRUCT_ONLY) which are not explicitly specified are set to their default values.

Returns: a new instance of

g_object_new_valist ( GType, const gchar *, va_list )

IMPORT_C GObject *g_object_new_valist(GTypeobject_type,
const gchar *first_property_name,
va_listvar_args
)

g_object_new_valist: : the type id of the GObject subtype to instantiate : the name of the first property : the value of the first property, followed optionally by more name/value pairs, followed by NULL

Creates a new instance of a GObject subtype and sets its properties.

Construction parameters (see G_PARAM_CONSTRUCT, G_PARAM_CONSTRUCT_ONLY) which are not explicitly specified are set to their default values.

Returns: a new instance of

g_object_set ( gpointer, const gchar *, ... )

IMPORT_C voidg_object_set(gpointerobject,
const gchar *first_property_name,
...
)

g_object_set: : a GObject : name of the first property to set @...: value for the first property, followed optionally by more name/value pairs, followed by NULL

Sets properties on an object.

g_object_get ( gpointer, const gchar *, ... )

IMPORT_C voidg_object_get(gpointerobject,
const gchar *first_property_name,
...
)

g_object_get: : a GObject : name of the first property to get @...: return location for the first property, followed optionally by more name/return location pairs, followed by NULL

Gets properties of an object.

In general, a copy is made of the property contents and the caller is responsible for freeing the memory in the appropriate manner for the type, for instance by calling g_free() or g_object_unref().

<title>Using g_object_get()</title> An example of using g_object_get() to get the contents of three properties - one of type G_TYPE_INT, one of type G_TYPE_STRING, and one of type G_TYPE_OBJECT: <programlisting> gint intval; gchar *strval; GObject *objval;

g_object_get (my_object, "int-property", &intval, "str-property", &strval, "obj-property", &objval, NULL);

// Do something with intval, strval, objval

g_free (strval); g_object_unref (objval); </programlisting>

g_object_connect ( gpointer, const gchar *, ... )

IMPORT_C gpointerg_object_connect(gpointerobject,
const gchar *signal_spec,
...
)

g_object_connect: : a GObject : the spec for the first signal @...: GCallback for the first signal, followed by data for the first signal, followed optionally by more signal spec/callback/data triples, followed by NULL

A convenience function to connect multiple signals at once.

The signal specs expected by this function have the form "modifier::signal_name", where modifier can be one of the following: <variablelist> <varlistentry> signal <listitem>

equivalent to <literal>g_signal_connect_data (..., NULL, 0)</literal>

</listitem> </varlistentry> <varlistentry> object_signal object-signal <listitem>

equivalent to <literal>g_signal_connect_object (..., 0)</literal>

</listitem> </varlistentry> <varlistentry> swapped_signal swapped-signal <listitem>

equivalent to <literal>g_signal_connect_data (..., NULL, G_CONNECT_SWAPPED)</literal>

</listitem> </varlistentry> <varlistentry> swapped_object_signal swapped-object-signal <listitem>

equivalent to <literal>g_signal_connect_object (..., G_CONNECT_SWAPPED)</literal>

</listitem> </varlistentry> <varlistentry> signal_after signal-after <listitem>

equivalent to <literal>g_signal_connect_data (..., NULL, G_CONNECT_AFTER)</literal>

</listitem> </varlistentry> <varlistentry> object_signal_after object-signal-after <listitem>

equivalent to <literal>g_signal_connect_object (..., G_CONNECT_AFTER)</literal>

</listitem> </varlistentry> <varlistentry> swapped_signal_after swapped-signal-after <listitem>

equivalent to <literal>g_signal_connect_data (..., NULL, G_CONNECT_SWAPPED | G_CONNECT_AFTER)</literal>

</listitem> </varlistentry> <varlistentry> swapped_object_signal_after swapped-object-signal-after <listitem>

equivalent to <literal>g_signal_connect_object (..., G_CONNECT_SWAPPED | G_CONNECT_AFTER)</literal>

</listitem> </varlistentry> </variablelist>

|[ menu->toplevel = g_object_connect (g_object_new (GTK_TYPE_WINDOW, "type", GTK_WINDOW_POPUP, "child", menu, NULL), "signal::event", gtk_menu_window_event, menu, "signal::size_request", gtk_menu_window_size_request, menu, "signal::destroy", gtk_widget_destroyed, &menu->toplevel, NULL); ]|

Returns:

g_object_disconnect ( gpointer, const gchar *, ... )

IMPORT_C voidg_object_disconnect(gpointerobject,
const gchar *signal_spec,
...
)

g_object_disconnect: : a GObject : the spec for the first signal @...: GCallback for the first signal, followed by data for the first signal, followed optionally by more signal spec/callback/data triples, followed by NULL

A convenience function to disconnect multiple signals at once.

The signal specs expected by this function have the form "any_signal", which means to disconnect any signal with matching callback and data, or "any_signal::signal_name", which only disconnects the signal named "signal_name".

g_object_set_valist ( GObject *, const gchar *, va_list )

IMPORT_C voidg_object_set_valist(GObject *object,
const gchar *first_property_name,
va_listvar_args
)

g_object_set_valist: : a GObject : name of the first property to set : value for the first property, followed optionally by more name/value pairs, followed by NULL

Sets properties on an object.

g_object_get_valist ( GObject *, const gchar *, va_list )

IMPORT_C voidg_object_get_valist(GObject *object,
const gchar *first_property_name,
va_listvar_args
)

g_object_get_valist: : a GObject : name of the first property to get : return location for the first property, followed optionally by more name/return location pairs, followed by NULL

Gets properties of an object.

In general, a copy is made of the property contents and the caller is responsible for freeing the memory in the appropriate manner for the type, for instance by calling g_free() or g_object_unref().

See g_object_get().

g_object_set_property ( GObject *, const gchar *, const GValue * )

IMPORT_C voidg_object_set_property(GObject *object,
const gchar *property_name,
const GValue *value
)

g_object_set_property: : a GObject : the name of the property to set : the value

Sets a property on an object.

g_object_get_property ( GObject *, const gchar *, GValue * )

IMPORT_C voidg_object_get_property(GObject *object,
const gchar *property_name,
GValue *value
)

g_object_get_property: : a GObject : the name of the property to get : return location for the property value

Gets a property of an object.

In general, a copy is made of the property contents and the caller is responsible for freeing the memory by calling g_value_unset().

Note that g_object_get_property() is really intended for language bindings, g_object_get() is much more convenient for C programming.

g_object_freeze_notify ( GObject * )

IMPORT_C voidg_object_freeze_notify(GObject *object)

g_object_freeze_notify: : a GObject

Increases the freeze count on . If the freeze count is non-zero, the emission of "notify" signals on is stopped. The signals are queued until the freeze count is decreased to zero.

This is necessary for accessors that modify multiple properties to prevent premature notification while the object is still being modified.

g_object_notify ( GObject *, const gchar * )

IMPORT_C voidg_object_notify(GObject *object,
const gchar *property_name
)

g_object_notify: : a GObject : the name of a property installed on the class of .

Emits a "notify" signal for the property on .

g_object_thaw_notify ( GObject * )

IMPORT_C voidg_object_thaw_notify(GObject *object)

g_object_thaw_notify: : a GObject

Reverts the effect of a previous call to g_object_freeze_notify(). The freeze count is decreased on and when it reaches zero, all queued "notify" signals are emitted.

It is an error to call this function when the freeze count is zero.

g_object_is_floating ( gpointer )

IMPORT_C gbooleang_object_is_floating(gpointerobject)

g_object_is_floating: : a GObject

Checks wether has a <link linkend="floating-ref">floating</link> reference.

Since: 2.10

Returns: TRUE if has a floating reference

g_object_ref_sink ( gpointer )

IMPORT_C gpointerg_object_ref_sink(gpointerobject)

g_object_ref_sink: : a GObject

Increase the reference count of , and possibly remove the <link linkend="floating-ref">floating</link> reference, if has a floating reference.

In other words, if the object is floating, then this call "assumes ownership" of the floating reference, converting it to a normal reference by clearing the floating flag while leaving the reference count unchanged. If the object is not floating, then this call adds a new normal reference increasing the reference count by one.

Since: 2.10

Returns:

g_object_ref ( gpointer )

IMPORT_C gpointerg_object_ref(gpointerobject)

g_object_ref: : a GObject

Increases the reference count of .

Returns: the same

g_object_unref ( gpointer )

IMPORT_C voidg_object_unref(gpointerobject)

g_object_unref: : a GObject

Decreases the reference count of . When its reference count drops to 0, the object is finalized (i.e. its memory is freed).

g_object_weak_ref ( GObject *, GWeakNotify, gpointer )

IMPORT_C voidg_object_weak_ref(GObject *object,
GWeakNotifynotify,
gpointerdata
)

g_object_weak_ref: : GObject to reference weakly : callback to invoke before the object is freed : extra data to pass to notify

Adds a weak reference callback to an object. Weak references are used for notification when an object is finalized. They are called "weak references" because they allow you to safely hold a pointer to an object without calling g_object_ref() (g_object_ref() adds a strong reference, that is, forces the object to stay alive).

g_object_weak_unref ( GObject *, GWeakNotify, gpointer )

IMPORT_C voidg_object_weak_unref(GObject *object,
GWeakNotifynotify,
gpointerdata
)

g_object_weak_unref: : GObject to remove a weak reference from : callback to search for : data to search for

Removes a weak reference callback to an object.

g_object_add_weak_pointer ( GObject *, gpointer * )

IMPORT_C voidg_object_add_weak_pointer(GObject *object,
gpointer *weak_pointer_location
)

g_object_add_weak_pointer: : The object that should be weak referenced. : The memory address of a pointer.

Adds a weak reference from weak_pointer to to indicate that the pointer located at is only valid during the lifetime of . When the is finalized, will be set to NULL.

g_object_remove_weak_pointer ( GObject *, gpointer * )

IMPORT_C voidg_object_remove_weak_pointer(GObject *object,
gpointer *weak_pointer_location
)

g_object_remove_weak_pointer: : The object that is weak referenced. : The memory address of a pointer.

Removes a weak reference from that was previously added using g_object_add_weak_pointer(). The has to match the one used with g_object_add_weak_pointer().

Typedef GToggleNotify

typedef void(*GToggleNotify

GToggleNotify: : Callback data passed to g_object_add_toggle_ref() : The object on which g_object_add_toggle_ref() was called. : TRUE if the toggle reference is now the last reference to the object. FALSE if the toggle reference was the last reference and there are now other references.

A callback function used for notification when the state of a toggle reference changes. See g_object_add_toggle_ref().

g_object_add_toggle_ref ( GObject *, GToggleNotify, gpointer )

IMPORT_C voidg_object_add_toggle_ref(GObject *object,
GToggleNotifynotify,
gpointerdata
)

g_object_add_toggle_ref: : a GObject : a function to call when this reference is the last reference to the object, or is no longer the last reference. : data to pass to

Increases the reference count of the object by one and sets a callback to be called when all other references to the object are dropped, or when this is already the last reference to the object and another reference is established.

This functionality is intended for binding to a proxy object managed by another memory manager. This is done with two paired references: the strong reference added by g_object_add_toggle_ref() and a reverse reference to the proxy object which is either a strong reference or weak reference.

The setup is that when there are no other references to , only a weak reference is held in the reverse direction from to the proxy object, but when there are other references held to , a strong reference is held. The callback is called when the reference from to the proxy object should be <firstterm>toggled</firstterm> from strong to weak ( true) or weak to strong ( false).

Since a (normal) reference must be held to the object before calling g_object_toggle_ref(), the initial state of the reverse link is always strong.

Multiple toggle references may be added to the same gobject, however if there are multiple toggle references to an object, none of them will ever be notified until all but one are removed. For this reason, you should only ever use a toggle reference if there is important state in the proxy object.

Since: 2.8

g_object_remove_toggle_ref ( GObject *, GToggleNotify, gpointer )

IMPORT_C voidg_object_remove_toggle_ref(GObject *object,
GToggleNotifynotify,
gpointerdata
)

g_object_remove_toggle_ref: : a GObject : a function to call when this reference is the last reference to the object, or is no longer the last reference. : data to pass to

Removes a reference added with g_object_add_toggle_ref(). The reference count of the object is decreased by one.

Since: 2.8

g_object_get_qdata ( GObject *, GQuark )

IMPORT_C gpointerg_object_get_qdata(GObject *object,
GQuarkquark
)

g_object_get_qdata: : The GObject to get a stored user data pointer from : A GQuark, naming the user data pointer

This function gets back user data pointers stored via g_object_set_qdata().

Returns: The user data pointer set, or NULL

g_object_set_qdata ( GObject *, GQuark, gpointer )

IMPORT_C voidg_object_set_qdata(GObject *object,
GQuarkquark,
gpointerdata
)

g_object_set_qdata: : The GObject to set store a user data pointer : A GQuark, naming the user data pointer : An opaque user data pointer

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 with g_object_get_qdata() until the is finalized. Setting a previously set user data pointer, overrides (frees) the old pointer set, using NULL as pointer essentially removes the data stored.

g_object_set_qdata_full ( GObject *, GQuark, gpointer, GDestroyNotify )

IMPORT_C voidg_object_set_qdata_full(GObject *object,
GQuarkquark,
gpointerdata,
GDestroyNotifydestroy
)

g_object_set_qdata_full: : The GObject to set store a user data pointer : A GQuark, naming the user data pointer : An opaque user data pointer : Function to invoke with as argument, when needs to be freed

This function works like g_object_set_qdata(), but in addition, a void (*destroy) (gpointer) function may be specified which is called with as argument when the is finalized, or the data is being overwritten by a call to g_object_set_qdata() with the same .

g_object_steal_qdata ( GObject *, GQuark )

IMPORT_C gpointerg_object_steal_qdata(GObject *object,
GQuarkquark
)

g_object_steal_qdata: : The GObject to get a stored user data pointer from : A GQuark, naming the user data pointer

This function gets back user data pointers stored via g_object_set_qdata() and removes the from object without invoking its 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 the 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().

Returns: The user data pointer set, or NULL

g_object_get_data ( GObject *, const gchar * )

IMPORT_C gpointerg_object_get_data(GObject *object,
const gchar *key
)

g_object_get_data: : GObject containing the associations : name of the key for that association

Gets a named field from the objects table of associations (see g_object_set_data()).

Returns: the data if found, or NULL if no such data exists.

g_object_set_data ( GObject *, const gchar *, gpointer )

IMPORT_C voidg_object_set_data(GObject *object,
const gchar *key,
gpointerdata
)

g_object_set_data: : GObject containing the associations. : name of the key : data to associate with that key

Each object carries around a table of associations from strings to pointers. This function lets you set an association.

If the object already had an association with that name, the old association will be destroyed.

g_object_set_data_full ( GObject *, const gchar *, gpointer, GDestroyNotify )

IMPORT_C voidg_object_set_data_full(GObject *object,
const gchar *key,
gpointerdata,
GDestroyNotifydestroy
)

g_object_set_data_full: : GObject containing the associations : name of the key : data to associate with that key : function to call when the association is destroyed

Like g_object_set_data() except it adds notification for when the association is destroyed, either by setting it to a different value or when the object is destroyed.

Note that the callback is not called if is NULL.

g_object_steal_data ( GObject *, const gchar * )

IMPORT_C gpointerg_object_steal_data(GObject *object,
const gchar *key
)

g_object_steal_data: : GObject containing the associations : name of the key

Remove a specified datum from the object's data associations, without invoking the association's destroy handler.

Returns: the data if found, or NULL if no such data exists.

g_object_watch_closure ( GObject *, GClosure * )

IMPORT_C voidg_object_watch_closure(GObject *object,
GClosure *closure
)

g_object_watch_closure: : GObject restricting lifetime of : GClosure to watch

This function essentially limits the life time of the to the life time of the object. That is, when the object is finalized, the is invalidated by calling g_closure_invalidate() on it, in order to prevent invocations of the closure with a finalized (nonexisting) object. Also, g_object_ref() and g_object_unref() are added as marshal guards to the , to ensure that an extra reference count is held on during invocation of the . Usually, this function will be called on closures that use this as closure data.

g_cclosure_new_object ( GCallback, GObject * )

IMPORT_C GClosure *g_cclosure_new_object(GCallbackcallback_func,
GObject *object
)

g_cclosure_new_object: : the function to invoke : a GObject pointer to pass to

A variant of g_cclosure_new() which uses as and calls g_object_watch_closure() on and the created closure. This function is useful when you have a callback closely associated with a GObject, and want the callback to no longer run after the object is is freed.

Returns: a new GCClosure

g_cclosure_new_object_swap ( GCallback, GObject * )

IMPORT_C GClosure *g_cclosure_new_object_swap(GCallbackcallback_func,
GObject *object
)

g_cclosure_new_object_swap: : the function to invoke : a GObject pointer to pass to

A variant of g_cclosure_new_swap() which uses as and calls g_object_watch_closure() on and the created closure. This function is useful when you have a callback closely associated with a GObject, and want the callback to no longer run after the object is is freed.

Returns: a new GCClosure

g_closure_new_object ( guint, GObject * )

IMPORT_C GClosure *g_closure_new_object(guintsizeof_closure,
GObject *object
)

g_closure_new_object: : the size of the structure to allocate, must be at least <literal>sizeof (GClosure)</literal> : a GObject pointer to store in the field of the newly allocated GClosure

A variant of g_closure_new_simple() which stores in the field of the closure and calls g_object_watch_closure() on and the created closure. This function is mainly useful when implementing new types of closures.

Returns: a newly allocated GClosure

g_value_set_object ( GValue *, gpointer )

IMPORT_C voidg_value_set_object(GValue *value,
gpointerv_object
)

g_value_set_object: : a valid GValue of G_TYPE_OBJECT derived type : object value to be set

Set the contents of a G_TYPE_OBJECT derived GValue to .

g_value_set_object() increases the reference count of (the GValue holds a reference to ). If you do not wish to increase the reference count of the object (i.e. you wish to pass your current reference to the GValue because you no longer need it), use g_value_take_object() instead.

It is important that your GValue holds a reference to (either its own, or one it has taken) to ensure that the object won't be destroyed while the GValue still exists).

g_value_get_object ( const GValue * )

IMPORT_C gpointerg_value_get_object(const GValue *value)

g_value_get_object: : a valid GValue of G_TYPE_OBJECT derived type

Get the contents of a G_TYPE_OBJECT derived GValue.

Returns: object contents of

g_value_dup_object ( const GValue * )

IMPORT_C gpointerg_value_dup_object(const GValue *value)

g_value_dup_object: : a valid GValue whose type is derived from G_TYPE_OBJECT

Get the contents of a G_TYPE_OBJECT derived GValue, increasing its reference count.

Returns: object content of , should be unreferenced when no longer needed.

g_signal_connect_object ( gpointer, const gchar *, GCallback, gpointer, GConnectFlags )

IMPORT_C gulongg_signal_connect_object(gpointerinstance,
const gchar *detailed_signal,
GCallbackc_handler,
gpointergobject,
GConnectFlagsconnect_flags
)

g_signal_connect_object: : the instance to connect to. : a string of the form "signal-name::detail". : the GCallback to connect. : the object to pass as data to . : a combination of #GConnnectFlags.

This is similar to g_signal_connect_data(), but uses a closure which ensures that the stays alive during the call to by temporarily adding a reference count to .

Note that there is a bug in GObject that makes this function much less useful than it might seem otherwise. Once is disposed, the callback will no longer be called, but, the signal handler is <emphasis>not</emphasis> currently disconnected. If the is itself being freed at the same time than this doesn't matter, since the signal will automatically be removed, but if persists, then the signal handler will leak. You should not remove the signal yourself because in a future versions of GObject, the handler <emphasis>will</emphasis> automatically be disconnected.

It's possible to work around this problem in a way that will continue to work with future versions of GObject by checking that the signal handler is still connected before disconnected it: <informalexample><programlisting> if (g_signal_handler_is_connected (instance, id)) g_signal_handler_disconnect (instance, id); </programlisting></informalexample>

Returns: the handler id.

g_object_force_floating ( GObject * )

IMPORT_C voidg_object_force_floating(GObject *object)

g_object_force_floating: : a GObject

This function is intended for GObject implementations to re-enforce a <link linkend="floating-ref">floating</link> object reference. Doing this is seldomly required, all #GInitiallyUnowneds are created with a floating reference which usually just needs to be sunken by calling g_object_ref_sink().

Since: 2.10

g_object_run_dispose ( GObject * )

IMPORT_C voidg_object_run_dispose(GObject *object)

g_object_run_dispose: : a GObject

Releases all references to other objects. This can be used to break reference cycles.

This functions should only be called from object system implementations.

g_value_take_object ( GValue *, gpointer )

IMPORT_C voidg_value_take_object(GValue *value,
gpointerv_object
)

g_value_take_object: : a valid GValue of G_TYPE_OBJECT derived type : object value to be set

Sets the contents of a G_TYPE_OBJECT derived GValue to and takes over the ownership of the callers reference to ; the caller doesn't have to unref it any more (i.e. the reference count of the object is not increased).

If you want the GValue to hold its own reference to , use g_value_set_object() instead.

Since: 2.4

g_value_set_object_take_ownership ( GValue *, gpointer )

IMPORT_C voidg_value_set_object_take_ownership(GValue *value,
gpointerv_object
)

g_value_set_object_take_ownership: : a valid GValue of G_TYPE_OBJECT derived type : object value to be set

This is an internal function introduced mainly for C marshallers.

Deprecated: 2.4: Use g_value_take_object() instead.

g_object_compat_control ( gsize, gpointer )

IMPORT_C gsizeg_object_compat_control(gsizewhat,
gpointerdata
)

G_OBJECT_WARN_INVALID_PSPEC

G_OBJECT_WARN_INVALID_PROPERTY_ID

G_OBJECT_WARN_INVALID_PROPERTY_ID: : the GObject on which set_property() or get_property() was called : the numeric id of the property : the GParamSpec of the property

This macro should be used to emit a standard warning about unexpected properties in set_property() and get_property() implementations.