Package com.lucimber.dbus.standard
Interface ObjectManager
public interface ObjectManager
The org.freedesktop.DBus.ObjectManager interface provides a standardized way to
enumerate all objects below a certain path in the object hierarchy, along with their interfaces
and properties.
The ObjectManager interface is particularly useful for:
- Service discovery and enumeration
- Dynamic object tree exploration
- Efficient bulk queries of object hierarchies
- Monitoring object lifecycle through signals
This interface works in conjunction with the standard Introspectable and Properties interfaces to provide comprehensive object discovery capabilities.
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptionGets all managed objects below this object path.
-
Method Details
-
getManagedObjects
DBusDict<DBusObjectPath,DBusDict<DBusString, getManagedObjects()DBusDict<DBusString, DBusVariant>>> Gets all managed objects below this object path.Returns a dictionary where:
- Keys are object paths of managed objects
- Values are dictionaries of interfaces implemented by each object
- Interface dictionaries contain property names and their values
Example return structure:
{ "/org/example/Object1": { "org.example.Interface1": { "Property1": <variant:string:"value1">, "Property2": <variant:int32:42> }, "org.example.Interface2": { "PropertyA": <variant:boolean:true> } }, "/org/example/Object2": { "org.example.Interface1": { "Property1": <variant:string:"value2"> } } }
This method provides a snapshot of the entire managed object tree at the time of the call. For monitoring changes, use the InterfacesAdded and InterfacesRemoved signals.
- Returns:
- A nested dictionary structure containing all managed objects, their interfaces, and properties
-