Namespace

GObject – 2.0

The base type system and object class

Version2.83.2
AuthorsGLib Development Team
LicenseLGPL-2.1-or-later
Websitehttps://www.gtk.org
Sourcehttps://gitlab.gnome.org/GNOME/glib/

Build

C headersglib-object.h
pkg-config filesgobject-2.0

Dependencies

GLib—2.0 The base utility library
Browse documentation
GModule Portable API for dynamically loading modules
Browse documentation
GIO GObject Interfaces and Objects, Networking, IPC, and I/O
Browse documentation

Classes

Binding

GObject instance (or source) and another property on another GObject instance (or target).

since: 2.26

BindingGroup

GBindingGroup can be used to bind multiple properties from an object collectively.

since: 2.72

InitiallyUnowned

A type for objects that have an initially floating reference.

Object

The base object type.

ParamSpec

GParamSpec encapsulates the metadata required to specify parameters, such as GObject properties.

ParamSpecBoolean

A GParamSpec derived structure that contains the meta data for boolean properties.

ParamSpecBoxed

A GParamSpec derived structure that contains the meta data for boxed properties.

ParamSpecChar

A GParamSpec derived structure that contains the meta data for character properties.

ParamSpecDouble

A GParamSpec derived structure that contains the meta data for double properties.

ParamSpecEnum

A GParamSpec derived structure that contains the meta data for enum properties.

ParamSpecFlags

A GParamSpec derived structure that contains the meta data for flags properties.

ParamSpecFloat

A GParamSpec derived structure that contains the meta data for float properties.

ParamSpecGType

A GParamSpec derived structure that contains the meta data for GType properties.

since: 2.10

ParamSpecInt

A GParamSpec derived structure that contains the meta data for integer properties.

ParamSpecInt64

A GParamSpec derived structure that contains the meta data for 64bit integer properties.

ParamSpecLong

A GParamSpec derived structure that contains the meta data for long integer properties.

ParamSpecObject

A GParamSpec derived structure that contains the meta data for object properties.

ParamSpecOverride

A GParamSpec derived structure that redirects operations to other types of GParamSpec.

since: 2.4

ParamSpecParam

A GParamSpec derived structure that contains the meta data for G_TYPE_PARAM properties.

ParamSpecPointer

A GParamSpec derived structure that contains the meta data for pointer properties.

ParamSpecString

A GParamSpec derived structure that contains the meta data for string properties.

ParamSpecUChar

A GParamSpec derived structure that contains the meta data for unsigned character properties.

ParamSpecUInt

A GParamSpec derived structure that contains the meta data for unsigned integer properties.

ParamSpecUInt64

A GParamSpec derived structure that contains the meta data for unsigned 64bit integer properties.

ParamSpecULong

A GParamSpec derived structure that contains the meta data for unsigned long integer properties.

ParamSpecUnichar

A GParamSpec derived structure that contains the meta data for unichar (unsigned integer) properties.

ParamSpecValueArray

A GParamSpec derived structure that contains the meta data for GValueArray properties.

ParamSpecVariant

A GParamSpec derived structure that contains the meta data for GVariant properties.

since: 2.26

SignalGroup

GSignalGroup manages a collection of signals on a GObject.

since: 2.72

TypeModule

GTypeModule provides a simple implementation of the GTypePlugin interface.

Interfaces

TypePlugin

An interface that handles the lifecycle of dynamically loaded types.

Structs

CClosure

A GCClosure is a specialization of GClosure for C function callbacks.

Closure

A GClosure represents a callback supplied by the programmer.

ClosureNotifyData

EnumClass

The class of an enumeration type holds information about its possible values.

EnumValue

A structure which contains a single enum value, its name, and its nickname.

FlagsClass

The class of a flags type holds information about its possible values.

FlagsValue

A structure which contains a single flags value, its name, and its nickname.

InterfaceInfo

A structure that provides information to the type system which is used specifically for managing interface types.

ObjectConstructParam

The GObjectConstructParam struct is an auxiliary structure used to hand GParamSpec/GValue pairs to the constructor of a GObjectClass.

Parameter

The GParameter struct is an auxiliary structure used to hand parameter name/value pairs to g_object_newv().

deprecated: 2.54 

ParamSpecPool

A GParamSpecPool maintains a collection of GParamSpecs which can be quickly accessed by owner and name.

ParamSpecTypeInfo

This structure is used to provide the type system with the information required to initialize and destruct (finalize) a parameter’s class and instances thereof.

SignalInvocationHint

The GSignalInvocationHint structure is used to pass on additional information to callbacks during a signal emission.

SignalQuery

A structure holding in-depth information for a specific signal.

TypeClass

An opaque structure used as the base of all classes.

TypeFundamentalInfo

A structure that provides information to the type system which is used specifically for managing fundamental types.

TypeInfo

This structure is used to provide the type system with the information required to initialize and destruct (finalize) a type’s class and its instances.

TypeInstance

An opaque structure used as the base of all type instances.

TypeInterface

An opaque structure used as the base of all interface types.

TypePluginClass

The GTypePlugin interface is used by the type system in order to handle the lifecycle of dynamically loaded types.

TypeQuery

A structure holding information for a specific type.

TypeValueTable

The GTypeValueTable provides the functions required by the GValue implementation, to serve as a container for values of a type.

Value

An opaque structure used to hold different types of values.

ValueArray

A GValueArray is a container structure to hold an array of generic values.

deprecated: 2.32 

WeakRef

A structure containing a weak reference to a GObject.

Unions

TypeCValue

A union holding one collected value.

Aliases

SignalCMarshaller

This is the signature of marshaller functions, required to marshall arrays of parameter values to signal emissions into C language callback invocations.

SignalCVaMarshaller

This is the signature of va_list marshaller functions, an optional marshaller that can be used in some situations to avoid marshalling the signal argument into GValues.

Type

A numerical value which represents the unique identifier of a registered type.

Bitfields

BindingFlags

Flags to be passed to g_object_bind_property() or g_object_bind_property_full().

since: 2.26

ConnectFlags

The connection flags are used to specify the behaviour of a signal’s connection.

IOCondition

ParamFlags

Through the GParamFlags flag values, certain aspects of parameters can be configured.

SignalFlags

The signal flags are used to specify a signal’s behaviour.

SignalMatchType

