## GIObjectInfo GIObjectInfo — Struct representing a GObject |

## Functions

#define | GI_IS_OBJECT_INFO()
gboolean | g_object_info_get_abstract ()
gboolean | g_object_info_get_fundamental ()
GIObjectInfo * | g_object_info_get_parent ()
const gchar * | g_object_info_get_type_name ()
const gchar * | g_object_info_get_type_init ()
gint | g_object_info_get_n_constants ()
GIConstantInfo * | g_object_info_get_constant ()
gint | g_object_info_get_n_fields ()
GIFieldInfo * | g_object_info_get_field ()
gint | g_object_info_get_n_interfaces ()
GIInterfaceInfo * | g_object_info_get_interface ()
gint | g_object_info_get_n_methods ()
GIFunctionInfo * | g_object_info_get_method ()
GIFunctionInfo * | g_object_info_find_method ()
GIFunctionInfo * | g_object_info_find_method_using_interfaces ()
gint | g_object_info_get_n_properties ()
GIPropertyInfo * | g_object_info_get_property ()
gint | g_object_info_get_n_signals ()
GISignalInfo * | g_object_info_get_signal ()
GISignalInfo * | g_object_info_find_signal ()
gint | g_object_info_get_n_vfuncs ()
GIVFuncInfo * | g_object_info_get_vfunc ()
GIVFuncInfo * | g_object_info_find_vfunc ()
GIVFuncInfo * | g_object_info_find_vfunc_using_interfaces ()
GIStructInfo * | g_object_info_get_class_struct ()
const char * | g_object_info_get_ref_function ()
GIObjectInfoRefFunction | g_object_info_get_ref_function_pointer ()
const char * | g_object_info_get_unref_function ()
GIObjectInfoUnrefFunction | g_object_info_get_unref_function_pointer ()
const char * | g_object_info_get_set_value_function ()
GIObjectInfoSetValueFunction | g_object_info_get_set_value_function_pointer ()
const char * | g_object_info_get_get_value_function ()
GIObjectInfoGetValueFunction | g_object_info_get_get_value_function_pointer ()
void * | (*GIObjectInfoRefFunction) ()
void | (*GIObjectInfoUnrefFunction) ()
void | (*GIObjectInfoSetValueFunction) ()
void * | (*GIObjectInfoGetValueFunction) ()

## Types and Values

typedef | GIObjectInfo

## Description

GIObjectInfo represents a GObject. This doesn't represent a specific instance of a GObject, instead this represent the object type (eg class).

A GObject has methods, fields, properties, signals, interfaces, constants and virtual functions.

## Struct hierarchy

      GIBaseInfo
       +----GIRegisteredTypeInfo
             +----GIObjectInfo

## Functions

### GI_IS_OBJECT_INFO()

    #define             GI_IS_OBJECT_INFO(info)

Checks if `info` is a GIObjectInfo.

#### Parameters

info | an info structure |

### g_object_info_get_abstract ()

    gboolean
    g_object_info_get_abstract (GIObjectInfo *info);

Obtain if the object type is an abstract type, eg if it cannot be instantiated

#### Parameters

info | a GIObjectInfo |

#### Returns

`TRUE` if the object type is abstract

### g_object_info_get_fundamental ()

    gboolean
    g_object_info_get_fundamental (GIObjectInfo *info);

Obtain if the object type is of a fundamental type which is not G_TYPE_OBJECT. This is mostly for supporting GstMiniObject.

#### Parameters

info | a GIObjectInfo |

#### Returns

`TRUE` if the object type is a fundamental type

### g_object_info_get_parent ()

    GIObjectInfo *
    g_object_info_get_parent (GIObjectInfo *info);

Obtain the parent of the object type.

#### Parameters

info | a GIObjectInfo |

#### Returns

the GIObjectInfo. Free the struct by calling `g_base_info_unref()` when done.

[transfer full][nullable]

### g_object_info_get_type_name ()

    const gchar *
    g_object_info_get_type_name (GIObjectInfo *info);

Obtain the name of the objects class/type.

#### Parameters

info | a GIObjectInfo |

#### Returns

name of the objects type

### g_object_info_get_type_init ()

    const gchar *
    g_object_info_get_type_init (GIObjectInfo *info);

Obtain the function which when called will return the GType function for which this object type is registered.

