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 Details

    • getManagedObjects

      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