KWin
Loading...
Searching...
No Matches
src
wayland
filtered_display.cpp
Go to the documentation of this file.
1
/*
2
SPDX-FileCopyrightText: 2017 David Edmundson <davidedmundson@kde.org>
3
4
SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
5
*/
6
7
#include "
filtered_display.h
"
8
#include "
display.h
"
9
10
#include <wayland-server.h>
11
12
#include <QByteArray>
13
14
namespace
KWin
15
{
16
class
FilteredDisplayPrivate
17
{
18
public
:
19
FilteredDisplayPrivate
(
FilteredDisplay
*_q);
20
FilteredDisplay
*
q
;
21
static
bool
globalFilterCallback
(
const
wl_client *client,
const
wl_global *global,
void
*data)
22
{
23
auto
t =
static_cast<
FilteredDisplayPrivate
*
>
(data);
24
auto
clientConnection = t->
q
->
getConnection
(
const_cast<
wl_client *
>
(client));
25
auto
interface
= wl_global_get_interface(global);
26
auto
name = QByteArray::fromRawData(interface->name, strlen(interface->name));
27
return
t->q->allowInterface(clientConnection, name);
28
};
29
};
30
31
FilteredDisplayPrivate::FilteredDisplayPrivate
(
FilteredDisplay
*_q)
32
:
q
(_q)
33
{
34
}
35
36
FilteredDisplay::FilteredDisplay
(QObject *parent)
37
:
Display
(parent)
38
, d(new
FilteredDisplayPrivate
(this))
39
{
40
connect(
this
, &Display::runningChanged, [
this
](
bool
running
) {
41
if
(!
running
) {
42
return
;
43
}
44
wl_display_set_global_filter(*
this
,
FilteredDisplayPrivate::globalFilterCallback
, d.get());
45
});
46
}
47
48
FilteredDisplay::~FilteredDisplay
()
49
{
50
}
51
52
}
53
54
#include "moc_filtered_display.cpp"
KWin::Display
Class holding the Wayland server display loop.
Definition
display.h:34
KWin::Display::running
bool running
Definition
display.h:36
KWin::Display::getConnection
ClientConnection * getConnection(wl_client *client)
Definition
display.cpp:200
KWin::FilteredDisplay
Definition
filtered_display.h:21
KWin::FilteredDisplay::FilteredDisplay
FilteredDisplay(QObject *parent)
Definition
filtered_display.cpp:36
KWin::FilteredDisplay::~FilteredDisplay
~FilteredDisplay() override
Definition
filtered_display.cpp:48
KWin::FilteredDisplayPrivate
Definition
filtered_display.cpp:17
KWin::FilteredDisplayPrivate::q
FilteredDisplay * q
Definition
filtered_display.cpp:20
KWin::FilteredDisplayPrivate::globalFilterCallback
static bool globalFilterCallback(const wl_client *client, const wl_global *global, void *data)
Definition
filtered_display.cpp:21
KWin::FilteredDisplayPrivate::FilteredDisplayPrivate
FilteredDisplayPrivate(FilteredDisplay *_q)
Definition
filtered_display.cpp:31
display.h
filtered_display.h
KWin
Definition
activation_test.cpp:20
Generated on Sat Feb 17 2024 01:42:10 for KWin by
1.10.0