This sets an opaque, named pointer on an object.
The name is specified through a
GQuark (retrieved e.g. via
g_quark_from_static_string()), and the pointer
can be gotten back from 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.
This method is not directly available to language bindings.
GQuark, naming the user data pointer.
An opaque user data pointer.
The argument can be
The data is owned by the caller of the method.