Namespace

GObject – 2.0

The base type system and object class

Version2.68.0
AuthorsGTK Development Team
LicenseGPL-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 The base utility library
Browse documentation
GIO GObject Interfaces and Objects, Networking, IPC, and I/O
Browse documentation

Additional documentation

Classes

Binding

GBinding is the representation of a binding between a property on a GObject instance (or source) and another property on another GObject instance (or target). Whenever the source property changes, the same value is applied to the target property; for instance, the following binding:

InitiallyUnowned

All the fields in the GInitiallyUnowned structure are private to the GInitiallyUnowned implementation and should never be accessed directly.

Object

All the fields in the GObject structure are private to the GObject implementation and should never be accessed directly.

ParamSpec

GParamSpec is an object structure that encapsulates the metadata required to specify parameters, such as e.g. 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.

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

This is a type of GParamSpec type that simply redirects operations to another paramspec. All operations other than getting or setting the value are redirected, including accessing the nick and blurb, validating a value, and so forth. See g_param_spec_get_redirect_target() for retrieving the overridden property. GParamSpecOverride is used in implementing g_object_class_override_property(), and will not be directly useful unless you are implementing a new base type similar to GObject.

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.

TypeModule

GTypeModule provides a simple implementation of the GTypePlugin interface. The model of GTypeModule is a dynamically loaded module which implements some number of types and interface implementations. When the module is loaded, it registers its types and interfaces using g_type_module_register_type() and g_type_module_add_interface(). As long as any instances of these types and interface implementations are in use, the module is kept loaded. When the types and interfaces are gone, the module may be unloaded. If the types and interfaces become used again, the module will be reloaded. Note that the last unref cannot happen in module code, since that would lead to the caller’s code being unloaded before g_object_unref() returns to it.

Interfaces

TypePlugin

The GObject type system supports dynamic loading of types. The GTypePlugin interface is used to handle the lifecycle of dynamically loaded types. It goes as follows:

Structs

CClosure

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

Closure

A GClosure represents a callback supplied by the programmer. It will generally comprise a function of some kind and a marshaller used to call it. It is the responsibility of the marshaller to convert the arguments for the invocation from GValues into a suitable form, perform the callback on the converted arguments, and transform the return value back into a GValue.

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().

ParamSpecPool

A GParamSpecPool maintains a collection of GParamSpecs which can be quickly accessed by owner and name. The implementation of the GObject property system uses such a pool to store the GParamSpecs of the properties all object types.

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. The initialized structure is passed to the g_param_type_register_static() The type system will perform a deep copy of this structure, so its memory does not need to be persistent across invocation of g_param_type_register_static().

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. It is filled in by the g_signal_query() function.

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. It is filled in by the g_type_query() function.

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. The data within the structure has protected scope: it is accessible only to functions within a GTypeValueTable structure, or implementations of the g_value_*() API. That is, code portions which implement 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 G_VALUE_TYPE() macro.

ValueArray

A GValueArray contains an array of GValue elements.

WeakRef

A structure containing a weak reference to a GObject. It can either be empty (i.e. point to NULL), or point to an object for as long as at least one “strong” reference to that object exists. Before the object’s GObjectClass.dispose method is called, every GWeakRef associated with becomes empty (i.e. points to NULL).

Unions

Aliases

SignalCMarshaller

This is the signature of marshaller functions, required to marshall arrays of parameter values to signal emissions into C language callback invocations. It is merely an alias to GClosureMarshal since the GClosure mechanism takes over responsibility of actual function invocation for the signal system.

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().

ConnectFlags

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

ParamFlags

Through the GParamFlags flag values, certain aspects of parameters can be configured. See also #G_PARAM_STATIC_STRINGS.

SignalFlags

The signal flags are used to specify a signal’s behaviour, the overall signal description outlines how especially the RUN flags control the stages of a signal emission.

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.

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. Class finalization basically works the inverse way in which class initialization is performed. See GClassInitFunc() for a discussion of the class initialization process.

BaseInitFunc

A callback function used by the type system to do base initialization of the class structures of derived types. It is called as part of the initialization process of all derived classes and should reallocate or reset all dynamic class members copied over from the parent class. For example, class members (such as strings) that are not sufficiently handled by a plain memory copy of the parent class into the derived class have to be altered. See GClassInitFunc() for a discussion of the class initialization process.