#### Parameters

info | a GIObjectInfo |

#### Returns

the type init function

### g_object_info_get_n_constants ()

    gint
    g_object_info_get_n_constants (GIObjectInfo *info);

Obtain the number of constants that this object type has.

#### Parameters

info | a GIObjectInfo |

#### Returns

number of constants

### g_object_info_get_constant ()

    GIConstantInfo *
    g_object_info_get_constant (GIObjectInfo *info,
                                gint n);

Obtain an object type constant at index `n` .

#### Parameters

info | a GIObjectInfo |
n | index of constant to get |

#### Returns

the GIConstantInfo. Free the struct by calling `g_base_info_unref()` when done.

[transfer full]

### g_object_info_get_n_fields ()

    gint
    g_object_info_get_n_fields (GIObjectInfo *info);

Obtain the number of fields that this object type has.

#### Parameters

info | a GIObjectInfo |

#### Returns

number of fields

### g_object_info_get_field ()

    GIFieldInfo *
    g_object_info_get_field (GIObjectInfo *info,
                             gint n);

Obtain an object type field at index `n` .

#### Parameters

info | a GIObjectInfo |
n | index of field to get |

#### Returns

the GIFieldInfo. Free the struct by calling `g_base_info_unref()` when done.

[transfer full]

### g_object_info_get_n_interfaces ()

    gint
    g_object_info_get_n_interfaces (GIObjectInfo *info);

Obtain the number of interfaces that this object type has.

#### Parameters

info | a GIObjectInfo |

#### Returns

number of interfaces

### g_object_info_get_interface ()

    GIInterfaceInfo *
    g_object_info_get_interface (GIObjectInfo *info,
                                 gint n);

Obtain an object type interface at index `n` .

#### Parameters

info | a GIObjectInfo |
n | index of interface to get |

#### Returns

the GIInterfaceInfo. Free the struct by calling `g_base_info_unref()` when done.

[transfer full]

### g_object_info_get_n_methods ()

    gint
    g_object_info_get_n_methods (GIObjectInfo *info);

Obtain the number of methods that this object type has.

#### Parameters

info | a GIObjectInfo |

#### Returns

number of methods

### g_object_info_get_method ()

    GIFunctionInfo *
    g_object_info_get_method (GIObjectInfo *info,
                              gint n);

Obtain an object type method at index `n` .

#### Parameters

info | a GIObjectInfo |
n | index of method to get |

#### Returns

the GIFunctionInfo. Free the struct by calling `g_base_info_unref()` when done.

[transfer full]

### g_object_info_find_method ()

    GIFunctionInfo *
    g_object_info_find_method (GIObjectInfo *info,
                               const gchar *name);

Obtain a method of the object type given a `name` . `NULL` will be returned if there's no method available with that name.

#### Parameters

info | a GIObjectInfo |
name | name of method to obtain |

#### Returns

the GIFunctionInfo. Free the struct by calling `g_base_info_unref()` when done.

[transfer full][nullable]

### g_object_info_find_method_using_interfaces ()

    GIFunctionInfo *
    g_object_info_find_method_using_interfaces
                                   (GIObjectInfo *info,
                                    const gchar *name,
                                    GIObjectInfo **implementor);

Obtain a method of the object given a `name` , searching both the object `info` and any interfaces it implements. `NULL` will be returned if there's no method available with that name.

Note that this function does *not* search parent classes; you will have to chain up if that's desired.

#### Parameters

info | a GIObjectInfo |
name | name of method to obtain |
implementor | The implementor of the interface. | [out][transfer full]

#### Returns

the GIFunctionInfo. Free the struct by calling `g_base_info_unref()` when done.

[transfer full][nullable]

### g_object_info_get_n_properties ()

    gint
    g_object_info_get_n_properties (GIObjectInfo *info);

Obtain the number of properties that this object type has.

#### Parameters

info | a GIObjectInfo |

#### Returns

number of properties

### g_object_info_get_property ()

    GIPropertyInfo *
    g_object_info_get_property (GIObjectInfo *info,
                                gint n);

Obtain an object type property at index `n` .

#### Parameters

info | a GIObjectInfo |
n | index of property to get |

#### Returns

the GIPropertyInfo. Free the struct by calling `g_base_info_unref()` when done.

