GObject.Value¶
record (struct)
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 Value.init on it.
Many types which are stored within a GValue need to allocate data on the
heap, so 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 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 GObject.VALUE_TYPE macro and related
macros.
Methods¶
copy¶
Copies the value of src_value into dest_value.
Parameters:
dest_value— an initializedValuestructure of the same type assrc_value
dup_object¶
Get the contents of a G_TYPE_OBJECT derived Value, increasing
its reference count. If the contents of the Value are None, then
None will be returned.
dup_string¶
Get a copy the contents of a G_TYPE_STRING Value.
dup_variant¶
Get the contents of a variant Value, increasing its refcount. The returned
GLib.Variant is never floating.
fits_pointer¶
Determines if value will fit inside the size of a pointer value.
This is an internal function introduced mainly for C marshallers.
get_boolean¶
Get the contents of a G_TYPE_BOOLEAN Value.
get_boxed¶
Get the contents of a G_TYPE_BOXED derived Value.
get_char¶
:::warning Deprecated since 2.32 This API is deprecated. :::
Do not use this function; it is broken on platforms where the char
type is unsigned, such as ARM and PowerPC. See Value.get_schar.
Get the contents of a G_TYPE_CHAR Value.
get_double¶
Get the contents of a G_TYPE_DOUBLE Value.
get_enum¶
Get the contents of a G_TYPE_ENUM Value.
get_flags¶
Get the contents of a G_TYPE_FLAGS Value.
get_float¶
Get the contents of a G_TYPE_FLOAT Value.
get_gtype¶
Get the contents of a G_TYPE_GTYPE Value.
get_int¶
Get the contents of a G_TYPE_INT Value.
get_int64¶
Get the contents of a G_TYPE_INT64 Value.
get_long¶
Get the contents of a G_TYPE_LONG Value.
get_object¶
Get the contents of a G_TYPE_OBJECT derived Value.
get_param¶
Get the contents of a G_TYPE_PARAM Value.
get_pointer¶
Get the contents of a pointer Value.
get_schar¶
Get the contents of a G_TYPE_CHAR Value.
get_string¶
Get the contents of a G_TYPE_STRING Value.
get_uchar¶
Get the contents of a G_TYPE_UCHAR Value.
get_uint¶
Get the contents of a G_TYPE_UINT Value.
get_uint64¶
Get the contents of a G_TYPE_UINT64 Value.
get_ulong¶
Get the contents of a G_TYPE_ULONG Value.
get_variant¶
Get the contents of a variant Value.
init¶
Initializes value to store values of the given type, and sets its value
to the initial value for type.
This must be called before any other methods on a Value, so
the value knows what type it’s meant to store.
Parameters:
g_type— type theValueshould hold values of
init_from_instance¶
Initializes and sets value from an instantiatable type.
This calls the TypeValueCollectFunc function for the type
the Value contains.
Note: The value will be initialised with the exact type of
instance. If you wish to set the value’s type to a different
GObject.Type (such as a parent class type), you need to manually call
Value.init and Value.set_instance.
Parameters:
instance— the instance
peek_pointer¶
Returns the value contents as a pointer.
This function asserts that Value.fits_pointer returned true
for the passed in value.
This is an internal function introduced mainly for C marshallers.
reset¶
Clears the current value in value and resets it to the initial value
(as if the value had just been initialized using
Value.init).
set_boolean¶
Set the contents of a G_TYPE_BOOLEAN Value to v_boolean.
Parameters:
v_boolean— boolean value to be set
set_boxed¶
Set the contents of a G_TYPE_BOXED derived Value to v_boxed.
Parameters:
v_boxed— caller-owned boxed object to be duplicated for theValue
set_boxed_take_ownership¶
:::warning Deprecated since 2.4 This API is deprecated. :::
This is an internal function introduced mainly for C marshallers.
Parameters:
v_boxed— duplicated unowned boxed value to be set
set_char¶
:::warning Deprecated since 2.32 This API is deprecated. :::
Set the contents of a G_TYPE_CHAR Value to v_char.
Parameters:
v_char— character value to be set
set_double¶
Set the contents of a G_TYPE_DOUBLE Value to v_double.
Parameters:
v_double— double value to be set
set_enum¶
Set the contents of a G_TYPE_ENUM Value to v_enum.
Parameters:
v_enum— enum value to be set
set_flags¶
Set the contents of a G_TYPE_FLAGS Value to v_flags.
Parameters:
v_flags— flags value to be set
set_float¶
Set the contents of a G_TYPE_FLOAT Value to v_float.
Parameters:
v_float— float value to be set
set_gtype¶
Set the contents of a G_TYPE_GTYPE Value to v_gtype.
Parameters:
v_gtype—GTypeto be set
set_instance¶
Sets value from an instantiatable type.
This calls the TypeValueCollectFunc function for the type
the Value contains.
Parameters:
instance— the instance
set_int¶
Set the contents of a G_TYPE_INT Value to v_int.
Parameters:
v_int— integer value to be set
set_int64¶
Set the contents of a G_TYPE_INT64 Value to v_int64.
Parameters:
v_int64— 64bit integer value to be set
set_interned_string¶
Set the contents of a G_TYPE_STRING Value to v_string. The string is
assumed to be static and interned (canonical, for example from
GLib.intern_string), and is thus not duplicated when setting the Value.
Parameters:
v_string— static string to be set
set_long¶
Set the contents of a G_TYPE_LONG Value to v_long.
Parameters:
v_long— long integer value to be set
set_object¶
Set the contents of a G_TYPE_OBJECT derived Value to v_object.
Value.set_object increases the reference count of v_object
(the Value holds a reference to v_object). If you do not wish
to increase the reference count of the object (i.e. you wish to
pass your current reference to the Value because you no longer
need it), use g_value_take_object() instead.
It is important that your Value holds a reference to v_object (either its
own, or one it has taken) to ensure that the object won't be destroyed while
the Value still exists).
Parameters:
v_object— object value to be set
set_param¶
Set the contents of a G_TYPE_PARAM Value to param.
Parameters:
param— theParamSpecto be set
set_pointer¶
Set the contents of a pointer Value to v_pointer.
Parameters:
v_pointer— pointer value to be set
set_schar¶
Set the contents of a G_TYPE_CHAR Value to v_char.
Parameters:
v_char— signed 8 bit integer to be set
set_static_boxed¶
Set the contents of a G_TYPE_BOXED derived Value to v_boxed.
The boxed value is assumed to be static, and is thus not duplicated
when setting the Value.
Parameters:
v_boxed— static boxed value to be set
set_static_string¶
Set the contents of a G_TYPE_STRING Value to v_string.
The string is assumed to be static, and is thus not duplicated
when setting the Value.
If the the string is a canonical string, using Value.set_interned_string
is more appropriate.
Parameters:
v_string— static string to be set
set_string¶
Set the contents of a G_TYPE_STRING Value to a copy of v_string.
Parameters:
v_string— caller-owned string to be duplicated for theValue
set_string_take_ownership¶
:::warning Deprecated since 2.4 This API is deprecated. :::
This is an internal function introduced mainly for C marshallers.
Parameters:
v_string— duplicated unowned string to be set
set_uchar¶
Set the contents of a G_TYPE_UCHAR Value to v_uchar.
Parameters:
v_uchar— unsigned character value to be set
set_uint¶
Set the contents of a G_TYPE_UINT Value to v_uint.
Parameters:
v_uint— unsigned integer value to be set
set_uint64¶
Set the contents of a G_TYPE_UINT64 Value to v_uint64.
Parameters:
v_uint64— unsigned 64bit integer value to be set
set_ulong¶
Set the contents of a G_TYPE_ULONG Value to v_ulong.
Parameters:
v_ulong— unsigned long integer value to be set
set_variant¶
Set the contents of a variant Value to variant.
If the variant is floating, it is consumed.
Parameters:
variant— aGLib.Variant, orNone
steal_string¶
Steal ownership on contents of a G_TYPE_STRING Value.
As a result of this operation the value's contents will be reset to None.
The purpose of this call is to provide a way to avoid an extra copy
when some object have been serialized into string through Value API.
NOTE: for safety and compatibility purposes, if Value contains
static string, or an interned one, this function will return a copy
of the string. Otherwise the transfer notation would be ambiguous.
take_boxed¶
Sets the contents of a G_TYPE_BOXED derived Value to v_boxed
and takes over the ownership of the caller’s reference to v_boxed;
the caller doesn’t have to unref it any more.
Parameters:
v_boxed— duplicated unowned boxed value to be set
take_string¶
Sets the contents of a G_TYPE_STRING Value to v_string.
Parameters:
v_string— string to take ownership of
take_variant¶
Set the contents of a variant Value to variant, and takes over
the ownership of the caller's reference to variant;
the caller doesn't have to unref it any more (i.e. the reference
count of the variant is not increased).
If variant was floating then its floating reference is converted to
a hard reference.
If you want the Value to hold its own reference to variant, use
Value.set_variant instead.
This is an internal function introduced mainly for C marshallers.
Parameters:
variant— aGLib.Variant, orNone
transform¶
Tries to cast the contents of src_value into a type appropriate
to store in dest_value.
If a transformation is not possible, dest_value is not modified.
For example, this could transform a G_TYPE_INT value into a G_TYPE_FLOAT
value.
Performing transformations between value types might incur precision loss. Especially transformations into strings might reveal seemingly arbitrary results and the format of particular transformations to strings is not guaranteed over time.
Parameters:
dest_value— target value
unset¶
Clears the current value in value (if any) and ‘unsets’ the type.
This releases all resources associated with this Value. An
unset value is the same as a cleared (zero-filled)
Value structure set to G_VALUE_INIT.
Static functions¶
type_compatible¶
Checks whether a Value.copy is able to copy values of type
src_type into values of type dest_type.
Parameters:
src_type— source type to be copieddest_type— destination type for copying
type_transformable¶
Checks whether Value.transform is able to transform values
of type src_type into values of type dest_type.
Note that for the types to be transformable, they must be compatible or a
transformation function must be registered using
Value.register_transform_func.
Parameters:
src_type— source typedest_type— target type