BindingTransformFunc

A function to be called to transform from_value to to_value. If this is the transform_to function of a binding, then from_value is the source_property on the source object, and to_value is the target_property on the target object. If this is the transform_from function of a G_BINDING_BIDIRECTIONAL binding, then those roles are reversed.

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. This doesn’t mean that all callback functions must take no parameters and return void. The required signature of a callback function is determined by the context in which is used (e.g. the signal to which it is connected). Use G_CALLBACK() to cast the callback function to a GCallback.

ClassFinalizeFunc

A callback function used by the type system to finalize a class. This function is rarely needed, as dynamically allocated class resources should be handled by GBaseInitFunc() and GBaseFinalizeFunc(). Also, specification of a GClassFinalizeFunc() in the GTypeInfo structure of a static type is invalid, because classes of static types will never be finalized (they are artificially kept alive when their reference count drops to zero).

ClassInitFunc

A callback function used by the type system to initialize the class of a specific type. This function should initialize all static class members.

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. This function initializes all instance members and allocates any resources required by it.

InterfaceFinalizeFunc

A callback function used by the type system to finalize an interface. This function should destroy any internal data and release any resources allocated by the corresponding GInterfaceInitFunc() function.

InterfaceInitFunc

A callback function used by the type system to initialize a new interface. This function should initialize all internal data and allocate any resources required by the 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. The signal accumulator is specified at signal creation time, if it is left NULL, no accumulation of callback return values is performed. The return value of signal emissions is then the value returned by the last callback.

SignalEmissionHook

A simple function pointer to get invoked when the signal is emitted. This allows you to tie a hook to the signal type, so that it will trap all emissions of that signal, from any object.

ToggleNotify

A callback function used for notification when the state of a toggle reference changes. See g_object_add_toggle_ref().

TypeClassCacheFunc

A callback function which is called when the reference count of a class drops to zero. It may use g_type_class_ref() to prevent the class from being freed. You should not call g_type_class_unref() from a GTypeClassCacheFunc function to prevent infinite recursion, use g_type_class_unref_uncached() instead.

TypeInterfaceCheckFunc

A callback called after an interface vtable is initialized. See g_type_add_interface_check().

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.

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. Since the object is already being finalized when the GWeakNotify is called, there’s not much you could do with the object, apart from e.g. using its address as hash-index or the like.

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. Boxed type handling functions have to be provided to copy and free opaque boxed structures of this type.

clear_object

Clears a reference to a GObject.

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()).

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.

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.

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.

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.

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.

param_type_register_static

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

G_TYPE_PARAM. The type system uses the information contained in

the GParamSpecTypeInfo structure pointed to by info to manage the GParamSpec type and its instances.

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_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).

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.

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().

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_emit_by_name

Emits a signal.

signal_emit_valist

Emits a signal.

signal_emitv

Emits a signal.

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. The criteria mask is passed as an OR-ed combination of GSignalMatchType flags, and the criteria values are passed as arguments. Passing at least one of the G_SIGNAL_MATCH_CLOSURE, G_SIGNAL_MATCH_FUNC or G_SIGNAL_MATCH_DATA match flags is required for successful matches. If no handlers were found, 0 is returned, the number of blocked handlers otherwise.

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. The criteria mask is passed as an OR-ed combination of GSignalMatchType flags, and the criteria values are passed as arguments. Passing at least one of the G_SIGNAL_MATCH_CLOSURE, G_SIGNAL_MATCH_FUNC or G_SIGNAL_MATCH_DATA match flags is required for successful matches. If no handlers were found, 0 is returned, the number of disconnected handlers otherwise.

signal_handlers_unblock_matched

Unblocks all handlers on an instance that match a certain selection criteria. The criteria mask is passed as an OR-ed combination of GSignalMatchType flags, and the criteria values are passed as arguments. Passing at least one of the G_SIGNAL_MATCH_CLOSURE, G_SIGNAL_MATCH_FUNC or G_SIGNAL_MATCH_DATA match flags is required for successful matches. If no handlers were found, 0 is returned, the number of unblocked handlers otherwise. The match criteria should not apply to any handlers that are not currently blocked.

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.

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.)

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.

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.

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.

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).

type_add_interface_dynamic

Adds interface_type to the dynamic instantiable_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 instantiable_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.

