Skip to content
  • Thomas Haller's avatar
    core/dbus: rework D-Bus implementation to use lower layer GDBusConnection API · 297d4985
    Thomas Haller authored
    Previously, we used the generated GDBusInterfaceSkeleton types and glued
    them via the NMExportedObject base class to our NM types. We also used
    GDBusObjectManagerServer.
    
    Don't do that anymore. The resulting code was more complicated despite (or
    because?) using generated classes. It was hard to understand, complex, had
    ordering-issues, and had a runtime and memory overhead.
    
    This patch refactors this entirely and uses the lower layer API GDBusConnection
    directly. It replaces the generated code, GDBusInterfaceSkeleton, and
    GDBusObjectManagerServer. All this is now done by NMDbusObject and NMDBusManager
    and static descriptor instances of type GDBusInterfaceInfo.
    
    This adds a net plus of more then 1300 lines of hand written code. I claim
    that this implementation is easier to understand. Note that previously we
    also required extensive and complex glue code to bind our objects to the
    generated skeleton objects. Instead, now glue our ...
    297d4985