[transfer full]

### g_object_info_get_n_signals ()

    gint
    g_object_info_get_n_signals (GIObjectInfo *info);

Obtain the number of signals that this object type has.

#### Parameters

info | a GIObjectInfo |

#### Returns

number of signals

### g_object_info_get_signal ()

    GISignalInfo *
    g_object_info_get_signal (GIObjectInfo *info,
                              gint n);

Obtain an object type signal at index `n` .

#### Parameters

info | a GIObjectInfo |
n | index of signal to get |

#### Returns

the GISignalInfo. Free the struct by calling `g_base_info_unref()` when done.

[transfer full]

### g_object_info_find_signal ()

    GISignalInfo *
    g_object_info_find_signal (GIObjectInfo *info,
                               const gchar *name);

TODO

#### Parameters

info | a GIObjectInfo |
name | Name of signal |

#### Returns

Info for the signal with name `name` in `info` , or `NULL` on failure.

[transfer full][nullable]

### g_object_info_get_n_vfuncs ()

    gint
    g_object_info_get_n_vfuncs (GIObjectInfo *info);

Obtain the number of virtual functions that this object type has.

#### Parameters

info | a GIObjectInfo |

#### Returns

number of virtual functions

### g_object_info_get_vfunc ()

    GIVFuncInfo *
    g_object_info_get_vfunc (GIObjectInfo *info,
                             gint n);

Obtain an object type virtual function at index `n` .

#### Parameters

info | a GIObjectInfo |
n | index of virtual function to get |

#### Returns

the GIVFuncInfo. Free the struct by calling `g_base_info_unref()` when done.

[transfer full]

### g_object_info_find_vfunc ()

    GIVFuncInfo *
    g_object_info_find_vfunc (GIObjectInfo *info,
                              const gchar *name);

Locate a virtual function slot with name `name` . Note that the namespace for virtuals is distinct from that of methods; there may or may not be a concrete method associated for a virtual. If there is one, it may be retrieved using `g_vfunc_info_get_invoker()`, otherwise `NULL` will be returned. See the documentation for `g_vfunc_info_get_invoker()` for more information on invoking virtuals.

#### Parameters

info | a GIObjectInfo |
name | The name of a virtual function to find. |

#### Returns

the GIVFuncInfo, or `NULL`. Free it with `g_base_info_unref()` when done.

[transfer full][nullable]

### g_object_info_find_vfunc_using_interfaces ()

    GIVFuncInfo *
    g_object_info_find_vfunc_using_interfaces
                                   (GIObjectInfo *info,
                                    const gchar *name,
                                    GIObjectInfo **implementor);

Locate a virtual function slot with name `name` , searching both the object `info` and any interfaces it implements. Note that the namespace for virtuals is distinct from that of methods; there may or may not be a concrete method associated for a virtual. If there is one, it may be retrieved using `g_vfunc_info_get_invoker()`, otherwise `NULL` will be returned.

Note that this function does *not* search parent classes; you will have to chain up if that's desired.

#### Parameters

info | a GIObjectInfo |
name | name of vfunc to obtain |
implementor | The implementor of the interface. | [out][transfer full]

#### Returns

the GIVFuncInfo. Free the struct by calling `g_base_info_unref()` when done.

[transfer full][nullable]

### g_object_info_get_class_struct ()

    GIStructInfo *
    g_object_info_get_class_struct (GIObjectInfo *info);

Every GObject has two structures; an instance structure and a class structure. This function returns the metadata for the class structure.

#### Parameters

info | a GIObjectInfo |

#### Returns

the GIStructInfo or `NULL`. Free with `g_base_info_unref()` when done.

[transfer full][nullable]

### g_object_info_get_ref_function ()

    const char *
    g_object_info_get_ref_function (GIObjectInfo *info);

Obtain the symbol name of the function that should be called to ref this object type. It's mainly used fundamental types. The type signature for the symbol is `GIObjectInfoRefFunction`, to fetch the function pointer see `g_object_info_get_ref_function()`.

#### Parameters

info | a GIObjectInfo |

#### Returns

the symbol or `NULL`.

[nullable]

### g_object_info_get_ref_function_pointer ()

    GIObjectInfoRefFunction
    g_object_info_get_ref_function_pointer
                                   (GIObjectInfo *info);

