Basics
Guides
API Reference
Basics
Guides
API Reference
[24:7] extends: object
An opaque structure used to hold different types of values. Before it can be
used, a GValue has to be initialized to a specific type by calling
[method@GObject.Value.init] on it. Many types which are stored within a
GValue need to allocate data on the heap, so [method@GObject.Value.unset]
must always be called on a GValue to free any such data once you’re
finished with the GValue, even if the GValue itself is stored on the
stack. The data within the structure has protected scope: it is accessible
only to functions within a [struct@GObject.TypeValueTable] structure, or
implementations of the g_value_*() API. That is, code which implements new
fundamental types. GValue users cannot make any assumptions about how data
is stored within the 2 element @data union, and the @g_type member should
only be accessed through the [func@GObject.VALUE_TYPE] macro and related
macros.
Value (Handle = null)
Creates a new
Valueby wrapping a native handle or another wrapper.
Handle is the native handle or another wrapper whose handle to adopt.toNativeHandle (Source)
Normalizes a constructor argument into a raw pointer carrier. Accepts a raw NativeHandle, a raw NativeBuffer returned from
fn.call(...), another generated wrapper exposinghandle(), or null. Returns null when the argument carries no pointer.
Source is the raw handle, raw buffer, wrapper, or null.A raw pointer carrier or null when no pointer is present.getLib ()
Returns the opened native library for this generated wrapper.
The opened native library.handle ()
Returns the wrapped NativeHandle.
The wrapped NativeHandle.isNull ()
Returns true when the wrapped handle is null.
A bool.describe ()
Returns a small string for debugging generated wrappers.
A string.
Aussom
Write once. Embed everywhere.
Copyright 2026 Austin Lehman. All rights reserved.