The match types specify what g_signal_handlers_block_matched(), g_signal_handlers_unblock_matched() and g_signal_handlers_disconnect_matched() match signals by.

TypeDebugFlags

These flags used to be passed to g_type_init_with_debug_flags() which is now deprecated.

deprecated: 2.36 

TypeFlags

Bit masks used to check or determine characteristics of a type.

TypeFundamentalFlags

Bit masks used to check or determine specific characteristics of a fundamental type.

Callbacks

BaseFinalizeFunc

A callback function used by the type system to finalize those portions of a derived types class structure that were setup from the corresponding GBaseInitFunc() function.

BaseInitFunc

A callback function used by the type system to do base initialization of the class structures of derived types.

BindingTransformFunc

A function to be called to transform from_value to to_value.

since: 2.26

BoxedCopyFunc

This function is provided by the user and should produce a copy of the passed in boxed structure.

BoxedFreeFunc

This function is provided by the user and should free the boxed structure passed.

Callback

The type used for callback functions in structure definitions and function signatures.

ClassFinalizeFunc

A callback function used by the type system to finalize a class.

ClassInitFunc

A callback function used by the type system to initialize the class of a specific type.

ClosureMarshal

The type used for marshaller functions.

ClosureNotify

The type used for the various notification callbacks which can be registered on closures.

InstanceInitFunc

A callback function used by the type system to initialize a new instance of a type.

InterfaceFinalizeFunc

A callback function used by the type system to finalize an interface.

InterfaceInitFunc

A callback function used by the type system to initialize a new interface.

ObjectFinalizeFunc

The type of the finalize function of GObjectClass.

ObjectGetPropertyFunc

The type of the get_property function of GObjectClass.

ObjectSetPropertyFunc

The type of the set_property function of GObjectClass.

SignalAccumulator

The signal accumulator is a special callback function that can be used to collect return values of the various callbacks that are called during a signal emission.

SignalEmissionHook

A simple function pointer to get invoked when the signal is emitted.

ToggleNotify

A callback function used for notification when the state of a toggle reference changes.

TypeClassCacheFunc

A callback function which is called when the reference count of a class drops to zero.

TypeInterfaceCheckFunc

A callback called after an interface vtable is initialized.

since: 2.4

TypePluginCompleteInterfaceInfo

The type of the complete_interface_info function of GTypePluginClass.

TypePluginCompleteTypeInfo

The type of the complete_type_info function of GTypePluginClass.

TypePluginUnuse

The type of the unuse_plugin function of GTypePluginClass.

TypePluginUse

The type of the use_plugin function of GTypePluginClass, which gets called to increase the use count of plugin.

TypeValueCollectFunc

This function is responsible for converting the values collected from a variadic argument list into contents suitable for storage in a GValue.

since: 2.78

TypeValueCopyFunc

Copies the content of a GValue into another.

since: 2.78

TypeValueFreeFunc

Frees any old contents that might be left in the value->data array of the given value.

since: 2.78

TypeValueInitFunc

Initializes the value contents by setting the fields of the value->data array.

since: 2.78

TypeValueLCopyFunc

This function is responsible for storing the value contents into arguments passed through a variadic argument list which got collected into collect_values according to lcopy_format.

since: 2.78

TypeValuePeekPointerFunc

If the value contents fit into a pointer, such as objects or strings, return this pointer, so the caller can peek at the current contents.

since: 2.78

VaClosureMarshal

This is the signature of va_list marshaller functions, an optional marshaller that can be used in some situations to avoid marshalling the signal argument into GValues.

ValueTransform

The type of value transformation functions which can be registered with g_value_register_transform_func().

WeakNotify

A GWeakNotify function can be added to an object as a callback that gets triggered when the object is finalized.

Functions

boxed_copy

Provide a copy of a boxed structure src_boxed which is of type boxed_type.

boxed_free

Free the boxed structure boxed which is of type boxed_type.

boxed_type_register_static

This function creates a new G_TYPE_BOXED derived type id for a new boxed type with name name.

clear_object

Clears a reference to a GObject.

since: 2.28

clear_signal_handler

Disconnects a handler from instance so it will not be called during any future or currently ongoing emissions of the signal it has been connected to. The handler_id_ptr is then set to zero, which is never a valid handler ID value (see g_signal_connect()).

since: 2.62

enum_complete_type_info

This function is meant to be called from the complete_type_info function of a GTypePlugin implementation, as in the following example:.

enum_get_value

Returns the GEnumValue for a value.

enum_get_value_by_name

Looks up a GEnumValue by name.

enum_get_value_by_nick

Looks up a GEnumValue by nickname.

enum_register_static

Registers a new static enumeration type with the name name.

enum_to_string

Pretty-prints value in the form of the enum’s name.

since: 2.54

flags_complete_type_info

This function is meant to be called from the complete_type_info() function of a GTypePlugin implementation, see the example for g_enum_complete_type_info() above.

flags_get_first_value

Returns the first GFlagsValue which is set in value.

flags_get_value_by_name

Looks up a GFlagsValue by name.

flags_get_value_by_nick

Looks up a GFlagsValue by nickname.

flags_register_static

Registers a new static flags type with the name name.

flags_to_string

Pretty-prints value in the form of the flag names separated by | and sorted. Any extra bits will be shown at the end as a hexadecimal number.

since: 2.54

gtype_get_type

param_spec_boolean

Creates a new GParamSpecBoolean instance specifying a G_TYPE_BOOLEAN property. In many cases, it may be more appropriate to use an enum with g_param_spec_enum(), both to improve code clarity by using explicitly named values, and to allow for more values to be added in future without breaking API.

param_spec_boxed

Creates a new GParamSpecBoxed instance specifying a G_TYPE_BOXED derived property.

param_spec_char

Creates a new GParamSpecChar instance specifying a G_TYPE_CHAR property.

param_spec_double

Creates a new GParamSpecDouble instance specifying a G_TYPE_DOUBLE property.

param_spec_enum

Creates a new GParamSpecEnum instance specifying a G_TYPE_ENUM property.

param_spec_flags

Creates a new GParamSpecFlags instance specifying a G_TYPE_FLAGS property.

param_spec_float

Creates a new GParamSpecFloat instance specifying a G_TYPE_FLOAT property.

param_spec_gtype

Creates a new GParamSpecGType instance specifying a G_TYPE_GTYPE property.

