KWin
Loading...
Searching...
No Matches
display_p.h
Go to the documentation of this file.
1/*
2 SPDX-FileCopyrightText: 2014 Martin Gräßlin <mgraesslin@kde.org>
3 SPDX-FileCopyrightText: 2018 David Edmundson <davidedmundson@kde.org>
4
5 SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
6*/
7
8#pragma once
9
10#include <wayland-server-core.h>
11
13#include <QList>
14#include <QSocketNotifier>
15#include <QString>
16
17struct wl_resource;
18
19namespace KWin
20{
21class ClientConnection;
22class Display;
23class OutputInterface;
24class OutputDeviceV2Interface;
25class SeatInterface;
26
28{
29public:
32
33 void registerSocketName(const QString &socketName);
34
36 QSocketNotifier *socketNotifier = nullptr;
37 wl_display *display = nullptr;
38 wl_event_loop *loop = nullptr;
39 bool running = false;
40 QList<OutputInterface *> outputs;
41 QList<OutputDeviceV2Interface *> outputdevicesV2;
42 QList<SeatInterface *> seats;
43 QList<ClientConnection *> clients;
44 QStringList socketNames;
45};
46
53class SecurityContext : public QObject
54{
55 Q_OBJECT
56public:
57 SecurityContext(Display *display, FileDescriptor &&listenFd, FileDescriptor &&closeFd, const QString &appId);
58 ~SecurityContext() override;
59
60private:
61 void onCloseFdActivated();
62 void onListenFdActivated(QSocketDescriptor descriptor);
63 Display *m_display;
64 FileDescriptor m_listenFd;
65 FileDescriptor m_closeFd;
66 QString m_appId;
67};
68
69} // namespace KWin
Class holding the Wayland server display loop.
Definition display.h:34
QList< SeatInterface * > seats
Definition display_p.h:42
QStringList socketNames
Definition display_p.h:44
static DisplayPrivate * get(Display *display)
Definition display.cpp:26
QList< ClientConnection * > clients
Definition display_p.h:43
QList< OutputDeviceV2Interface * > outputdevicesV2
Definition display_p.h:41
wl_event_loop * loop
Definition display_p.h:38
QList< OutputInterface * > outputs
Definition display_p.h:40
DisplayPrivate(Display *q)
Definition display.cpp:31
QSocketNotifier * socketNotifier
Definition display_p.h:36
void registerSocketName(const QString &socketName)
Definition display.cpp:36
wl_display * display
Definition display_p.h:37
The SecurityContext is a helper for the SecurityContextProtocol It stays alive whilst closeFd remains...
Definition display_p.h:54
~SecurityContext() override
Definition display.cpp:271
SecurityContext(Display *display, FileDescriptor &&listenFd, FileDescriptor &&closeFd, const QString &appId)
Definition display.cpp:250
struct _XDisplay Display