## GIRegisteredTypeInfo

GIRegisteredTypeInfo — Struct representing a struct with a GType

## Synopsis

    #define             GI_IS_REGISTERED_TYPE_INFO          (info)
    typedef             GIRegisteredTypeInfo;
    const gchar *           g_registered_type_info_get_type_name
                                                            (GIRegisteredTypeInfo *info);
    const gchar *           g_registered_type_info_get_type_init
                                                            (GIRegisteredTypeInfo *info);
    GType               g_registered_type_info_get_g_type   (GIRegisteredTypeInfo *info);

## Description

GIRegisteredTypeInfo represents an entity with a GType associated. Could be either a GIEnumInfo, GIInterfaceInfo, GIObjectInfo, GIStructInfo or a GIUnionInfo.

A registered type info struct has a name and a type function. To get the name call `g_registered_type_info_get_type_name()`. Most users want to call `g_registered_type_info_get_g_type()` and don't worry about the rest of the details.

## Struct hierarchy

      GIBaseInfo
       +----GIRegisteredTypeInfo
             +----GIEnumInfo
             +----GIInterfaceInfo
             +----GIObjectInfo
             +----GIStructInfo
             +----GIUnionInfo

## Details

### GI_IS_REGISTERED_TYPE_INFO()

    #define             GI_IS_REGISTERED_TYPE_INFO(info)

### GIRegisteredTypeInfo

    typedef GIBaseInfo GIRegisteredTypeInfo;

Represent a registered type.

### g_registered_type_info_get_type_name ()

    const gchar *           g_registered_type_info_get_type_name
                                                            (GIRegisteredTypeInfo *info);

Obtain the type name of the struct within the GObject type system. This type can be passed to `g_type_name()` to get a GType.

`info` : | a GIRegisteredTypeInfo
Returns : | the type name

### g_registered_type_info_get_type_init ()

    const gchar *           g_registered_type_info_get_type_init
                                                            (GIRegisteredTypeInfo *info);

Obtain the type init function for `info`. The type init function is the function which will register the GType within the GObject type system. Usually this is not called by langauge bindings or applications, use `g_registered_type_info_get_g_type()` directly instead.

`info` : | a GIRegisteredTypeInfo
Returns : | the symbol name of the type init function, suitable for passing into `g_module_symbol()`.

### g_registered_type_info_get_g_type ()

    GType               g_registered_type_info_get_g_type   (GIRegisteredTypeInfo *info);

Obtain the GType for this registered type or G_TYPE_NONE which a special meaning. It means that either there is no type information associated with this `info` or that the shared library which provides the type_init function for this `info` cannot be called.

`info` : | a GIRegisteredTypeInfo
Returns : | the GType.