since: 2.10

param_spec_int

Creates a new GParamSpecInt instance specifying a G_TYPE_INT property.

param_spec_int64

Creates a new GParamSpecInt64 instance specifying a G_TYPE_INT64 property.

param_spec_long

Creates a new GParamSpecLong instance specifying a G_TYPE_LONG property.

param_spec_object

Creates a new GParamSpecBoxed instance specifying a G_TYPE_OBJECT derived property.

param_spec_override

Creates a new property of type GParamSpecOverride. This is used to direct operations to another paramspec, and will not be directly useful unless you are implementing a new base type similar to GObject.

since: 2.4

param_spec_param

Creates a new GParamSpecParam instance specifying a G_TYPE_PARAM property.

param_spec_pointer

Creates a new GParamSpecPointer instance specifying a pointer property. Where possible, it is better to use g_param_spec_object() or g_param_spec_boxed() to expose memory management information.

param_spec_string

Creates a new GParamSpecString instance.

param_spec_uchar

Creates a new GParamSpecUChar instance specifying a G_TYPE_UCHAR property.

param_spec_uint

Creates a new GParamSpecUInt instance specifying a G_TYPE_UINT property.

param_spec_uint64

Creates a new GParamSpecUInt64 instance specifying a G_TYPE_UINT64 property.

param_spec_ulong

Creates a new GParamSpecULong instance specifying a G_TYPE_ULONG property.

param_spec_unichar

Creates a new GParamSpecUnichar instance specifying a G_TYPE_UINT property. GValue structures for this property can be accessed with g_value_set_uint() and g_value_get_uint().

param_spec_value_array

Creates a new GParamSpecValueArray instance specifying a G_TYPE_VALUE_ARRAY property. G_TYPE_VALUE_ARRAY is a G_TYPE_BOXED type, as such, GValue structures for this property can be accessed with g_value_set_boxed() and g_value_get_boxed().

param_spec_variant

Creates a new GParamSpecVariant instance specifying a GVariant property.

since: 2.26

param_type_register_static

Registers name as the name of a new static type derived from G_TYPE_PARAM.

param_value_convert

Transforms src_value into dest_value if possible, and then validates dest_value, in order for it to conform to pspec. If strict_validation is TRUE this function will only succeed if the transformed dest_value complied to pspec without modifications.

param_value_defaults

Checks whether value contains the default value as specified in pspec.

param_value_is_valid

Return whether the contents of value comply with the specifications set out by pspec.

since: 2.74

param_value_set_default

Sets value to its default value as specified in pspec.

param_value_validate

Ensures that the contents of value comply with the specifications set out by pspec. For example, a GParamSpecInt might require that integers stored in value may not be smaller than -42 and not be greater than +42. If value contains an integer outside of this range, it is modified accordingly, so the resulting value will fit into the range -42 .. +42.

param_values_cmp

Compares value1 with value2 according to pspec, and return -1, 0 or +1, if value1 is found to be less than, equal to or greater than value2, respectively.

pointer_type_register_static

Creates a new G_TYPE_POINTER derived type id for a new pointer type with name name.

signal_accumulator_first_wins

A predefined GSignalAccumulator for signals intended to be used as a hook for application code to provide a particular value. Usually only one such value is desired and multiple handlers for the same signal don’t make much sense (except for the case of the default handler defined in the class structure, in which case you will usually want the signal connection to override the class handler).

since: 2.28

signal_accumulator_true_handled

A predefined GSignalAccumulator for signals that return a boolean values. The behavior that this accumulator gives is that a return of TRUE stops the signal emission: no further callbacks will be invoked, while a return of FALSE allows the emission to continue. The idea here is that a TRUE return indicates that the callback handled the signal, and no further handling is needed.

since: 2.4

signal_add_emission_hook

Adds an emission hook for a signal, which will get called for any emission of that signal, independent of the instance. This is possible only for signals which don’t have G_SIGNAL_NO_HOOKS flag set.

signal_chain_from_overridden

Calls the original class closure of a signal. This function should only be called from an overridden class closure; see g_signal_override_class_closure() and g_signal_override_class_handler().

signal_chain_from_overridden_handler

Calls the original class closure of a signal. This function should only be called from an overridden class closure; see g_signal_override_class_closure() and g_signal_override_class_handler().

since: 2.18

signal_connect_closure

Connects a closure to a signal for a particular object.

signal_connect_closure_by_id

Connects a closure to a signal for a particular object.

signal_connect_data

Connects a GCallback function to a signal for a particular object. Similar to g_signal_connect(), but allows to provide a GClosureNotify for the data which will be called when the signal handler is disconnected and no longer used. Specify connect_flags if you need ..._after() or ..._swapped() variants of this function.

signal_connect_object

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

signal_emit

Emits a signal. Signal emission is done synchronously. The method will only return control after all handlers are called or signal emission was stopped.

signal_emit_by_name

Emits a signal. Signal emission is done synchronously. The method will only return control after all handlers are called or signal emission was stopped.

signal_emit_valist

Emits a signal. Signal emission is done synchronously. The method will only return control after all handlers are called or signal emission was stopped.

signal_emitv

Emits a signal. Signal emission is done synchronously. The method will only return control after all handlers are called or signal emission was stopped.

signal_get_invocation_hint

Returns the invocation hint of the innermost signal emission of instance.

signal_handler_block

Blocks a handler of an instance so it will not be called during any signal emissions unless it is unblocked again. Thus “blocking” a signal handler means to temporarily deactivate it, a signal handler has to be unblocked exactly the same amount of times it has been blocked before to become active again.

signal_handler_disconnect

Disconnects a handler from an instance so it will not be called during any future or currently ongoing emissions of the signal it has been connected to. The handler_id becomes invalid and may be reused.

signal_handler_find

Finds the first signal handler that matches certain selection criteria. The criteria mask is passed as an OR-ed combination of GSignalMatchType flags, and the criteria values are passed as arguments. The match mask has to be non-0 for successful matches. If no handler was found, 0 is returned.

signal_handler_is_connected

Returns whether handler_id is the ID of a handler connected to instance.

signal_handler_unblock

Undoes the effect of a previous g_signal_handler_block() call. A blocked handler is skipped during signal emissions and will not be invoked, unblocking it (for exactly the amount of times it has been blocked before) reverts its “blocked” state, so the handler will be recognized by the signal system and is called upon future or currently ongoing signal emissions (since the order in which handlers are called during signal emissions is deterministic, whether the unblocked handler in question is called as part of a currently ongoing emission depends on how far that emission has proceeded yet).

