Phosphor
Qt6 / Wayland library suite for window-management tools
 
Loading...
Searching...
No Matches
ISurfaceStore.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 <PhosphorLayer/phosphorlayer_export.h>
7
8#include <QJsonObject>
9#include <QString>
10#include <QtGlobal>
11
12namespace PhosphorLayer {
13
31class PHOSPHORLAYER_EXPORT ISurfaceStore
32{
33public:
34 ISurfaceStore() = default;
35 virtual ~ISurfaceStore() = default;
36 Q_DISABLE_COPY_MOVE(ISurfaceStore)
37
38
40 virtual bool save(const QString& key, const QJsonObject& data) = 0;
41
45 virtual QJsonObject load(const QString& key) const = 0;
46
48 virtual bool has(const QString& key) const = 0;
49
51 virtual void remove(const QString& key) = 0;
52};
53
54} // namespace PhosphorLayer
Key-value JSON store for surface-related persistence.
Definition ISurfaceStore.h:32
virtual ~ISurfaceStore()=default
Definition SurfaceAnimator.h:26