### Function

# Gio DBusSubtreeDispatchFunc

since: 2.26

#### Declaration

    const GDBusInterfaceVTable*
    (* GDBusSubtreeDispatchFunc) (
      GDBusConnection* connection,
      const gchar* sender,
      const gchar* object_path,
      const gchar* interface_name,
      const gchar* node,
      gpointer* out_user_data,
      gpointer user_data
    )

#### Description

The type of the `dispatch` function in `GDBusSubtreeVTable`.

Subtrees are flat. `node`, if non-`NULL`, is always exactly one segment of the object path (ie: it never contains a slash).

Available since: 2.26

#### Parameters

`connection`

  Type: `GDBusConnection`

  A `GDBusConnection`.

  The data is owned by the caller of the function.

`sender`

  Type: `const gchar*`

  The unique bus name of the remote caller.

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

`object_path`

  Type: `const gchar*`

  The object path that was registered with g_dbus_connection_register_subtree().

  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 D-Bus interface name that the method call or property access is for.

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

`node`

  Type: `const gchar*`

  A node that is a child of `object_path` (relative to `object_path`) or `NULL` for the root of the subtree.

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

`out_user_data`

  Type: `gpointer*`

  Return location for user data to pass to functions in the returned `GDBusInterfaceVTable`.

  The data is owned by the caller of the function.

`user_data`

  Type: `gpointer`

  The `user_data` #gpointer passed to g_dbus_connection_register_subtree().

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

#### Return value

Type: `GDBusInterfaceVTable`

A `GDBusInterfaceVTable` or `NULL` if you don’t want to handle the methods.

The data is owned by the called function.
The return value can be `NULL`.