signal_handlers_block_matched

Blocks all handlers on an instance that match a certain selection criteria.

signal_handlers_destroy

Destroy all signal handlers of a type instance. This function is an implementation detail of the GObject dispose implementation, and should not be used outside of the type system.

signal_handlers_disconnect_matched

Disconnects all handlers on an instance that match a certain selection criteria.

signal_handlers_unblock_matched

Unblocks all handlers on an instance that match a certain selection criteria.

signal_has_handler_pending

Returns whether there are any handlers connected to instance for the given signal id and detail.

signal_is_valid_name

Validate a signal name. This can be useful for dynamically-generated signals which need to be validated at run-time before actually trying to create them.

since: 2.66

signal_list_ids

Lists the signals by id that a certain instance or interface type created. Further information about the signals can be acquired through g_signal_query().

signal_lookup

Given the name of the signal and the type of object it connects to, gets the signal’s identifying integer. Emitting the signal by number is somewhat faster than using the name each time.

signal_name

Given the signal’s identifier, finds its name.

signal_new

Creates a new signal. (This is usually done in the class initializer.).

signal_new_class_handler

Creates a new signal. (This is usually done in the class initializer.).

since: 2.18

signal_new_valist

Creates a new signal. (This is usually done in the class initializer.).

signal_newv

Creates a new signal. (This is usually done in the class initializer.).

signal_override_class_closure

Overrides the class closure (i.e. the default handler) for the given signal for emissions on instances of instance_type. instance_type must be derived from the type to which the signal belongs.

signal_override_class_handler

Overrides the class closure (i.e. the default handler) for the given signal for emissions on instances of instance_type with callback class_handler. instance_type must be derived from the type to which the signal belongs.

since: 2.18

signal_parse_name

Internal function to parse a signal name into its signal_id and detail quark.

signal_query

Queries the signal system for in-depth information about a specific signal. This function will fill in a user-provided structure to hold signal-specific information. If an invalid signal id is passed in, the signal_id member of the GSignalQuery is 0. All members filled into the GSignalQuery structure should be considered constant and have to be left untouched.

signal_remove_emission_hook

Deletes an emission hook.

signal_set_va_marshaller

Change the GSignalCVaMarshaller used for a given signal. This is a specialised form of the marshaller that can often be used for the common case of a single connected signal handler and avoids the overhead of GValue. Its use is optional.

since: 2.32

signal_stop_emission

Stops a signal’s current emission.

signal_stop_emission_by_name

Stops a signal’s current emission.

signal_type_cclosure_new

Creates a new closure which invokes the function found at the offset struct_offset in the class structure of the interface or classed type identified by itype.

source_set_closure

Set the callback for a source as a GClosure.

source_set_dummy_callback

Sets a dummy callback for source. The callback will do nothing, and if the source expects a #gboolean return value, it will return TRUE. (If the source expects any other type of return value, it will return a 0/NULL value; whatever g_value_init() initializes a GValue to for that type.).

strdup_value_contents

Return a newly allocated string, which describes the contents of a GValue. The main purpose of this function is to describe GValue contents for debugging output, the way in which the contents are described may change between different GLib versions.

type_add_class_cache_func

Adds a GTypeClassCacheFunc to be called before the reference count of a class goes from one to zero. This can be used to prevent premature class destruction. All installed GTypeClassCacheFunc functions will be chained until one of them returns TRUE. The functions have to check the class id passed in to figure whether they actually want to cache the class of this type, since all classes are routed through the same GTypeClassCacheFunc chain.

type_add_class_private

Registers a private class structure for a classed type; when the class is allocated, the private structures for the class and all of its parent types are allocated sequentially in the same memory block as the public structures, and are zero-filled.

since: 2.24

type_add_instance_private

type_add_interface_check

Adds a function to be called after an interface vtable is initialized for any class (i.e. after the interface_init member of GInterfaceInfo has been called).

since: 2.4

type_add_interface_dynamic

Adds interface_type to the dynamic instance_type. The information contained in the GTypePlugin structure pointed to by plugin is used to manage the relationship.

type_add_interface_static

Adds interface_type to the static instance_type. The information contained in the GInterfaceInfo structure pointed to by info is used to manage the relationship.

type_check_class_cast

type_check_class_is_a

type_check_instance

Private helper function to aid implementation of the G_TYPE_CHECK_INSTANCE() macro.

type_check_instance_cast

type_check_instance_is_a

type_check_instance_is_fundamentally_a

type_check_is_value_type

type_check_value

type_check_value_holds

type_children

Return a newly allocated and 0-terminated array of type IDs, listing the child types of type.

type_create_instance

Creates and initializes an instance of type if type is valid and can be instantiated. The type system only performs basic allocation and structure setups for instances: actual instance creation should happen through functions supplied by the type’s fundamental type implementation. So use of g_type_create_instance() is reserved for implementers of fundamental types only. E.g. instances of the GObject hierarchy should be created via g_object_new() and never directly through g_type_create_instance() which doesn’t handle things like singleton objects or object construction.

type_default_interface_peek

If the interface type g_type is currently in use, returns its default interface vtable.

since: 2.4

type_default_interface_ref

Increments the reference count for the interface type g_type, and returns the default interface vtable for the type.

since: 2.4

type_default_interface_unref

Decrements the reference count for the type corresponding to the interface default vtable g_iface. If the type is dynamic, then when no one is using the interface and all references have been released, the finalize function for the interface’s default vtable (the class_finalize member of GTypeInfo) will be called.

since: 2.4

type_depth

Returns the length of the ancestry of the passed in type. This includes the type itself, so that e.g. a fundamental type has depth 1.

type_ensure

Ensures that the indicated type has been registered with the type system, and its _class_init() method has been run.

since: 2.34

type_free_instance

Frees an instance of a type, returning it to the instance pool for the type, if there is one.

type_from_name

Look up the type ID from a given type name, returning 0 if no type has been registered under this name (this is the preferred method to find out by name whether a specific type has been registered yet).

type_fundamental

Internal function, used to extract the fundamental type ID portion. Use G_TYPE_FUNDAMENTAL() instead.

type_fundamental_next

