### Class

# GIRepository TypeInfo

since: 2.80

#### Description [src]

    final class GIRepository.TypeInfo : GObject.TypeInstance
    {
      /* No available fields */
    }

`GITypeInfo` represents a type, including information about direction and transfer.

You can retrieve a type info from an argument (see `GIArgInfo`), a function’s return value (see `GIFunctionInfo`), a field (see `GIFieldInfo`), a property (see `GIPropertyInfo`), a constant (see `GIConstantInfo`) or for a union discriminator (see `GIUnionInfo`).

A type can either be a of a basic type which is a standard C primitive type or an interface type. For interface types you need to call `gi_type_info_get_interface()` to get a reference to the base info for that interface.

Available since: 2.80

#### Hierarchy

#### Ancestors

- GIBaseInfo

#### Instance methods

###### gi_type_info_argument_from_hash_pointer

Convert a data pointer from a GLib data structure to a `GIArgument`.

since: 2.80

###### gi_type_info_get_array_fixed_size

Obtain the fixed array size of the type, in number of elements (not bytes).

since: 2.80

###### gi_type_info_get_array_length_index

Obtain the position of the argument which gives the array length of the type.

since: 2.80

###### gi_type_info_get_array_type

Obtain the array type for this type.

since: 2.80

###### gi_type_info_get_interface

For types which have `GI_TYPE_TAG_INTERFACE` such as `GObject`s and boxed values, this function returns full information about the referenced type.

since: 2.80

###### gi_type_info_get_param_type

Obtain the parameter type `n`, or `NULL` if the type is not an array.

since: 2.80

###### gi_type_info_get_storage_type

Obtain the type tag corresponding to the underlying storage type in C for the type.

since: 2.80

###### gi_type_info_get_tag

Obtain the type tag for the type.

since: 2.80

###### gi_type_info_hash_pointer_from_argument

Convert a `GIArgument` to data pointer for use in a GLib data structure.

since: 2.80

###### gi_type_info_is_pointer

Obtain if the type is passed as a reference.

since: 2.80

###### gi_type_info_is_zero_terminated

Obtain if the last element of the array is `NULL`.

since: 2.80

##### Methods inherited from GIBaseInfo (11)

###### gi_base_info_clear

Clears memory allocated internally by a stack-allocated `GIBaseInfo`.

since: 2.80

###### gi_base_info_equal

Compare two `GIBaseInfo`s.

since: 2.80

###### gi_base_info_get_attribute

Retrieve an arbitrary attribute associated with this node.

since: 2.80

###### gi_base_info_get_container

Obtain the container of the `info`.

since: 2.80

###### gi_base_info_get_name

Obtain the name of the `info`.

since: 2.80

###### gi_base_info_get_namespace

Obtain the namespace of `info`.

since: 2.80

###### gi_base_info_get_typelib

Obtain the typelib this `info` belongs to.

since: 2.80

###### gi_base_info_is_deprecated

Obtain whether the `info` is represents a metadata which is deprecated.

since: 2.80

###### gi_base_info_iterate_attributes

Iterate over all attributes associated with this node.

since: 2.80

###### gi_base_info_ref

Increases the reference count of `info`.

since: 2.80

###### gi_base_info_unref

Decreases the reference count of `info`. When its reference count drops to 0, the info is freed.

since: 2.80