pub type GDBusSubtreeIntrospectFunc = Option<unsafe extern "C" fn(connection: *mut GDBusConnection, sender: *const gchar, object_path: *const gchar, node: *const gchar, user_data: gpointer) -> *mut *mut GDBusInterfaceInfo>;
Expand description
GDBusSubtreeIntrospectFunc: @connection: A #GDBusConnection. @sender: The unique bus name of the remote caller. @object_path: The object path that was registered with g_dbus_connection_register_subtree(). @node: A node that is a child of @object_path (relative to @object_path) or %NULL for the root of the subtree. @user_data: The @user_data #gpointer passed to g_dbus_connection_register_subtree().
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.
Returns: (array zero-terminated=1) (nullable) (transfer full): A %NULL-terminated array of pointers to #GDBusInterfaceInfo, or %NULL.
Since: 2.26
Aliased Type§
enum GDBusSubtreeIntrospectFunc {
None,
Some(unsafe extern "C" fn(*mut _GDBusConnection, *const i8, *const i8, *const i8, *mut c_void) -> *mut *mut _GDBusInterfaceInfo),
}