Obtain a pointer to a function which can be used to increase the reference count an instance of this object type. This takes derivation into account and will reversely traverse the base classes of this type, starting at the top type.

[skip]

#### Parameters

info | a GIObjectInfo |

#### Returns

the function pointer or `NULL`.

[nullable]

### g_object_info_get_unref_function ()

    const char *
    g_object_info_get_unref_function (GIObjectInfo *info);

Obtain the symbol name of the function that should be called to unref this object type. It's mainly used fundamental types. The type signature for the symbol is `GIObjectInfoUnrefFunction`, to fetch the function pointer see `g_object_info_get_unref_function()`.

#### Parameters

info | a GIObjectInfo |

#### Returns

the symbol or `NULL`.

[nullable]

### g_object_info_get_unref_function_pointer ()

    GIObjectInfoUnrefFunction
    g_object_info_get_unref_function_pointer
                                   (GIObjectInfo *info);

Obtain a pointer to a function which can be used to decrease the reference count an instance of this object type. This takes derivation into account and will reversely traverse the base classes of this type, starting at the top type.

[skip]

#### Parameters

info | a GIObjectInfo |

#### Returns

the function pointer or `NULL`.

[nullable]

### g_object_info_get_set_value_function ()

    const char *
    g_object_info_get_set_value_function (GIObjectInfo *info);

Obtain the symbol name of the function that should be called to convert set a GValue giving an object instance pointer of this object type. I's mainly used fundamental types. The type signature for the symbol is `GIObjectInfoSetValueFunction`, to fetch the function pointer see `g_object_info_get_set_value_function()`.

#### Parameters

info | a GIObjectInfo |

#### Returns

the symbol or `NULL`.

[nullable]

### g_object_info_get_set_value_function_pointer ()

    GIObjectInfoSetValueFunction
    g_object_info_get_set_value_function_pointer
                                   (GIObjectInfo *info);

Obtain a pointer to a function which can be used to set a GValue given an instance of this object type. This takes derivation into account and will reversely traverse the base classes of this type, starting at the top type.

[skip]

#### Parameters

info | a GIObjectInfo |

#### Returns

the function pointer or `NULL`.

[nullable]

### g_object_info_get_get_value_function ()

    const char *
    g_object_info_get_get_value_function (GIObjectInfo *info);

Obtain the symbol name of the function that should be called to convert an object instance pointer of this object type to a GValue. I's mainly used fundamental types. The type signature for the symbol is `GIObjectInfoGetValueFunction`, to fetch the function pointer see `g_object_info_get_get_value_function()`.

#### Parameters

info | a GIObjectInfo |

#### Returns

the symbol or `NULL`.

[nullable]

### g_object_info_get_get_value_function_pointer ()

    GIObjectInfoGetValueFunction
    g_object_info_get_get_value_function_pointer
                                   (GIObjectInfo *info);

Obtain a pointer to a function which can be used to extract an instance of this object type out of a GValue. This takes derivation into account and will reversely traverse the base classes of this type, starting at the top type.

[skip]

#### Parameters

info | a GIObjectInfo |

#### Returns

the function pointer or `NULL`.

[nullable]

### GIObjectInfoRefFunction ()

    void *
    (*GIObjectInfoRefFunction) (void *object);

Increases the reference count of an object instance.

[skip]

#### Parameters

object | object instance pointer |

#### Returns

the object instance.

[transfer full]

### GIObjectInfoUnrefFunction ()

    void
    (*GIObjectInfoUnrefFunction) (void *object);

Decreases the reference count of an object instance.

[skip]

#### Parameters

object | object instance pointer |

### GIObjectInfoSetValueFunction ()

    void
    (*GIObjectInfoSetValueFunction) (GValue *value,
                                     void *object);

Update `value` and attach the object instance pointer `object` to it.

[skip]

#### Parameters

value | a GValue |
object | object instance pointer |

### GIObjectInfoGetValueFunction ()

    void *
    (*GIObjectInfoGetValueFunction) (const GValue *value);

Extract an object instance out of `value`

[skip]

#### Parameters

value | a GValue |

#### Returns

the object instance.

[transfer full]

## Types and Values

### GIObjectInfo

    typedef GIBaseInfo GIObjectInfo;

Represents an object.