Returns the next free fundamental type id which can be used to register a new fundamental type with g_type_register_fundamental(). The returned type ID represents the highest currently registered fundamental type identifier.

type_get_instance_count

Returns the number of instances allocated of the particular type; this is only available if GLib is built with debugging support and the instance-count debug flag is set (by setting the GOBJECT_DEBUG variable to include instance-count).

since: 2.44

type_get_plugin

Returns the GTypePlugin structure for type.

type_get_qdata

Obtains data which has previously been attached to type with g_type_set_qdata().

type_get_type_registration_serial

Returns an opaque serial number that represents the state of the set of registered types. Any time a type is registered this serial changes, which means you can cache information based on type lookups (such as g_type_from_name()) and know if the cache is still valid at a later time by comparing the current serial with the one at the type lookup.

since: 2.36

type_init

This function used to initialise the type system. Since GLib 2.36, the type system is initialised automatically and this function does nothing.

deprecated: 2.36 

type_init_with_debug_flags

This function used to initialise the type system with debugging flags. Since GLib 2.36, the type system is initialised automatically and this function does nothing.

deprecated: 2.36 

type_interfaces

Return a newly allocated and 0-terminated array of type IDs, listing the interface types that type conforms to.

type_is_a

If is_a_type is a derivable type, check whether type is a descendant of is_a_type. If is_a_type is an interface, check whether type conforms to it.

type_name

Get the unique name that is assigned to a type ID. Note that this function (like all other GType API) cannot cope with invalid type IDs. G_TYPE_INVALID may be passed to this function, as may be any other validly registered type ID, but randomized type IDs should not be passed in and will most likely lead to a crash.

type_name_from_class

type_name_from_instance

type_next_base

Given a leaf_type and a root_type which is contained in its ancestry, return the type that root_type is the immediate parent of. In other words, this function determines the type that is derived directly from root_type which is also a base class of leaf_type. Given a root type and a leaf type, this function can be used to determine the types and order in which the leaf type is descended from the root type.

type_parent

Return the direct parent type of the passed in type. If the passed in type has no parent, i.e. is a fundamental type, 0 is returned.

type_qname

Get the corresponding quark of the type IDs name.

type_query

Queries the type system for information about a specific type.

type_register_dynamic

Registers type_name as the name of a new dynamic type derived from parent_type. The type system uses the information contained in the GTypePlugin structure pointed to by plugin to manage the type and its instances (if not abstract). The value of flags determines the nature (e.g. abstract or not) of the type.

type_register_fundamental

Registers type_id as the predefined identifier and type_name as the name of a fundamental type. If type_id is already registered, or a type named type_name is already registered, the behaviour is undefined. The type system uses the information contained in the GTypeInfo structure pointed to by info and the GTypeFundamentalInfo structure pointed to by finfo to manage the type and its instances. The value of flags determines additional characteristics of the fundamental type.

type_register_static

Registers type_name as the name of a new static type derived from parent_type. The type system uses the information contained in the GTypeInfo structure pointed to by info to manage the type and its instances (if not abstract). The value of flags determines the nature (e.g. abstract or not) of the type.

type_register_static_simple

Registers type_name as the name of a new static type derived from parent_type. The value of flags determines the nature (e.g. abstract or not) of the type. It works by filling a GTypeInfo struct and calling g_type_register_static().

since: 2.12

type_remove_class_cache_func

Removes a previously installed GTypeClassCacheFunc. The cache maintained by cache_func has to be empty when calling g_type_remove_class_cache_func() to avoid leaks.

type_remove_interface_check

Removes an interface check function added with g_type_add_interface_check().

since: 2.4

type_set_qdata

Attaches arbitrary data to a type.

type_test_flags

variant_get_gtype

Function Macros

ADD_PRIVATE

A convenience macro to ease adding private data to instances of a new type in the _C_ section of G_DEFINE_TYPE_WITH_CODE() or G_DEFINE_ABSTRACT_TYPE_WITH_CODE().

since: 2.38

ADD_PRIVATE_DYNAMIC

A convenience macro to ease adding private data to instances of a new dynamic type in the _C_ section of G_DEFINE_DYNAMIC_TYPE_EXTENDED().

since: 2.38

assert_finalize_object

Assert that object is non-NULL, then release one reference to it with g_object_unref() and assert that it has been finalized (i.e. that there are no more references).

since: 2.62

CALLBACK

Cast a function pointer to a GCallback.

CCLOSURE_SWAP_DATA

Checks whether the user data of the GCClosure should be passed as the first parameter to the callback. See g_cclosure_new_swap().

clear_weak_pointer

Clears a weak reference to a GObject.

since: 2.56

CLOSURE_N_NOTIFIERS

Get the total number of notifiers connected with the closure cl.

CLOSURE_NEEDS_MARSHAL

Check if the closure still needs a marshaller. See g_closure_set_marshal().

DECLARE_DERIVABLE_TYPE

A convenience macro for emitting the usual declarations in the header file for a type which is intended to be subclassed.

since: 2.44

DECLARE_FINAL_TYPE

A convenience macro for emitting the usual declarations in the header file for a type which is not (at the present time) intended to be subclassed.

since: 2.44

DECLARE_INTERFACE

A convenience macro for emitting the usual declarations in the header file for a GInterface type.

since: 2.44

DEFINE_ABSTRACT_TYPE

A convenience macro for type implementations.

since: 2.4

DEFINE_ABSTRACT_TYPE_WITH_CODE

A convenience macro for type implementations.

since: 2.4

DEFINE_ABSTRACT_TYPE_WITH_PRIVATE

Similar to G_DEFINE_TYPE_WITH_PRIVATE(), but defines an abstract type.

since: 2.38

DEFINE_BOXED_TYPE

A convenience macro for defining a new custom boxed type.

since: 2.26

DEFINE_BOXED_TYPE_WITH_CODE

A convenience macro for boxed type implementations.

since: 2.26

DEFINE_DYNAMIC_TYPE

A convenience macro for dynamic type implementations, which declares a class initialization function, an instance initialization function (see GTypeInfo for information about these) and a static variable named t_n_parent_class pointing to the parent class.

since: 2.14

DEFINE_DYNAMIC_TYPE_EXTENDED

A more general version of G_DEFINE_DYNAMIC_TYPE() which allows to specify GTypeFlags and custom code.

