KWin
Loading...
Searching...
No Matches
main.cpp
Go to the documentation of this file.
1/*
2 SPDX-FileCopyrightText: 2020 Vlad Zahorodnii <vlad.zahorodnii@kde.org>
3
4 SPDX-License-Identifier: LGPL-2.0-or-later
5*/
6
7#include "main.h"
8#include "screencastmanager.h"
9
10#include <KPluginFactory>
11
12using namespace KWin;
13
14class KWIN_EXPORT ScreencastManagerFactory : public PluginFactory
15{
16 Q_OBJECT
17 Q_PLUGIN_METADATA(IID PluginFactory_iid FILE "metadata.json")
18 Q_INTERFACES(KWin::PluginFactory)
19
20public:
21 explicit ScreencastManagerFactory() = default;
22
23 std::unique_ptr<Plugin> create() const override;
24};
25
26std::unique_ptr<Plugin> ScreencastManagerFactory::create() const
27{
28 switch (kwinApp()->operationMode()) {
30 return nullptr;
33 return std::make_unique<ScreencastManager>();
34 default:
35 return nullptr;
36 }
37}
38
39#include "main.moc"
@ OperationModeXwayland
KWin uses Wayland and controls a nested Xwayland server.
Definition main.h:95
@ OperationModeX11
KWin uses only X11 for managing windows and compositing.
Definition main.h:87
@ OperationModeWaylandOnly
KWin uses only Wayland.
Definition main.h:91
virtual std::unique_ptr< Plugin > create() const =0
std::unique_ptr< Plugin > create() const override
Definition main.cpp:26
ScreencastManagerFactory()=default
#define PluginFactory_iid
Definition plugin.h:18