image/svg+xml Application Process 1 DBusConnectionInstance C/C++/Python/etc.Object Instance Locate Objectvia Object Path Bindings Marshalto Method Call Marshal MethodCall to Message Bindings ProxyObject Instance Application Code IncomingCall OutgoingCall Bus Daemon Process Application Process 2 Same Stuff as inProcess 1 (Object Instance Has1 or More Interfaces) Socket(Bidirectional Message Stream) Socket(Bidirectional Message Stream) DBusConnectionInstance DBusConnectionInstance DBusConnectionInstance Message Dispatcher if (message is signal) broadcastelse find destination named by message Destination Table Connection 1Connection 2"The Session Manager""The Window Manager""The Screensaver""The Text Editor""The Hardware Directory""The Address Book""The Dictionary"