### Function

# Gio DBusProxyTypeFunc

since: 2.30

#### Declaration

    GType
    (* GDBusProxyTypeFunc) (
      GDBusObjectManagerClient* manager,
      const gchar* object_path,
      const gchar* interface_name,
      gpointer data
    )

#### Description

Function signature for a function used to determine the `GType` to use for an interface proxy (if `interface_name` is not `NULL`) or object proxy (if `interface_name` is `NULL`).

This function is called in the [thread-default main loop][g-main-context-push-thread-default] that `manager` was constructed in.

Available since: 2.30

#### Parameters

`manager`

  Type: `GDBusObjectManagerClient`

  A `GDBusObjectManagerClient`.

  The data is owned by the caller of the function.

`object_path`

  Type: `const gchar*`

  The object path of the remote object.

  The data is owned by the caller of the function.
  The value is a NUL terminated UTF-8 string.

`interface_name`

  Type: `const gchar*`

  The interface name of the remote object or `NULL` if a `GDBusObjectProxy` `GType` is requested.

  The argument can be `NULL`.
  The data is owned by the caller of the function.
  The value is a NUL terminated UTF-8 string.

`data`

  Type: `gpointer`

  Data passed in by the user.

  The argument can be `NULL`.
  The data is owned by the caller of the function.

#### Return value

Type: `GType`

A `GType` to use for the remote object. The returned type must be a `GDBusProxy` or `GDBusObjectProxy` -derived type.