since: 2.14

DEFINE_ENUM_TYPE

A convenience macro for defining enumeration types.

since: 2.74

DEFINE_ENUM_VALUE

Defines an enumeration value, and maps it to a “nickname”.

since: 2.74

DEFINE_FINAL_TYPE

A convenience macro for type implementations.

since: 2.70

DEFINE_FINAL_TYPE_WITH_CODE

A convenience macro for type implementations.

since: 2.70

DEFINE_FINAL_TYPE_WITH_PRIVATE

A convenience macro for type implementations.

since: 2.70

DEFINE_FLAGS_TYPE

A convenience macro for defining flag types.

since: 2.74

DEFINE_INTERFACE

A convenience macro for GTypeInterface definitions, which declares a default vtable initialization function and defines a *_get_type() function.

since: 2.24

DEFINE_INTERFACE_WITH_CODE

A convenience macro for GTypeInterface definitions.

since: 2.24

DEFINE_POINTER_TYPE

A convenience macro for pointer type implementations, which defines a type_name_get_type() function registering the pointer type.

since: 2.26

DEFINE_POINTER_TYPE_WITH_CODE

A convenience macro for pointer type implementations. Similar to G_DEFINE_POINTER_TYPE(), but allows to insert custom code into the type_name_get_type() function.

since: 2.26

DEFINE_TYPE

A convenience macro for type implementations, which declares a class initialization function, an instance initialization function (see GTypeInfo for information about these) and a static variable named t_n_parent_class pointing to the parent class. Furthermore, it defines a *_get_type() function. See G_DEFINE_TYPE_EXTENDED() for an example.

since: 2.4

DEFINE_TYPE_EXTENDED

The most general convenience macro for type implementations, on which G_DEFINE_TYPE(), etc are based.

since: 2.4

DEFINE_TYPE_WITH_CODE

A convenience macro for type implementations.

since: 2.4

DEFINE_TYPE_WITH_PRIVATE

A convenience macro for type implementations, which declares a class initialization function, an instance initialization function (see GTypeInfo for information about these), a static variable named t_n_parent_class pointing to the parent class, and adds private instance data to the type.

since: 2.38

DEPRECATED_ENUMERATOR_IN_2_26_FOR

DEPRECATED_ENUMERATOR_IN_2_28_FOR

DEPRECATED_ENUMERATOR_IN_2_30_FOR

DEPRECATED_ENUMERATOR_IN_2_32_FOR

DEPRECATED_ENUMERATOR_IN_2_34_FOR

DEPRECATED_ENUMERATOR_IN_2_36_FOR

DEPRECATED_ENUMERATOR_IN_2_38_FOR

DEPRECATED_ENUMERATOR_IN_2_40_FOR

DEPRECATED_ENUMERATOR_IN_2_42_FOR

DEPRECATED_ENUMERATOR_IN_2_44_FOR

DEPRECATED_ENUMERATOR_IN_2_46_FOR

DEPRECATED_ENUMERATOR_IN_2_48_FOR

DEPRECATED_ENUMERATOR_IN_2_50_FOR

DEPRECATED_ENUMERATOR_IN_2_52_FOR

DEPRECATED_ENUMERATOR_IN_2_54_FOR

DEPRECATED_ENUMERATOR_IN_2_56_FOR

DEPRECATED_ENUMERATOR_IN_2_58_FOR

DEPRECATED_ENUMERATOR_IN_2_60_FOR

DEPRECATED_ENUMERATOR_IN_2_62_FOR

DEPRECATED_ENUMERATOR_IN_2_64_FOR

DEPRECATED_ENUMERATOR_IN_2_66_FOR

DEPRECATED_ENUMERATOR_IN_2_68_FOR

DEPRECATED_ENUMERATOR_IN_2_70_FOR

DEPRECATED_ENUMERATOR_IN_2_72_FOR

DEPRECATED_ENUMERATOR_IN_2_74_FOR

DEPRECATED_ENUMERATOR_IN_2_76_FOR

DEPRECATED_ENUMERATOR_IN_2_78_FOR

DEPRECATED_ENUMERATOR_IN_2_80_FOR

DEPRECATED_ENUMERATOR_IN_2_82_FOR

DEPRECATED_ENUMERATOR_IN_2_84_FOR

DEPRECATED_FOR

DEPRECATED_IN_2_26_FOR

DEPRECATED_IN_2_28_FOR

DEPRECATED_IN_2_30_FOR

DEPRECATED_IN_2_32_FOR

DEPRECATED_IN_2_34_FOR

DEPRECATED_IN_2_36_FOR

DEPRECATED_IN_2_38_FOR

DEPRECATED_IN_2_40_FOR

DEPRECATED_IN_2_42_FOR

DEPRECATED_IN_2_44_FOR

DEPRECATED_IN_2_46_FOR

DEPRECATED_IN_2_48_FOR

DEPRECATED_IN_2_50_FOR

DEPRECATED_IN_2_52_FOR

DEPRECATED_IN_2_54_FOR

DEPRECATED_IN_2_56_FOR

DEPRECATED_IN_2_58_FOR

DEPRECATED_IN_2_60_FOR

DEPRECATED_IN_2_62_FOR

DEPRECATED_IN_2_64_FOR

DEPRECATED_IN_2_66_FOR

DEPRECATED_IN_2_68_FOR

DEPRECATED_IN_2_70_FOR

DEPRECATED_IN_2_72_FOR

DEPRECATED_IN_2_74_FOR

DEPRECATED_IN_2_76_FOR

DEPRECATED_IN_2_78_FOR

DEPRECATED_IN_2_80_FOR

DEPRECATED_IN_2_82_FOR

DEPRECATED_IN_2_84_FOR

DEPRECATED_MACRO_IN_2_26_FOR

DEPRECATED_MACRO_IN_2_28_FOR

DEPRECATED_MACRO_IN_2_30_FOR

DEPRECATED_MACRO_IN_2_32_FOR

DEPRECATED_MACRO_IN_2_34_FOR

DEPRECATED_MACRO_IN_2_36_FOR

DEPRECATED_MACRO_IN_2_38_FOR

DEPRECATED_MACRO_IN_2_40_FOR

DEPRECATED_MACRO_IN_2_42_FOR

DEPRECATED_MACRO_IN_2_44_FOR

DEPRECATED_MACRO_IN_2_46_FOR

