/* SPDX-FileCopyrightText: 2020 Vlad Zahorodnii SPDX-License-Identifier: LGPL-2.0-or-later */ #include "screencastmanager.h" #include "main.h" #include using namespace KWin; class KWIN_EXPORT ScreencastManagerFactory : public PluginFactory { Q_OBJECT Q_PLUGIN_METADATA(IID PluginFactory_iid FILE "metadata.json") Q_INTERFACES(KWin::PluginFactory) public: explicit ScreencastManagerFactory(QObject *parent = nullptr); Plugin *create() const override; }; ScreencastManagerFactory::ScreencastManagerFactory(QObject *parent) : PluginFactory(parent) { } Plugin *ScreencastManagerFactory::create() const { switch (kwinApp()->operationMode()) { case Application::OperationModeX11: return nullptr; case Application::OperationModeXwayland: case Application::OperationModeWaylandOnly: return new ScreencastManager(); default: return nullptr; } } K_EXPORT_PLUGIN_VERSION(KWIN_PLUGIN_API_VERSION) #include "main.moc"