Type Alias GDBusSubtreeIntrospectFunc

Source
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),
}

Variants§

§1.0.0

None

No value.

§1.0.0

Some(unsafe extern "C" fn(*mut _GDBusConnection, *const i8, *const i8, *const i8, *mut c_void) -> *mut *mut _GDBusInterfaceInfo)

Some value of type T.