Phosphor
Qt6 / Wayland library suite for window-management tools
 
Loading...
Searching...
No Matches
ZonesLayoutSourceFactory.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: 2026 fuddlesworth
2// SPDX-License-Identifier: LGPL-2.1-or-later
3
4#pragma once
5
6#include <phosphorzones_export.h>
7
9
10namespace PhosphorZones {
11
12class IZoneLayoutRegistry;
13
28PHOSPHORZONES_EXPORT void ensureZonesLayoutSourceProviderLinked();
29
38{
39public:
46
47 QString name() const override;
48 std::unique_ptr<PhosphorLayout::ILayoutSource> create() override;
49
50private:
51 IZoneLayoutRegistry* m_registry;
52};
53
54} // namespace PhosphorZones
Abstract factory for an ILayoutSource implementation.
Definition ILayoutSourceFactory.h:37
Enumeration + mutation surface for the in-memory zone-layout catalog.
Definition IZoneLayoutRegistry.h:43
Factory for ZonesLayoutSource.
Definition ZonesLayoutSourceFactory.h:38
ZonesLayoutSourceFactory(IZoneLayoutRegistry *registry)
registry is the zone-layout registry the produced source borrows.
QString name() const override
Stable identifier for diagnostics / logging.
std::unique_ptr< PhosphorLayout::ILayoutSource > create() override
Build a fresh source instance. Caller takes ownership.
Definition IWindowTrackingService.h:22
PHOSPHORZONES_EXPORT void ensureZonesLayoutSourceProviderLinked()
Anchor symbol that forces the translation unit owning the static LayoutSourceProviderRegistrar for th...