KWin
Loading...
Searching...
No Matches
drmlease_v1.h
Go to the documentation of this file.
1/*
2 SPDX-FileCopyrightText: 2021-2022 Xaver Hugl <xaver.hugl@gmail.com>
3
4 SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
5 */
6#pragma once
7
8#include <QHash>
9#include <QObject>
10#include <map>
11#include <memory>
12
13namespace KWin
14{
15
16class DrmBackend;
17class DrmGpu;
18class DrmLeaseDeviceV1Interface;
19class DrmLeaseConnectorV1Interface;
20class Display;
21
22class DrmLeaseManagerV1 : public QObject
23{
24 Q_OBJECT
25public:
26 DrmLeaseManagerV1(DrmBackend *backend, Display *display, QObject *parent = nullptr);
28
29private:
30 void addGpu(DrmGpu *gpu);
31 void removeGpu(DrmGpu *gpu);
32 void handleOutputsQueried();
33
34 DrmBackend *const m_backend;
35 Display *const m_display;
36 QHash<DrmGpu *, DrmLeaseDeviceV1Interface *> m_leaseDevices;
37};
38}
Class holding the Wayland server display loop.
Definition display.h:34
DrmLeaseManagerV1(DrmBackend *backend, Display *display, QObject *parent=nullptr)
struct _XDisplay Display