phosphor-protocol

Shared D-Bus service names, wire types, and client helpers.

The shared D-Bus surface a daemon, a compositor-side plugin such as a KWin effect, and a settings UI all talk through. The PhosphorProtocol::Service namespace centralises the canonical org.plasmazones.* service and interface names. Per-interface *Types.h headers own the QtCore-only enum and struct value vocabulary (drag, window, zone, navigation, autotile, bridge); the matching *Marshalling.h headers add the QDBusArgument operators with a HasDBusStreaming build-time guard. daemonClient() and the ClientHelpers namespace wrap the common async-call patterns so callers aren't reimplementing QDBusPendingCall watcher boilerplate.

Full API →

Key types

PhosphorProtocol::Service
Canonical org.plasmazones service name, object path, and interface-name constants.
registerWireTypes
One-shot QDBusArgument metatype registration for every wire struct; call once at startup.
daemonClient
Returns a PhosphorDBus::Client pre-bound to the org.plasmazones daemon.
ClientHelpers
Namespace of thin async / sync D-Bus call wrappers over the daemon client.

Dependencies

See also

References