DEPRECATED_MACRO_IN_2_48_FOR

DEPRECATED_MACRO_IN_2_50_FOR

DEPRECATED_MACRO_IN_2_52_FOR

DEPRECATED_MACRO_IN_2_54_FOR

DEPRECATED_MACRO_IN_2_56_FOR

DEPRECATED_MACRO_IN_2_58_FOR

DEPRECATED_MACRO_IN_2_60_FOR

DEPRECATED_MACRO_IN_2_62_FOR

DEPRECATED_MACRO_IN_2_64_FOR

DEPRECATED_MACRO_IN_2_66_FOR

DEPRECATED_MACRO_IN_2_68_FOR

DEPRECATED_MACRO_IN_2_70_FOR

DEPRECATED_MACRO_IN_2_72_FOR

DEPRECATED_MACRO_IN_2_74_FOR

DEPRECATED_MACRO_IN_2_76_FOR

DEPRECATED_MACRO_IN_2_78_FOR

DEPRECATED_MACRO_IN_2_80_FOR

DEPRECATED_MACRO_IN_2_82_FOR

DEPRECATED_MACRO_IN_2_84_FOR

DEPRECATED_TYPE_IN_2_26_FOR

DEPRECATED_TYPE_IN_2_28_FOR

DEPRECATED_TYPE_IN_2_30_FOR

DEPRECATED_TYPE_IN_2_32_FOR

DEPRECATED_TYPE_IN_2_34_FOR

DEPRECATED_TYPE_IN_2_36_FOR

DEPRECATED_TYPE_IN_2_38_FOR

DEPRECATED_TYPE_IN_2_40_FOR

DEPRECATED_TYPE_IN_2_42_FOR

DEPRECATED_TYPE_IN_2_44_FOR

DEPRECATED_TYPE_IN_2_46_FOR

DEPRECATED_TYPE_IN_2_48_FOR

DEPRECATED_TYPE_IN_2_50_FOR

DEPRECATED_TYPE_IN_2_52_FOR

DEPRECATED_TYPE_IN_2_54_FOR

DEPRECATED_TYPE_IN_2_56_FOR

DEPRECATED_TYPE_IN_2_58_FOR

DEPRECATED_TYPE_IN_2_60_FOR

DEPRECATED_TYPE_IN_2_62_FOR

DEPRECATED_TYPE_IN_2_64_FOR

DEPRECATED_TYPE_IN_2_66_FOR

DEPRECATED_TYPE_IN_2_68_FOR

DEPRECATED_TYPE_IN_2_70_FOR

DEPRECATED_TYPE_IN_2_72_FOR

DEPRECATED_TYPE_IN_2_74_FOR

DEPRECATED_TYPE_IN_2_76_FOR

DEPRECATED_TYPE_IN_2_78_FOR

DEPRECATED_TYPE_IN_2_80_FOR

DEPRECATED_TYPE_IN_2_82_FOR

DEPRECATED_TYPE_IN_2_84_FOR

ENUM_CLASS_TYPE

Get the type identifier from a given GEnumClass structure.

ENUM_CLASS_TYPE_NAME

Get the static type name from a given GEnumClass structure.

FLAGS_CLASS_TYPE

Get the type identifier from a given GFlagsClass structure.

FLAGS_CLASS_TYPE_NAME

Get the static type name from a given GFlagsClass structure.

IMPLEMENT_INTERFACE

A convenience macro to ease interface addition in the _C_ section of G_DEFINE_TYPE_WITH_CODE() or G_DEFINE_ABSTRACT_TYPE_WITH_CODE(). See G_DEFINE_TYPE_EXTENDED() for an example.

since: 2.4

IMPLEMENT_INTERFACE_DYNAMIC

A convenience macro to ease interface addition in the _C_ section of G_DEFINE_DYNAMIC_TYPE_EXTENDED().

since: 2.24

OBJECT_CLASS_NAME

Return the name of a class structure’s type.

OBJECT_CLASS_TYPE

Get the type id of a class structure.

OBJECT_TYPE

Get the type id of an object.

OBJECT_TYPE_NAME

Get the name of an object’s type.

OBJECT_WARN_INVALID_PROPERTY_ID

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

OBJECT_WARN_INVALID_PSPEC

PARAM_SPEC_GTYPE

Casts a GParamSpec into a GParamSpecGType.

since: 2.10

PARAM_SPEC_TYPE

Retrieves the GType of this pspec.

PARAM_SPEC_TYPE_NAME

Retrieves the GType name of this pspec.

PARAM_SPEC_UCHAR

Cast a GParamSpec instance into a GParamSpecUChar.

PARAM_SPEC_UINT

Cast a GParamSpec instance into a GParamSpecUInt.

PARAM_SPEC_UINT64

Cast a GParamSpec instance into a GParamSpecUInt64.

PARAM_SPEC_ULONG

Cast a GParamSpec instance into a GParamSpecULong.

PARAM_SPEC_VALUE_TYPE

Retrieves the GType to initialize a GValue for this parameter.

PRIVATE_FIELD

Evaluates to the field_name inside the inst private data structure for TypeName.

since: 2.38

PRIVATE_FIELD_P

Evaluates to a pointer to the field_name inside the inst private data structure for TypeName.

since: 2.38

PRIVATE_OFFSET

Evaluates to the offset of the field inside the instance private data structure for TypeName.

since: 2.38

set_object

Updates a GObject pointer to refer to new_object.

since: 2.44

set_weak_pointer

Updates a pointer to weakly refer to new_object.

since: 2.56

signal_connect

Connects a GCallback function to a signal for a particular object.

signal_connect_after

Connects a GCallback function to a signal for a particular object.

signal_connect_swapped

Connects a GCallback function to a signal for a particular object.

signal_handlers_block_by_func

Blocks all handlers on an instance that match func and data.

signal_handlers_disconnect_by_data

Disconnects all handlers on an instance that match data.

since: 2.32

signal_handlers_disconnect_by_func

Disconnects all handlers on an instance that match func and data.

signal_handlers_unblock_by_func

Unblocks all handlers on an instance that match func and data.

TYPE_CHECK_CLASS_CAST

Checks that g_class is a class structure of the type identified by g_type and issues a warning if this is not the case. Returns g_class casted to a pointer to c_type. NULL is not a valid class structure.

