## GIInterfaceInfo GIInterfaceInfo — Struct representing a GInterface |

## Functions

#define | GI_IS_INTERFACE_INFO()
gint | g_interface_info_get_n_prerequisites ()
GIBaseInfo * | g_interface_info_get_prerequisite ()
gint | g_interface_info_get_n_properties ()
GIPropertyInfo * | g_interface_info_get_property ()
gint | g_interface_info_get_n_methods ()
GIFunctionInfo * | g_interface_info_get_method ()
GIFunctionInfo * | g_interface_info_find_method ()
gint | g_interface_info_get_n_signals ()
GISignalInfo * | g_interface_info_get_signal ()
GISignalInfo * | g_interface_info_find_signal ()
gint | g_interface_info_get_n_vfuncs ()
GIVFuncInfo * | g_interface_info_get_vfunc ()
GIVFuncInfo * | g_interface_info_find_vfunc ()
gint | g_interface_info_get_n_constants ()
GIConstantInfo * | g_interface_info_get_constant ()
GIStructInfo * | g_interface_info_get_iface_struct ()

## Types and Values

typedef | GIInterfaceInfo

## Description

GIInterfaceInfo represents a GInterface type.

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

## Struct hierarchy

      GIBaseInfo
       +----GIRegisteredTypeInfo
             +----GIInterfaceInfo

## Functions

### GI_IS_INTERFACE_INFO()

    #define             GI_IS_INTERFACE_INFO(info)

Checks if `info` is a GIInterfaceInfo.

#### Parameters

info | an info structure |

### g_interface_info_get_n_prerequisites ()

    gint
    g_interface_info_get_n_prerequisites (GIInterfaceInfo *info);

Obtain the number of prerequisites for this interface type. A prerequisites is another interface that needs to be implemented for interface, similar to an base class for GObjects.

#### Parameters

info | a GIInterfaceInfo |

#### Returns

number of prerequisites

### g_interface_info_get_prerequisite ()

    GIBaseInfo *
    g_interface_info_get_prerequisite (GIInterfaceInfo *info,
                                       gint n);

Obtain an interface type prerequisites index `n` .

#### Parameters

info | a GIInterfaceInfo |
n | index of prerequisites to get |

#### Returns

the prerequisites as a GIBaseInfo. Free the struct by calling `g_base_info_unref()` when done.

[transfer full]

### g_interface_info_get_n_properties ()

    gint
    g_interface_info_get_n_properties (GIInterfaceInfo *info);

Obtain the number of properties that this interface type has.

#### Parameters

info | a GIInterfaceInfo |

#### Returns

number of properties

### g_interface_info_get_property ()

    GIPropertyInfo *
    g_interface_info_get_property (GIInterfaceInfo *info,
                                   gint n);

Obtain an interface type property at index `n` .

#### Parameters

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

#### Returns

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

[transfer full]

### g_interface_info_get_n_methods ()

    gint
    g_interface_info_get_n_methods (GIInterfaceInfo *info);

Obtain the number of methods that this interface type has.

#### Parameters

info | a GIInterfaceInfo |

#### Returns

number of methods

### g_interface_info_get_method ()

    GIFunctionInfo *
    g_interface_info_get_method (GIInterfaceInfo *info,
                                 gint n);

Obtain an interface type method at index `n` .

#### Parameters

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

#### Returns

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

[transfer full]

### g_interface_info_find_method ()

    GIFunctionInfo *
    g_interface_info_find_method (GIInterfaceInfo *info,
                                  const gchar *name);

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

#### Parameters

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

#### Returns

the GIFunctionInfo or `NULL` if none found. Free the struct by calling `g_base_info_unref()` when done.

[transfer full]

### g_interface_info_get_n_signals ()

    gint
    g_interface_info_get_n_signals (GIInterfaceInfo *info);

Obtain the number of signals that this interface type has.

#### Parameters

info | a GIInterfaceInfo |

#### Returns

number of signals

### g_interface_info_get_signal ()

    GISignalInfo *
    g_interface_info_get_signal (GIInterfaceInfo *info,
                                 gint n);

Obtain an interface type signal at index `n` .

#### Parameters

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

#### Returns

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

[transfer full]

### g_interface_info_find_signal ()

    GISignalInfo *
    g_interface_info_find_signal (GIInterfaceInfo *info,
                                  const gchar *name);

TODO

#### Parameters

info | a GIInterfaceInfo |
name | Name of signal |

#### Returns

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

[transfer full]

Since: 1.34

### g_interface_info_get_n_vfuncs ()

    gint
    g_interface_info_get_n_vfuncs (GIInterfaceInfo *info);

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

#### Parameters

info | a GIInterfaceInfo |

#### Returns

number of virtual functions

### g_interface_info_get_vfunc ()

    GIVFuncInfo *
    g_interface_info_get_vfunc (GIInterfaceInfo *info,
                                gint n);

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

#### Parameters

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

#### Returns

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

[transfer full]

### g_interface_info_find_vfunc ()

    GIVFuncInfo *
    g_interface_info_find_vfunc (GIInterfaceInfo *info,
                                 const gchar *name);

Locate a virtual function slot with name `name` . See the documentation for `g_object_info_find_vfunc()` for more information on virtuals.

#### Parameters

info | a GIInterfaceInfo |
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]

### g_interface_info_get_n_constants ()

    gint
    g_interface_info_get_n_constants (GIInterfaceInfo *info);

Obtain the number of constants that this interface type has.

#### Parameters

info | a GIInterfaceInfo |

#### Returns

number of constants

### g_interface_info_get_constant ()

    GIConstantInfo *
    g_interface_info_get_constant (GIInterfaceInfo *info,
                                   gint n);

Obtain an interface type constant at index `n` .

#### Parameters

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

#### Returns

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

[transfer full]

### g_interface_info_get_iface_struct ()

    GIStructInfo *
    g_interface_info_get_iface_struct (GIInterfaceInfo *info);

Returns the layout C structure associated with this GInterface.

#### Parameters

info | a GIInterfaceInfo |

#### Returns

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

[transfer full]

## Types and Values

### GIInterfaceInfo

Represents an interface.