Function

GioDBusSubtreeIntrospectFunc

Declaration

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

Description [src]

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 GDBusConnection
 

A GDBusConnection.

 The data is owned by the caller of the function.
sender const gchar*
 

The unique bus name of the remote caller.

 The data is owned by the caller of the function.
 The string is a NUL terminated UTF-8 string.
object_path 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 string is a NUL terminated UTF-8 string.
node 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 string is a NUL terminated UTF-8 string.
user_data gpointer
 

The user_data #gpointer passed to g_dbus_connection_register_subtree().

Return value

Returns: An array of GDBusInterfaceInfo
 

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

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