TYPE_CHECK_CLASS_TYPE

Checks if g_class is a class structure of the type identified by g_type. If g_class is NULL, FALSE will be returned.

TYPE_CHECK_INSTANCE

Checks if instance is a valid GTypeInstance structure, otherwise issues a warning and returns FALSE. NULL is not a valid GTypeInstance.

TYPE_CHECK_INSTANCE_CAST

Checks that instance is an instance of the type identified by g_type and issues a warning if this is not the case. Returns instance casted to a pointer to c_type.

TYPE_CHECK_INSTANCE_FUNDAMENTAL_TYPE

Checks if instance is an instance of the fundamental type identified by g_type. If instance is NULL, FALSE will be returned.

TYPE_CHECK_INSTANCE_TYPE

Checks if instance is an instance of the type identified by g_type. If instance is NULL, FALSE will be returned.

TYPE_CHECK_VALUE

Checks if value has been initialized to hold values of a value type.

TYPE_CHECK_VALUE_TYPE

Checks if value has been initialized to hold values of type g_type.

TYPE_FROM_CLASS

Get the type identifier from a given class structure.

TYPE_FROM_INSTANCE

Get the type identifier from a given instance structure.

TYPE_FROM_INTERFACE

Get the type identifier from a given interface structure.

TYPE_FUNDAMENTAL

The fundamental type which is the ancestor of type.

TYPE_HAS_VALUE_TABLE

Checks if type has a GTypeValueTable.

TYPE_MAKE_FUNDAMENTAL

Get the type ID for the fundamental type number x.

UNAVAILABLE

UNAVAILABLE_STATIC_INLINE

VALUE_COLLECT

Collects a variable argument value from a va_list.

VALUE_COLLECT_INIT

Collects a variable argument value from a va_list.

since: 2.24

VALUE_COLLECT_INIT2

A variant of G_VALUE_COLLECT_INIT() that provides the GTypeValueTable to the caller.

since: 2.74

VALUE_COLLECT_SKIP

Skip an argument of type _value_type from var_args.

VALUE_HOLDS

Checks if value holds (or contains) a value of type. This macro will also check for value != NULL and issue a warning if the check fails.

VALUE_HOLDS_BOOLEAN

Checks whether the given GValue can hold values of type G_TYPE_BOOLEAN.

VALUE_HOLDS_BOXED

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

VALUE_HOLDS_CHAR

Checks whether the given GValue can hold values of type G_TYPE_CHAR.

VALUE_HOLDS_DOUBLE

Checks whether the given GValue can hold values of type G_TYPE_DOUBLE.

VALUE_HOLDS_ENUM

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

VALUE_HOLDS_FLAGS

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

VALUE_HOLDS_FLOAT

Checks whether the given GValue can hold values of type G_TYPE_FLOAT.

VALUE_HOLDS_GTYPE

Checks whether the given GValue can hold values of type G_TYPE_GTYPE.

since: 2.12

VALUE_HOLDS_INT

Checks whether the given GValue can hold values of type G_TYPE_INT.

VALUE_HOLDS_INT64

Checks whether the given GValue can hold values of type G_TYPE_INT64.

VALUE_HOLDS_LONG

Checks whether the given GValue can hold values of type G_TYPE_LONG.

VALUE_HOLDS_OBJECT

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

VALUE_HOLDS_PARAM

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

VALUE_HOLDS_POINTER

Checks whether the given GValue can hold values of type G_TYPE_POINTER.

VALUE_HOLDS_STRING

Checks whether the given GValue can hold values of type G_TYPE_STRING.

VALUE_HOLDS_UCHAR

Checks whether the given GValue can hold values of type G_TYPE_UCHAR.

VALUE_HOLDS_UINT

Checks whether the given GValue can hold values of type G_TYPE_UINT.

VALUE_HOLDS_UINT64

Checks whether the given GValue can hold values of type G_TYPE_UINT64.

VALUE_HOLDS_ULONG

Checks whether the given GValue can hold values of type G_TYPE_ULONG.

VALUE_HOLDS_VARIANT

Checks whether the given GValue can hold values of type G_TYPE_VARIANT.

since: 2.26

VALUE_LCOPY

Stores a value’s value into one or more argument locations from a va_list.

VALUE_TYPE

Get the type identifier of value.

VALUE_TYPE_NAME

Gets the type name of value.

Constants

PARAM_MASK

Mask containing the bits of GParamSpec.flags which are reserved for GLib.

PARAM_STATIC_STRINGS

GParamFlags value alias for G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB.

PARAM_USER_SHIFT

Minimum shift count to be used for user defined flags, to be stored in GParamSpec.flags. The maximum allowed is 10.

SIGNAL_FLAGS_MASK

A mask for all GSignalFlags bits.

SIGNAL_MATCH_MASK

A mask for all GSignalMatchType bits.

TYPE_FLAG_RESERVED_ID_BIT

A bit in the type number that’s supposed to be left untouched.

TYPE_FUNDAMENTAL_MAX

An integer constant that represents the number of identifiers reserved for types that are assigned at compile-time.

TYPE_FUNDAMENTAL_SHIFT

Shift value used in converting numbers to type IDs.

TYPE_RESERVED_BSE_FIRST

First fundamental type number to create a new fundamental type id with G_TYPE_MAKE_FUNDAMENTAL() reserved for BSE.

TYPE_RESERVED_BSE_LAST

Last fundamental type number reserved for BSE.

TYPE_RESERVED_GLIB_FIRST

First fundamental type number to create a new fundamental type id with G_TYPE_MAKE_FUNDAMENTAL() reserved for GLib.

TYPE_RESERVED_GLIB_LAST

Last fundamental type number reserved for GLib.

TYPE_RESERVED_USER_FIRST

First available fundamental type number to create new fundamental type id with G_TYPE_MAKE_FUNDAMENTAL().

VALUE_COLLECT_FORMAT_MAX_LENGTH

The maximal number of GTypeCValues which can be collected for a single GValue.

VALUE_INTERNED_STRING

For string values, indicates that the string contained is canonical and will exist for the duration of the process. See g_value_set_interned_string().

VALUE_NOCOPY_CONTENTS

If passed to G_VALUE_COLLECT(), allocated data won’t be copied but used verbatim. This does not affect ref-counted types like objects. This does not affect usage of g_value_copy(), the data will be copied if it is not ref-counted.