Phosphor
Qt6 / Wayland library suite for window-management tools
 
Loading...
Searching...
No Matches
ILayoutSourceFactory.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 <phosphorlayoutapi_export.h>
7
8#include <QString>
9
10#include <memory>
11
12namespace PhosphorLayout {
13
14class ILayoutSource;
15
36class PHOSPHORLAYOUTAPI_EXPORT ILayoutSourceFactory
37{
38public:
40
44 virtual QString name() const = 0;
45
47 virtual std::unique_ptr<ILayoutSource> create() = 0;
48};
49
50} // namespace PhosphorLayout
Abstract factory for an ILayoutSource implementation.
Definition ILayoutSourceFactory.h:37
virtual std::unique_ptr< ILayoutSource > create()=0
Build a fresh source instance. Caller takes ownership.
virtual QString name() const =0
Stable identifier for diagnostics / logging.
Definition AlgorithmMetadata.h:10