Function

GioDBusSubtreeIntrospectFunc

since: 2.26

Declaration

GDBusInterfaceInfo**
(* GDBusSubtreeIntrospectFunc) (
  GDBusConnection* connection,
  const gchar* sender,
  const gchar* object_path,
  const gchar* node,
  gpointer user_data
)

Description

The type of the introspect 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).

This function should return NULL to indicate that there is no object at this node.

If this function returns non-NULL, the return value is expected to be a NULL-terminated array of pointers to GDBusInterfaceInfo structures describing the interfaces implemented by node. This array will have g_dbus_interface_info_unref() called on each item before being freed with g_free().

The difference between returning NULL and an array containing zero items is that the standard DBus interfaces will returned to the remote introspector in the empty array case, but not in the NULL case.

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.
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.
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: An array of GDBusInterfaceInfo*

A NULL-terminated array of pointers to GDBusInterfaceInfo, or NULL.

The array is NULL-terminated.
The caller of the function takes ownership of the data, and is responsible for freeing it.
The return value can be NULL.