sd_bus_add_object_manager — Add a D-Bus object manager for a D-Bus object sub-tree
|const char *path|
sd_bus_add_object_manager() installs a handler for the given path
that implements the
GetManagedObjects() method of the
org.freedesktop.DBus.ObjectManager interface. See
org.freedesktop.DBus.ObjectManager for more information.
To implement the
InterfacesRemoved signals of the
org.freedesktop.DBus.ObjectManager interface, call
whenever interfaces are added or removed from the sub-tree, respectively.
sd_bus_add_object_manager() succeeds, a slot is created
internally. If the output parameter
a "floating" slot object is created, see
Otherwise, a pointer to the slot object is returned. In that case, the reference to the slot
object should be dropped when the object manager is not needed anymore, see
sd_bus_add_object_manager() returns a non-negative
integer. On failure, it returns a negative errno-style error code.
Returned errors may indicate the following problems:
One of the required parameters is
path is not a valid object path.
The bus cannot be resolved.
The bus was created in a different process, library or module instance.
Memory allocation failed.
Functions described here are available as a shared
library, which can be compiled against and linked to with the
The code described here uses
which is declared to be not multi-thread-safe. This means that the code calling the functions described
here must not call
from a parallel thread. It is recommended to only do calls to
from an early phase of the program when no other threads have been started.
sd_bus_add_object_manager() was added in version 246.