### Method

# GIRepository Repository get_object_gtype_interfaces

since: 2.80

#### Declaration [src]

    void
    gi_repository_get_object_gtype_interfaces (
      GIRepository* repository,
      GType gtype,
      size_t* n_interfaces_out,
      GIInterfaceInfo*** interfaces_out
    )

#### Description [src]

Look up the implemented interfaces for `gtype`.

This function cannot fail per se; but for a totally ‘unknown’ `GType`, it may return 0 implemented interfaces.

The semantics of this function are designed for a dynamic binding, where in certain cases (such as a function which returns an interface which may have ‘hidden’ implementation classes), not all data may be statically known, and will have to be determined from the `GType` of the object. An example is `g_file_new_for_path()` returning a concrete class of `GLocalFile`, which is a `GType` we see at runtime, but not statically.

Available since: 2.80

#### Parameters

`gtype`

  Type: `GType`

  A `GType` whose fundamental type is `G_TYPE_OBJECT`.

`n_interfaces_out`

  Type: `size_t*`

  Number of interfaces.

  The argument will be set by the function.

`interfaces_out`

  Type: An array of `GIInterfaceInfo**`

  Interfaces for `gtype`.

  The argument will be set by the function.
  The length of the array is specified in the `n_interfaces_out` argument.
  The returned data is owned by the instance.