Dependency bundle for SurfaceFactory. More...
#include <phosphor-layer/include/PhosphorLayer/SurfaceFactory.h>
Public Attributes | |
| ILayerShellTransport * | transport = nullptr |
| Required. Concrete transport implementation (e.g. PhosphorWaylandTransport). | |
| IScreenProvider * | screens = nullptr |
| Required. Source of truth for the QScreen set. | |
| IQmlEngineProvider * | engineProvider = nullptr |
| Optional. | |
| ISurfaceAnimator * | animator = nullptr |
| Optional. | |
| QString | loggingCategory |
| Logging category name for internal diagnostics. Empty → "phosphorlayer". | |
Dependency bundle for SurfaceFactory.
Deps{.transport = ...}) for forward compatibility. | ISurfaceAnimator* PhosphorLayer::SurfaceFactory::Deps::animator = nullptr |
Optional.
Nullptr → Surface uses the no-op default animator (synchronous beginShow/beginHide; identical to the pre-Phase-5 lifecycle). Non-null → Surface dispatches show/hide transitions through this animator.
Lifetime contract: when non-null, the animator MUST outlive every Surface produced by this factory AND the factory itself. The factory propagates the raw pointer into each SurfaceDeps, and Surfaces dispatch through it on every state transition (including their own destruction, which calls cancel() to drop in-flight tracking). A common owner pattern: the consumer holds the animator and the SurfaceFactory together with the animator declared first so reverse-declaration-order destruction destroys the factory (and any Surfaces it parented) before the animator. See OverlayService member ordering for an example.
| IQmlEngineProvider* PhosphorLayer::SurfaceFactory::Deps::engineProvider = nullptr |
Optional.
Nullptr → each Surface owns its own QQmlEngine (default isolation). Non-null → provider decides (e.g. return the same engine for every call to share).
| QString PhosphorLayer::SurfaceFactory::Deps::loggingCategory |
Logging category name for internal diagnostics. Empty → "phosphorlayer".
| IScreenProvider* PhosphorLayer::SurfaceFactory::Deps::screens = nullptr |
Required. Source of truth for the QScreen set.
| ILayerShellTransport* PhosphorLayer::SurfaceFactory::Deps::transport = nullptr |
Required. Concrete transport implementation (e.g. PhosphorWaylandTransport).