type_default_interface_ref

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

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.

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.

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).

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.

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.

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.

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 anchestry, 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. This function will fill in a user-provided structure to hold type-specific information. If an invalid GType is passed in, the type member of the GTypeQuery is 0. All members filled into the GTypeQuery structure should be considered constant and have to be left untouched.

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().

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().

type_set_qdata

Attaches arbitrary data to a type.

type_test_flags

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().

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(). See G_ADD_PRIVATE() for details, it is similar but for static types.

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).

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.

CLOSURE_N_NOTIFIERS

Get the total number of notifiers connected with the closure cl. The count includes the meta marshaller, the finalize and invalidate notifiers and the marshal guards. Note that each guard counts as two notifiers. See g_closure_set_meta_marshal(), g_closure_add_finalize_notifier(), g_closure_add_invalidate_notifier() and g_closure_add_marshal_guards().

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.

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.

DECLARE_INTERFACE

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

DEFINE_ABSTRACT_TYPE

A convenience macro for type implementations. Similar to G_DEFINE_TYPE(), but defines an abstract type. See G_DEFINE_TYPE_EXTENDED() for an example.

DEFINE_ABSTRACT_TYPE_WITH_CODE

A convenience macro for type implementations. Similar to G_DEFINE_TYPE_WITH_CODE(), but defines an abstract type and allows you to insert custom code into the *_get_type() function, e.g. interface implementations via G_IMPLEMENT_INTERFACE(). See G_DEFINE_TYPE_EXTENDED() for an example.

DEFINE_ABSTRACT_TYPE_WITH_PRIVATE

Similar to G_DEFINE_TYPE_WITH_PRIVATE(), but defines an abstract type. See G_DEFINE_TYPE_EXTENDED() for an example.

DEFINE_BOXED_TYPE

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

DEFINE_BOXED_TYPE_WITH_CODE

A convenience macro for boxed type implementations. Similar to G_DEFINE_BOXED_TYPE(), but allows to insert custom code into the type_name_get_type() function, e.g. to register value transformations with g_value_register_transform_func(), for instance:

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. Furthermore, it defines a *_get_type() and a static *_register_type() functions for use in your module_init().

DEFINE_DYNAMIC_TYPE_EXTENDED

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

DEFINE_INTERFACE

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

DEFINE_INTERFACE_WITH_CODE

A convenience macro for GTypeInterface definitions. Similar to G_DEFINE_INTERFACE(), but allows you to insert custom code into the *_get_type() function, e.g. additional interface implementations via G_IMPLEMENT_INTERFACE(), or additional prerequisite types. See G_DEFINE_TYPE_EXTENDED() for a similar example using G_DEFINE_TYPE_WITH_CODE().

DEFINE_POINTER_TYPE

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

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.

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.

DEFINE_TYPE_EXTENDED

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

DEFINE_TYPE_WITH_CODE

A convenience macro for type implementations. Similar to G_DEFINE_TYPE(), but allows you to insert custom code into the *_get_type() function, e.g. interface implementations via G_IMPLEMENT_INTERFACE(). See G_DEFINE_TYPE_EXTENDED() for an example.

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. Furthermore, it defines a *_get_type() function. See G_DEFINE_TYPE_EXTENDED() for an example.

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.

IMPLEMENT_INTERFACE_DYNAMIC

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

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.

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.

PRIVATE_FIELD_P

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

PRIVATE_OFFSET

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

set_object

Updates a GObject pointer to refer to new_object. It increments the reference count of new_object (if non-NULL), decrements the reference count of the current value of object_ptr (if non-NULL), and assigns new_object to object_ptr. The assignment is not atomic.

set_weak_pointer

Updates a pointer to weakly refer to new_object. It assigns new_object to weak_pointer_location and ensures that weak_pointer_location will automatically be set to NULL if new_object gets destroyed. The assignment is not atomic. The weak reference is not thread-safe, see g_object_add_weak_pointer() for details.

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.

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. Fundamental types are types that serve as ultimate bases for the derived types, thus they are the roots of distinct inheritance hierarchies.

TYPE_HAS_VALUE_TABLE

Checks if type has a GTypeValueTable.

TYPE_MAKE_FUNDAMENTAL

Get the type ID for the fundamental type number x. Use g_type_fundamental_next() instead of this macro to create new fundamental types.

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.

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.

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_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.