All the fields in the `GObject` structure are private to the implementation and should never be accessed directly.
Since GLib 2.72, all Objects are guaranteed to be aligned to at least the alignment of the largest basic GLib
type (typically this is uint64 or double). If you need larger alignment for an
element in a Object, you should allocate it on the heap (aligned), or arrange for your
Object to be appropriately padded. This guarantee applies to the Object (or derived) struct, the
ObjectClass (or derived) struct, and any private data allocated by G_ADD_PRIVATE
.
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.
Adds a weak reference from weak_pointer to
this to indicate that the pointer located at weak_pointer_location is only valid during the lifetime of
this.
Creates a binding between source_property on
this and target_property on target, allowing you to set the transformation
functions to be used by the binding.
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.
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
this is finalized, or the data is being overwritten by a call to g_object_set_qdata
with the same quark.
This function gets back user data pointers stored via
g_object_set_qdata and removes the data from object without invoking its destroy function (if any
was set).